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

Disassembly:
mov ecx, dword [0x7da588]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x70]
cmp eax, dword [ecx + 8]
jbe 0x55725d
sub esp, 0xf0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
lea edx, str.___shSM:_01_v_s__M____n_t__________n__s____Pn___n__ni____n__t__nsusms00__________0b0o.1___:...___q__80_:__n25__LlLtLuMnCcCfCoCsLmLoMcMeNdNlNoPcPdPePfPiPoPsScSkSmSoZlZpZsYiip53___A4V1V6V2V3V5A3.dD_sSwWE:__iid0x0X
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.004d7510
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test al, al
je 0x555f17
mov dword [esp + 0x2c], edx
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x94], ebx
test eax, eax
jne 0x555c0e
xor ebp, ebp
jmp 0x555c42
mov dword [esp], ebx
mov dword [esp + 4], eax
lea ecx, [0x6208bc]
mov dword [esp + 8], ecx
call fcn.004d6410
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x94]
mov ebp, eax
mov eax, dword [esp + 0x44]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x555efa
test edx, edx
jne 0x555c54
xor ebp, ebp
jmp 0x555c88
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x6208bc]
mov dword [esp + 8], eax
call fcn.004d6410
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x94]
mov ebp, eax
mov eax, dword [esp + 0x44]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x555efa
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004d5e60
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x555cc2
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x555cd0
jmp 0x557244
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x555d34
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x68], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0xbc], esi
mov dword [esp + 0x64], ebp
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046c780
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
nop
nop
test eax, eax
je 0x555d96
lea ecx, [esp + 0x98]
cmp eax, ecx
je 0x555da4
jmp 0x55722c
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
inc ecx
mov edx, dword [esp + 0x9c]
cmp eax, ecx
jae 0x555dfa
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ecx
mov byte [ecx + edx - 1], 0x2f
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.004d5e60
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x555e3e
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x555e4c
jmp 0x557214
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x555eb0
mov dword [esp + 0x34], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x68], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xbc], esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], eax
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046c780
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
jmp 0x556044
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xf8]
test eax, eax
je 0x5560bf
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x6208bc]
mov dword [esp + 8], edx
call fcn.004d6410
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x5560bf
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
call fcn.004d5e60
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x555f8d
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x555f9b
jmp 0x5571fc
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [edx + ebx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x555fff
mov dword [esp + 0x68], ebx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x3c], edx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046c780
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x556053
mov ecx, dword [eax]
jmp 0x556055
xor ecx, ecx
mov dword [esp + 0x50], ecx
lea eax, [0x5dd3e0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.0044ffa0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb8], eax
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.0046c084
lea eax, [0x5df100]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
lea edx, [esp + 0xc0]
mov dword [esp + 8], edx
call fcn.0040edd0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xb8]
xor edx, edx
jmp 0x5560fc
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov dword [esi], ebp
lea eax, [esp + 0xc0]
mov dword [esp], eax
call fcn.0040efc0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xc0]
test ebx, ebx
je 0x556191
inc edx
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp eax, edx
jae 0x556159
mov dword [esp + 0x58], ebx
mov dword [esp + 0xb0], ebp
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5dd3e0]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
lea esi, [ecx + edx*8 - 4]
mov dword [esi], ebx
mov ebx, dword [0x7da640]
lea esi, [ecx + edx*8 - 8]
test ebx, ebx
je 0x5560dc
call fcn.0046be80
mov dword [edi], ebp
mov ebx, dword [esi]
mov dword [edi + 4], ebx
jmp 0x5560dc
mov dword [esp + 0x4c], edx
mov dword [esp + 0xb4], ecx
lea ebx, [0x658930]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.004970c0
xor eax, eax
jmp 0x5561c1
mov ecx, dword [esp + 0x68]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jge 0x556835
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0xb4]
lea edx, [ecx + eax*8]
mov ebx, dword [edx + 4]
mov dword [esp + 0x54], ebx
mov edx, dword [edx]
mov dword [esp + 0xac], edx
lea ebp, [0x5df100]
mov dword [esp], ebp
mov esi, dword [esp + 0xfc]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00411210
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x98]
mov edx, dword [eax + 4]
mov eax, dword [eax]
nop
nop
test ecx, ecx
je 0x556232
lea ebx, [esp + 0x98]
cmp ecx, ebx
je 0x556240
jmp 0x5571e4
lea ecx, [esp + 0x98]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp ecx, ebx
jae 0x5562a6
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x3b
mov ecx, dword [esp + 0x98]
nop
nop
test ecx, ecx
je 0x5562cf
lea ebx, [esp + 0x98]
cmp ecx, ebx
je 0x5562dd
jmp 0x5571cc
lea ecx, [esp + 0x98]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp ecx, ebx
jae 0x55633b
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x20
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x556818
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x6208bc]
mov dword [esp + 8], edx
call fcn.004d6410
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x556818
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.004d5e60
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x5563b7
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x5563c5
jmp 0x5571b4
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x556429
mov dword [esp + 0x84], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x64], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046c780
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
xor edx, edx
jmp 0x556870
cmp edx, eax
jge 0x55651f
mov ebx, dword [esp + 0x98]
nop
nop
test ebx, ebx
je 0x5564a3
lea ebp, [esp + 0x98]
cmp ebx, ebp
je 0x5564b1
jmp 0x55719c
lea ebx, [esp + 0x98]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
inc ebp
mov esi, dword [esp + 0x9c]
cmp ebx, ebp
jae 0x556513
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], esi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov dword [esp + 0xa0], ebp
mov byte [ebp + esi - 1], 0x2a
mov ebx, dword [esp + 0x98]
nop
nop
test ebx, ebx
je 0x55653c
lea ebp, [esp + 0x98]
cmp ebx, ebp
je 0x55654a
jmp 0x557184
lea ebx, [esp + 0x98]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
inc ebp
mov esi, dword [esp + 0x9c]
cmp ebx, ebp
jb 0x556568
cmp edx, eax
jmp 0x5565b4
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], esi
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
mov eax, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xa0], ebp
mov byte [ebp + esi - 1], 0x3d
jge 0x556677
mov edx, dword [esp + 0x98]
nop
test edx, edx
je 0x5565e2
lea ebx, [esp + 0x98]
cmp edx, ebx
je 0x5565f0
jmp 0x55716c
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa0]
lea ebx, [edx + 7]
mov ebp, dword [esp + 0xa4]
mov esi, dword [esp + 0x9c]
cmp ebp, ebx
jae 0x55664a
mov dword [esp + 0x64], edx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 7
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov dword [esi + edx], 0x2d667475
mov dword [esi + edx + 3], 0x2727382d
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x9c], esi
xor edx, edx
xor ebx, ebx
jmp 0x556c79
test eax, eax
jne 0x55667f
xor edx, edx
jmp 0x5566a8
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x6208bc]
mov dword [esp + 8], edx
call fcn.004d6410
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x6c]
mov edx, eax
mov eax, dword [esp + 0x28]
test dl, dl
jne 0x55674d
mov edx, dword [esp + 0x98]
nop
test edx, edx
je 0x5566cc
lea ebx, [esp + 0x98]
cmp edx, ebx
je 0x5566da
jmp 0x556c60
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp edx, ebx
jae 0x556738
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x22
xor edx, edx
xor ebx, ebx
jmp 0x5568dc
mov edx, dword [esp + 0x98]
nop
nop
test edx, edx
je 0x55676a
lea ebx, [esp + 0x98]
cmp edx, ebx
je 0x556778
jmp 0x5568c3
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [eax + ebx]
mov esi, dword [esp + 0x9c]
cmp edx, ebp
jae 0x5567ce
mov dword [esp + 0x64], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea ecx, [0x5dd460]
mov dword [esp + 0x10], ecx
call fcn.00450060
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0046c780
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
jmp 0x5561ba
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
mov edx, ecx
neg ecx
cmp eax, ecx
ja 0x556860
mov dword [esp + 0x100], edx
mov dword [esp + 0x104], eax
add esp, 0xf0
ret
test edx, edx
je 0x556869
call fcn.00463300
call fcn.00463340
mov edx, ebp
mov dword [esp + 0x64], edx
cmp edx, eax
jge 0x556480
movzx ebx, byte [ecx + edx]
cmp ebx, 0x80
jge 0x55688d
lea ebp, [edx + 1]
jmp 0x5568b1
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004634a0
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
lea esi, [ebx - 0x20]
cmp esi, 0x5e
jbe 0x55686e
cmp ebx, 9
je 0x55686e
jmp 0x55647e
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
inc edx
cmp edx, eax
jge 0x556a7e
movzx ebp, byte [ecx + edx]
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x5568f6
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x5568db
cmp ebx, edx
ja 0x556c57
mov ebp, edx
sub edx, ebx
mov esi, edx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x98]
add ebx, ecx
nop
test edx, edx
je 0x556929
lea edi, [esp + 0x98]
cmp edx, edi
je 0x556937
jmp 0x556c3f
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov dword [esp + 0x64], ebp
mov edx, dword [esp + 0xa4]
mov edi, dword [esp + 0xa0]
lea ecx, [esi + edi]
mov eax, dword [esp + 0x9c]
cmp edx, ecx
jae 0x556999
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x78], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xbc], eax
lea ebp, [eax + edi]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.0046c780
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
nop
test eax, eax
je 0x5569fb
lea edx, [esp + 0x98]
cmp eax, edx
je 0x556a09
jmp 0x556c27
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp edx, ebx
jae 0x556a5f
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x5c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, edx
jmp 0x5568db
cmp ebx, eax
ja 0x556c1e
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
mov eax, dword [esp + 0x98]
add ecx, ebx
nop
test eax, eax
je 0x556aaf
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x556abd
jmp 0x556c06
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [edx + ebx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x556b1b
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], edx
mov dword [esp + 0x74], ecx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046c780
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
nop
test eax, eax
je 0x556b79
lea ecx, [esp + 0x98]
cmp eax, ecx
je 0x556b87
jmp 0x556bee
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
inc ecx
mov edx, dword [esp + 0x9c]
cmp eax, ecx
jae 0x556bdd
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ecx
mov byte [ecx + edx - 1], 0x22
jmp 0x5561ba
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
mov ecx, eax
mov eax, ebx
call fcn.0046bf50
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
mov eax, ebx
mov ecx, edx
call fcn.0046bf50
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
inc edx
cmp edx, eax
jge 0x556ffb
mov dword [esp + 0x48], edx
movzx ebp, byte [ecx + edx]
xchg ebp, eax
mov byte [esp + 0x25], al
xchg ebp, eax
lea esi, [ebp - 0x21]
xchg esi, eax
cmp al, 0x5e
xchg esi, eax
jb 0x556ca0
mov esi, 1
jmp 0x556d10
xchg ebp, eax
cmp al, 0x2a
xchg ebp, eax
jne 0x556cae
mov esi, 1
jmp 0x556d10
xchg ebp, eax
cmp al, 0x27
xchg ebp, eax
jne 0x556cbc
mov esi, 1
jmp 0x556d10
xchg ebp, eax
cmp al, 0x25
xchg ebp, eax
jne 0x556cca
mov esi, 1
jmp 0x556d10
mov dword [esp + 0x40], ebx
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
nop
lea ecx, [0x60d4c2]
mov dword [esp], ecx
mov dword [esp + 4], 0xf
mov dword [esp + 8], eax
call fcn.004d4b60
mov eax, dword [esp + 0xc]
test eax, eax
setge al
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x40]
movzx ebp, byte [esp + 0x25]
mov esi, eax
mov eax, dword [esp + 0x28]
xchg esi, eax
test al, al
xchg esi, eax
je 0x556c78
cmp ebx, edx
ja 0x557163
mov esi, edx
sub edx, ebx
mov edi, edx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x98]
add ebx, ecx
nop
test edx, edx
je 0x556d52
lea ecx, [esp + 0x98]
cmp edx, ecx
jne 0x55714b
mov ecx, dword [esp + 0x6c]
jmp 0x556d60
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
lea eax, [ecx + edi]
mov esi, dword [esp + 0x9c]
cmp edx, eax
jae 0x556dc4
mov dword [esp + 0x64], edi
mov dword [esp + 0x80], ebx
mov dword [esp + 0x60], ecx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0xbc], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
call fcn.0046c780
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
nop
nop
test eax, eax
je 0x556e26
lea edx, [esp + 0x98]
cmp eax, edx
je 0x556e34
jmp 0x557133
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp edx, ebx
jae 0x556e8a
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x25
movzx edx, byte [esp + 0x25]
mov ebx, edx
shr dl, 4
movzx edx, dl
mov ebp, dword [esp + 0x98]
lea esi, [0x60dae0]
movzx edx, byte [esi + edx]
nop
test ebp, ebp
je 0x556ec9
lea edi, [esp + 0x98]
cmp ebp, edi
je 0x556ed7
jmp 0x55711b
lea ebp, [esp + 0x98]
mov dword [esp + 0x98], ebp
mov ebp, dword [esp + 0xa4]
mov edi, dword [esp + 0xa0]
inc edi
mov eax, dword [esp + 0x9c]
cmp ebp, edi
jae 0x556f41
mov byte [esp + 0x27], dl
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x9c], eax
movzx edx, byte [esp + 0x27]
movzx ebx, byte [esp + 0x25]
lea esi, [0x60dae0]
mov dword [esp + 0xa0], edi
mov byte [edi + eax - 1], dl
and ebx, 0xf
mov edx, dword [esp + 0x98]
movzx ebx, byte [ebx + esi]
nop
test edx, edx
je 0x556f6f
lea ebp, [esp + 0x98]
cmp edx, ebp
je 0x556f7d
jmp 0x557103
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
inc ebp
mov esi, dword [esp + 0x9c]
cmp edx, ebp
jae 0x556fdc
mov byte [esp + 0x26], bl
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], esi
movzx ebx, byte [esp + 0x26]
mov dword [esp + 0xa0], ebp
mov byte [ebp + esi - 1], bl
mov edx, dword [esp + 0x48]
lea ebx, [edx + 1]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
jmp 0x556c78
cmp ebx, eax
ja 0x5570fa
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
mov eax, dword [esp + 0x98]
add ecx, ebx
nop
test eax, eax
je 0x55702c
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x55703a
jmp 0x5570e2
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x557098
mov dword [esp + 0x64], edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x60], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046c780
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
jmp 0x5561ba
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
mov ecx, eax
mov eax, ebx
call fcn.0046bf50
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
mov eax, ebx
mov ecx, edx
call fcn.0046bf50
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
lea eax, [0x5dd3e0]
mov dword [esp], eax
lea eax, [0x6583c0]
mov dword [esp + 4], eax
call fcn.004391b0
nop
call fcn.0046aa70
jmp fcn.00555b60