Function at 0x491d40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x5273d7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x17c
push ebx
push ebp
mov dword [esp + 0x40], ecx
push esi
push edi
lea ecx, [esp + 0x1c]
call fcn.004f5840
xor ebx, ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x194], ebx
call fcn.004f5840
lea ecx, [esp + 0x24]
mov byte [esp + 0x194], 1
call fcn.004f5840
mov dword [esp + 0xa4], 0x530160
mov word [esp + 0xa8], 0xffff
mov word [esp + 0xaa], bx
mov byte [esp + 0x194], 3
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x54c284
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa1d0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x54c27c
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x54c274
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x54c26c
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x54c264
call fcn.004f58e0
mov ecx, dword [0x5540a8]
call fcn.004fa410
mov ecx, dword [0x5540a8]
lea eax, [esp + 0xa4]
push eax
call fcn.004fa550
cmp ax, 0xffff
je 0x49335c
movsx eax, word [esp + 0xa8]
cmp eax, 3
ja case.default.0x491e78
jmp dword [eax*4 + 0x4933b8]
lea ecx, [esp + 0x4c]
call fcn.004f8480
mov cl, byte [esp + 0x13]
sub esp, 0x10
mov edx, esp
mov edi, str.zzzz
xor eax, eax
mov dword [esp + 0x38], esp
mov byte [edx], cl
or ecx, 0xffffffff
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
mov byte [esp + 0x1a4], 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.zzzz
mov ecx, edx
call fcn.00401510
sub esp, 0x10
lea edx, [esp + 0xaf]
mov ecx, esp
mov dword [esp + 0xb0], esp
push edx
push str.0000
mov byte [esp + 0x1bc], 5
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0xd0]
mov ecx, esp
mov dword [esp + 0xb8], esp
push eax
push 0x548e80
mov byte [esp + 0x1cc], 6
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0x6f]
mov ecx, esp
mov dword [esp + 0xd8], esp
push edx
push 0x554048
mov byte [esp + 0x1dc], 7
call fcn.00401030
push ecx
mov byte [esp + 0x1d8], 8
mov ecx, esp
mov dword [esp + 0x5c], esp
push 6
push 0x54c254
call fcn.004f58e0
push ecx
mov byte [esp + 0x1dc], 9
mov ecx, esp
mov dword [esp + 0x5c], esp
push 6
push 0x54c24c
call fcn.004f58e0
lea eax, [esp + 0x184]
mov ecx, 0x5540a8
push eax
mov byte [esp + 0x1e0], 4
call fcn.004f9710
mov edx, dword [0x530168]
mov cx, word [eax]
push edx
add eax, 4
mov word [esp + 0x50], cx
push ebx
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1a0], 0xa
call fcn.004011e0
mov eax, dword [esp + 0x144]
mov byte [esp + 0x194], 4
cmp eax, ebx
je 0x491fd7
mov cl, byte [eax - 1]
dec eax
cmp cl, bl
je 0x491fce
cmp cl, 0xff
je 0x491fce
dec cl
mov byte [eax], cl
jmp 0x491fd7
push eax
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x4c]
mov dword [esp + 0x144], ebx
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], ebx
call fcn.004f86d0
cmp ax, 2
jne 0x492039
mov eax, dword [esp + 0x54]
mov byte [esp + 0x194], 3
cmp eax, ebx
je 0x492028
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x49201f
cmp al, 0xff
je 0x49201f
dec al
mov byte [ecx], al
jmp 0x492028
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
jmp case.default.0x491e78
lea eax, [esp + 0xec]
lea ecx, [esp + 0x4c]
push eax
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0xf0]
cmp edx, 4
setne byte [esp + 0x13]
cmp eax, ebx
je 0x49207d
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x492074
cmp al, 0xff
je 0x492074
dec al
mov byte [ecx], al
jmp 0x49207d
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0xf0], ebx
cmp al, bl
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
push ebx
je 0x4920cb
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0xb
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c244
jmp 0x49230a
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0xc
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c23c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x1a4], 4
call fcn.004f91a0
push 0xa
push 0x549f80
lea ecx, [esp + 0x24]
call fcn.004f5de0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push ebx
call fcn.004f5870
lea ecx, [esp + 0x24]
call fcn.004f5b70
push 6
push 0x549f78
lea ecx, [esp + 0x2c]
call fcn.004f5de0
mov byte [esp + 0x13], bl
xor esi, esi
lea ecx, [esp + 0x12c]
push ecx
lea ecx, [esp + 0x50]
call fcn.004f86e0
mov eax, dword [eax + 4]
mov byte [esp + 0x194], 0xd
cmp eax, ebx
jne 0x49216d
mov eax, 0x530164
mov dl, byte [esi + eax]
lea ecx, [esp + 0x1c]
movzx ax, byte [esp + 0x13]
add eax, 5
push edx
push eax
call fcn.004f5c80
mov eax, dword [esp + 0x130]
mov byte [esp + 0x194], 4
cmp eax, ebx
je 0x4921b4
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4921ab
cmp al, 0xff
je 0x4921ab
dec al
mov byte [ecx], al
jmp 0x4921b4
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0x130], ebx
inc al
inc esi
cmp al, 4
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], ebx
mov byte [esp + 0x13], al
jb 0x492148
mov esi, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.004d3100
lea edx, [esp + 0x24]
mov ecx, esi
push edx
call fcn.004d3100
push 1
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.004f5850
lea ecx, [esp + 0x28]
lea edx, [esp + 0x24]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x1a8], 0xe
call fcn.004f5850
mov ecx, esi
mov byte [esp + 0x1a4], 4
call fcn.0049d480
cmp al, bl
jne 0x4922de
lea ecx, [esp + 0x20]
call fcn.004f5d00
cmp ax, 7
jl 0x4922b0
push 3
lea ecx, [esp + 0x24]
call fcn.004f5b60
cmp al, 0x7f
jne 0x4922b0
push 4
lea ecx, [esp + 0x24]
call fcn.004f5b60
mov dl, al
push 3
lea ecx, [esp + 0x20]
mov byte [esp + 0x17], dl
call fcn.004f5b60
mov cl, byte [esp + 0x13]
cmp cl, al
jne 0x4922b0
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0xf
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c234
jmp 0x49230a
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x10
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x5493d0
jmp 0x49230a
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x11
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c22c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x1a4], 4
call fcn.004f91a0
mov eax, dword [esp + 0x54]
mov byte [esp + 0x194], 3
cmp eax, ebx
je 0x492028
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x49201f
cmp al, 0xff
je 0x49201f
dec al
mov byte [ecx], al
jmp 0x492028
lea ecx, [esp + 0x74]
call fcn.004f8480
mov al, byte [esp + 0x2f]
sub esp, 0x10
mov edx, esp
mov edi, str.zzzzzzzzzzzzzzzzz
or ecx, 0xffffffff
mov dword [esp + 0x24], esp
mov byte [edx], al
xor eax, eax
mov dword [edx + 4], ebx
mov dword [edx + 8], ebx
mov dword [edx + 0xc], ebx
mov byte [esp + 0x1a4], 0x12
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.zzzzzzzzzzzzzzzzz
mov ecx, edx
call fcn.00401510
sub esp, 0x10
lea edx, [esp + 0xc1]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
push str.00000000000000000
mov byte [esp + 0x1bc], 0x13
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0xd3]
mov ecx, esp
mov dword [esp + 0xc8], esp
push eax
push 0x548e80
mov byte [esp + 0x1cc], 0x14
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0x6e]
mov ecx, esp
mov dword [esp + 0xc8], esp
push edx
push 0x554048
mov byte [esp + 0x1dc], 0x15
call fcn.00401030
push ecx
mov byte [esp + 0x1d8], 0x16
mov ecx, esp
mov dword [esp + 0xd4], esp
push 6
push 0x54c224
call fcn.004f58e0
push ecx
mov byte [esp + 0x1dc], 0x17
mov ecx, esp
mov dword [esp + 0x70], esp
push 6
push 0x54c21c
call fcn.004f58e0
lea eax, [esp + 0x1ac]
mov ecx, 0x5540a8
push eax
mov byte [esp + 0x1e0], 0x12
call fcn.004f9710
mov edx, dword [0x530168]
mov cx, word [eax]
push edx
add eax, 4
mov word [esp + 0x78], cx
push ebx
push eax
lea ecx, [esp + 0x84]
mov byte [esp + 0x1a0], 0x18
call fcn.004011e0
mov eax, dword [esp + 0x16c]
mov byte [esp + 0x194], 0x12
cmp eax, ebx
je 0x4924af
mov cl, byte [eax - 1]
dec eax
cmp cl, bl
je 0x4924a6
cmp cl, 0xff
je 0x4924a6
dec cl
mov byte [eax], cl
jmp 0x4924af
push eax
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x74]
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], ebx
call fcn.004f86d0
cmp ax, 2
jne 0x492517
mov eax, dword [esp + 0x7c]
mov byte [esp + 0x194], 3
cmp eax, ebx
je 0x492500
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4924f7
cmp al, 0xff
je 0x4924f7
dec al
mov byte [ecx], al
jmp 0x492500
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
jmp case.default.0x491e78
lea eax, [esp + 0xbc]
lea ecx, [esp + 0x74]
push eax
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0xc0]
cmp edx, 0x11
setne byte [esp + 0x13]
cmp eax, ebx
je 0x49255b
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x492552
cmp al, 0xff
je 0x492552
dec al
mov byte [ecx], al
jmp 0x49255b
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0xc0], ebx
cmp al, bl
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
push ebx
je 0x4925a9
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x19
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c244
jmp 0x4927d2
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x1a
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c23c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x1a4], 0x12
call fcn.004f91a0
push 0x17
push 0x548e60
lea ecx, [esp + 0x24]
call fcn.004f5de0
mov byte [esp + 0x13], bl
xor esi, esi
lea ecx, [esp + 0xcc]
push ecx
lea ecx, [esp + 0x78]
call fcn.004f86e0
mov eax, dword [eax + 4]
mov byte [esp + 0x194], 0x1b
cmp eax, ebx
jne 0x492625
mov eax, 0x530164
mov dl, byte [esi + eax]
lea ecx, [esp + 0x1c]
movzx ax, byte [esp + 0x13]
add eax, 5
push edx
push eax
call fcn.004f5c80
mov eax, dword [esp + 0xd0]
mov byte [esp + 0x194], 0x12
cmp eax, ebx
je 0x49266c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x492663
cmp al, 0xff
je 0x492663
dec al
mov byte [ecx], al
jmp 0x49266c
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0xd0], ebx
inc al
inc esi
cmp al, 0x11
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
mov byte [esp + 0x13], al
jb 0x492600
push 6
push 0x548e58
lea ecx, [esp + 0x2c]
call fcn.004f5de0
mov esi, dword [esp + 0x48]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.004d3100
lea edx, [esp + 0x24]
mov ecx, esi
push edx
call fcn.004d3100
push 1
push ecx
lea eax, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.004f5850
lea ecx, [esp + 0x28]
lea edx, [esp + 0x24]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x1a8], 0x1c
call fcn.004f5850
mov ecx, esi
mov byte [esp + 0x1a4], 0x12
call fcn.0049d480
cmp al, bl
jne 0x4927a6
lea ecx, [esp + 0x20]
call fcn.004f5d00
cmp ax, 7
jl 0x492778
push 3
lea ecx, [esp + 0x24]
call fcn.004f5b60
cmp al, 0x7f
jne 0x492778
push 4
lea ecx, [esp + 0x24]
call fcn.004f5b60
mov dl, al
push 3
lea ecx, [esp + 0x20]
mov byte [esp + 0x17], dl
call fcn.004f5b60
mov cl, byte [esp + 0x13]
cmp cl, al
jne 0x492778
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x1d
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c234
jmp 0x4927d2
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x1e
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x5493d0
jmp 0x4927d2
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x1f
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c22c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x1a4], 0x12
call fcn.004f91a0
mov eax, dword [esp + 0x7c]
mov byte [esp + 0x194], 3
cmp eax, ebx
je 0x492500
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4924f7
cmp al, 0xff
je 0x4924f7
dec al
mov byte [ecx], al
jmp 0x492500
lea ecx, [esp + 0x60]
call fcn.004f8480
mov dl, byte [esp + 0x2e]
sub esp, 0x10
mov ebp, esp
mov edi, str.zzzzzzzzzz
or ecx, 0xffffffff
xor eax, eax
mov byte [ebp], dl
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
repne scasb al, byte es:[edi]
not ecx
mov dword [esp + 0x24], esp
dec ecx
push 1
mov dword [esp + 0x3c], ecx
push ecx
mov ecx, ebp
mov byte [esp + 0x1ac], 0x20
call fcn.004016f0
test al, al
je 0x49288b
mov eax, dword [esp + 0x38]
mov edi, dword [ebp + 4]
mov ecx, eax
mov esi, str.zzzzzzzzzz
mov edx, ecx
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
call fcn.004016d0
sub esp, 0x10
lea eax, [esp + 0xc2]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
push str.0000000000
mov byte [esp + 0x1bc], 0x21
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0xcf]
mov ecx, esp
mov dword [esp + 0xc8], esp
push edx
push 0x548e80
mov byte [esp + 0x1cc], 0x22
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0x6d]
mov ecx, esp
mov dword [esp + 0xc8], esp
push eax
push 0x554048
mov byte [esp + 0x1dc], 0x23
call fcn.00401030
push ecx
mov byte [esp + 0x1d8], 0x24
mov ecx, esp
mov dword [esp + 0xd4], esp
push 6
push 0x54c214
call fcn.004f58e0
push ecx
mov byte [esp + 0x1dc], 0x25
mov ecx, esp
mov dword [esp + 0x70], esp
push 6
push 0x54c20c
call fcn.004f58e0
lea ecx, [esp + 0x198]
mov byte [esp + 0x1dc], 0x20
push ecx
mov ecx, 0x5540a8
call fcn.004f9710
mov ecx, dword [0x530168]
mov dx, word [eax]
push ecx
add eax, 4
push ebx
push eax
lea ecx, [esp + 0x70]
mov byte [esp + 0x1a0], 0x26
mov word [esp + 0x6c], dx
call fcn.004011e0
mov eax, dword [esp + 0x158]
mov byte [esp + 0x194], 0x20
cmp eax, ebx
je 0x49299e
mov cl, byte [eax - 1]
dec eax
cmp cl, bl
je 0x492995
cmp cl, 0xff
je 0x492995
dec cl
mov byte [eax], cl
jmp 0x49299e
push eax
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x60]
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], ebx
mov dword [esp + 0x160], ebx
call fcn.004f86d0
cmp ax, 2
jne 0x492a00
mov eax, dword [esp + 0x68]
mov byte [esp + 0x194], 3
cmp eax, ebx
je 0x4929ef
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4929e6
cmp al, 0xff
je 0x4929e6
dec al
mov byte [ecx], al
jmp 0x4929ef
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
jmp case.default.0x491e78
lea edx, [esp + 0xac]
lea ecx, [esp + 0x60]
push edx
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0xb0]
cmp edx, 0xa
setne byte [esp + 0x13]
cmp eax, ebx
je 0x492a44
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x492a3b
cmp al, 0xff
je 0x492a3b
dec al
mov byte [ecx], al
jmp 0x492a44
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0xb0], ebx
cmp al, bl
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
push ebx
je 0x492a92
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x27
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c244
jmp 0x492cbb
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x28
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c23c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x1a4], 0x20
call fcn.004f91a0
push 0x10
push 0x548e24
lea ecx, [esp + 0x24]
call fcn.004f5de0
mov byte [esp + 0x13], bl
xor esi, esi
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x60]
push eax
call fcn.004f86e0
mov eax, dword [eax + 4]
mov byte [esp + 0x194], 0x29
cmp eax, ebx
jne 0x492b0e
mov eax, 0x530164
movzx dx, byte [esp + 0x13]
mov cl, byte [esi + eax]
add edx, 5
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.004f5c80
mov eax, dword [esp + 0x120]
mov byte [esp + 0x194], 0x20
cmp eax, ebx
je 0x492b55
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x492b4c
cmp al, 0xff
je 0x492b4c
dec al
mov byte [ecx], al
jmp 0x492b55
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0x120], ebx
inc al
inc esi
cmp al, 0xa
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov byte [esp + 0x13], al
jb 0x492ae9
push 6
push 0x548e1c
lea ecx, [esp + 0x2c]
call fcn.004f5de0
mov esi, dword [esp + 0x48]
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
call fcn.004d3100
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.004d3100
push 1
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x28]
lea edx, [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x1a8], 0x2a
call fcn.004f5850
mov ecx, esi
mov byte [esp + 0x1a4], 0x20
call fcn.0049d480
cmp al, bl
jne 0x492c8f
lea ecx, [esp + 0x20]
call fcn.004f5d00
cmp ax, 7
jl 0x492c61
push 3
lea ecx, [esp + 0x24]
call fcn.004f5b60
cmp al, 0x7f
jne 0x492c61
push 4
lea ecx, [esp + 0x24]
call fcn.004f5b60
mov dl, al
push 3
lea ecx, [esp + 0x20]
mov byte [esp + 0x17], dl
call fcn.004f5b60
mov cl, byte [esp + 0x13]
cmp cl, al
jne 0x492c61
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x2b
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c234
jmp 0x492cbb
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x2c
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x5493d0
jmp 0x492cbb
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x2d
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c22c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x1a4], 0x20
call fcn.004f91a0
mov eax, dword [esp + 0x68]
mov byte [esp + 0x194], 3
cmp eax, ebx
je 0x4929ef
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4929e6
cmp al, 0xff
je 0x4929e6
dec al
mov byte [ecx], al
jmp 0x4929ef
lea ecx, [esp + 0x30]
call fcn.004f8480
mov dl, byte [esp + 0x2d]
sub esp, 0x10
mov ebp, esp
mov edi, str.99999999
or ecx, 0xffffffff
xor eax, eax
mov byte [ebp], dl
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
repne scasb al, byte es:[edi]
not ecx
mov dword [esp + 0x24], esp
dec ecx
push 1
mov dword [esp + 0x3c], ecx
push ecx
mov ecx, ebp
mov byte [esp + 0x1ac], 0x2e
call fcn.004016f0
test al, al
je 0x492d77
mov eax, dword [esp + 0x38]
mov edi, dword [ebp + 4]
mov ecx, eax
mov esi, str.99999999
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 8], eax
mov ebp, dword [ebp + 4]
add ebp, eax
mov byte [ebp], bl
sub esp, 0x10
lea eax, [esp + 0xb7]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
push str.00000000
mov byte [esp + 0x1bc], 0x2f
call fcn.00401030
sub esp, 0x10
lea edx, [esp + 0xbd]
mov ecx, esp
mov dword [esp + 0xc8], esp
push edx
push 0x548324
mov byte [esp + 0x1cc], 0x30
call fcn.00401030
sub esp, 0x10
lea eax, [esp + 0xce]
mov ecx, esp
mov dword [esp + 0xc8], esp
push eax
push 0x554048
mov byte [esp + 0x1dc], 0x31
call fcn.00401030
push ecx
mov byte [esp + 0x1d8], 0x32
mov ecx, esp
mov dword [esp + 0xd4], esp
push 6
push 0x54c204
call fcn.004f58e0
push ecx
mov byte [esp + 0x1dc], 0x33
mov ecx, esp
mov dword [esp + 0x70], esp
push 6
push 0x54c1fc
call fcn.004f58e0
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x1dc], 0x2e
push ecx
mov ecx, 0x5540a8
call fcn.004f9710
mov dx, word [eax]
mov ecx, dword [0x530168]
lea esi, [eax + 4]
mov word [esp + 0x30], dx
mov byte [esp + 0x194], 0x34
mov eax, dword [esi + 8]
mov ebp, eax
cmp ecx, ebp
jae 0x492e5d
mov ebp, ecx
lea edx, [esp + 0x34]
cmp edx, esi
jne 0x492e80
push ecx
push ebp
lea ecx, [esp + 0x3c]
call fcn.004015b0
push ebx
push ebx
lea ecx, [esp + 0x3c]
call fcn.004015b0
jmp 0x492f2d
cmp ebp, ebx
jbe 0x492ef3
cmp ebp, eax
jne 0x492ef3
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x492e94
mov eax, 0x530164
cmp byte [eax - 1], 0xfe
jae 0x492ef3
mov eax, dword [esp + 0x38]
cmp eax, ebx
je 0x492ebf
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x492eb6
cmp al, 0xff
je 0x492eb6
dec al
mov byte [ecx], al
jmp 0x492ebf
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x492ed7
mov eax, 0x530164
mov dword [esp + 0x38], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x3c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x40], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x492f2d
push 1
push ebp
lea ecx, [esp + 0x3c]
call fcn.004016f0
test al, al
je 0x492f2d
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x492f0f
mov esi, 0x530164
mov edi, dword [esp + 0x38]
mov ecx, ebp
mov eax, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x38]
call fcn.004016d0
mov eax, dword [esp + 0x180]
mov byte [esp + 0x194], 0x2e
cmp eax, ebx
je 0x492f5d
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x492f54
cmp al, 0xff
je 0x492f54
dec al
mov byte [ecx], al
jmp 0x492f5d
push ecx
call fcn.00514140
add esp, 4
lea ecx, [esp + 0x30]
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], ebx
call fcn.004f86d0
cmp ax, 2
jne 0x492fbf
mov eax, dword [esp + 0x38]
mov byte [esp + 0x194], 3
cmp eax, ebx
je 0x492fae
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x492fa5
cmp al, 0xff
je 0x492fa5
dec al
mov byte [ecx], al
jmp 0x492fae
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
jmp case.default.0x491e78
lea ecx, [esp + 0xdc]
push ecx
lea ecx, [esp + 0x34]
call fcn.004f86e0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0xe0]
cmp edx, 8
setne byte [esp + 0x13]
cmp eax, ebx
je 0x493003
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x492ffa
cmp al, 0xff
je 0x492ffa
dec al
mov byte [ecx], al
jmp 0x493003
push ecx
call fcn.00514140
add esp, 4
mov al, byte [esp + 0x13]
mov dword [esp + 0xe0], ebx
cmp al, bl
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
push ebx
je 0x493051
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x35
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c244
jmp 0x493312
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x36
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c23c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x1a4], 0x2e
call fcn.004f91a0
push 0xa
push 0x548df0
lea ecx, [esp + 0x24]
call fcn.004f5de0
mov dl, byte [0x554048]
mov edi, dword [esp + 0x48]
mov byte [esp + 0x44], dl
mov word [esp + 0x45], bx
mov byte [esp + 0x13], bl
xor esi, esi
lea eax, [esp + 0x10c]
lea ecx, [esp + 0x30]
push eax
call fcn.004f86e0
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x4930d8
mov eax, 0x530164
movsx ecx, byte [esi + eax]
push ecx
lea edx, [esp + 0x48]
push 0x5482ac
push edx
call fcn.0051497a
mov eax, dword [esp + 0x11c]
add esp, 0xc
cmp eax, ebx
je 0x493117
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x49310e
cmp al, 0xff
je 0x49310e
dec al
mov byte [ecx], al
jmp 0x493117
push ecx
call fcn.00514140
add esp, 4
lea eax, [esp + 0xfc]
lea ecx, [esp + 0x30]
push eax
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
call fcn.004f86e0
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x493149
mov eax, 0x530164
movsx ecx, byte [esi + eax + 1]
push ecx
lea edx, [esp + 0x49]
push 0x5482ac
push edx
call fcn.0051497a
mov eax, dword [esp + 0x10c]
add esp, 0xc
cmp eax, ebx
je 0x493189
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x493180
cmp al, 0xff
je 0x493180
dec al
mov byte [ecx], al
jmp 0x493189
push ecx
call fcn.00514140
add esp, 4
lea eax, [esp + 0x44]
mov ecx, edi
push eax
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
call fcn.00491a40
mov cl, byte [esp + 0x13]
xor dx, dx
shr cl, 1
mov dl, cl
push eax
add edx, 5
lea ecx, [esp + 0x20]
push edx
call fcn.004f5c80
mov al, byte [esp + 0x13]
add esi, 2
add al, 2
cmp al, 8
mov byte [esp + 0x13], al
jb 0x4930bb
push 6
push 0x548de8
lea ecx, [esp + 0x2c]
call fcn.004f5de0
lea eax, [esp + 0x1c]
mov ecx, edi
push eax
call fcn.004d3100
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
call fcn.004d3100
push 1
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.004f5850
lea eax, [esp + 0x28]
lea edx, [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x1a8], 0x37
call fcn.004f5850
mov ecx, edi
mov byte [esp + 0x1a4], 0x2e
call fcn.0049d480
cmp al, bl
jne 0x4932e6
lea ecx, [esp + 0x20]
call fcn.004f5d00
cmp ax, 7
jl 0x4932b8
push 3
lea ecx, [esp + 0x24]
call fcn.004f5b60
cmp al, 0x7f
jne 0x4932b8
push 4
lea ecx, [esp + 0x24]
call fcn.004f5b60
mov dl, al
push 3
lea ecx, [esp + 0x20]
mov byte [esp + 0x17], dl
call fcn.004f5b60
mov cl, byte [esp + 0x13]
cmp cl, al
jne 0x4932b8
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x38
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c234
jmp 0x493312
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x39
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x5493d0
jmp 0x493312
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x1a4], 0x3a
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x54c22c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x1a4], 0x2e
call fcn.004f91a0
mov eax, dword [esp + 0x38]
mov byte [esp + 0x194], 3
cmp eax, ebx
je 0x492fae
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x492fa5
cmp al, 0xff
je 0x492fa5
dec al
mov byte [ecx], al
jmp 0x492fae
lea ecx, [esp + 0x24]
mov dword [esp + 0xa4], 0x530160
mov byte [esp + 0x194], 1
call fcn.004f5980
lea ecx, [esp + 0x20]
mov byte [esp + 0x194], bl
call fcn.004f5980
lea ecx, [esp + 0x1c]
mov dword [esp + 0x194], 0xffffffff
call fcn.004f5980
mov ecx, dword [esp + 0x18c]
pop edi
pop esi
pop ebp
xor ax, ax
mov dword fs:[0], ecx
pop ebx
add esp, 0x188
ret