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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x5cad07
sub esp, 0xf8
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
lea edx, [0x63bf1e]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.004c74f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
movzx edx, byte [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
test dl, dl
je 0x5c999b
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x78], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x48], ebx
test ebx, ebx
jne 0x5c9690
xor edx, edx
jmp 0x5c96c4
mov dword [esp], eax
mov dword [esp + 4], ebx
lea ecx, [0x65c344]
mov dword [esp + 8], ecx
call fcn.004c6660
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [esp + 0x9c]
test dl, dl
je 0x5c997e
test ebp, ebp
jne 0x5c96d4
xor edx, edx
jmp 0x5c9708
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x65c344]
mov dword [esp + 8], eax
call fcn.004c6660
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [esp + 0x9c]
test dl, dl
je 0x5c997e
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004c6210
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5c9740
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5c9755
jmp 0x5cacee
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov edx, dword [esp + 0xc0]
lea ebp, [edx + eax]
mov dword [esp + 0x70], ebp
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
cmp esi, ebp
jae 0x5c97b9
mov dword [esp + 0x3c], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x6c], edx
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00447e40
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x6c], esi
mov dword [esp + 0xb4], edi
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045f2b0
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
nop
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x5c9817
lea ecx, [esp + 0xb8]
cmp eax, ecx
je 0x5c982c
jmp 0x5cacd6
lea eax, [esp + 0xb8]
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0xb8]
mov eax, dword [esp + 0xc0]
lea edx, [eax + 1]
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc4]
cmp ebp, edx
jae 0x5c9880
lea ecx, [0x60c9c0]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00447e40
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xbc], ebx
lea ecx, [eax + 1]
mov dword [esp + 0xc0], ecx
mov byte [ebx + eax], 0x2f
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.004c6210
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5c98c6
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5c98d4
jmp 0x5cacbe
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0xc0]
lea ebx, [edx + eax]
mov dword [esp + 0x70], ebx
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp ebp, ebx
jae 0x5c9938
mov dword [esp + 0x38], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x6c], edx
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00447e40
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0xb4], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045f2b0
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
jmp 0x5c9ac4
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
add esp, 0xf8
ret
mov eax, dword [esp + 0x100]
test eax, eax
je 0x5c9b3f
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x65c344]
mov dword [esp + 8], edx
call fcn.004c6660
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x5c9b3f
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
call fcn.004c6210
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5c9a11
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5c9a1f
jmp 0x5caca6
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0xc0]
lea ebx, [edx + eax]
mov dword [esp + 0x70], ebx
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp ebp, ebx
jae 0x5c9a83
mov dword [esp + 0x40], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x6c], edx
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00447e40
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0xb4], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045f2b0
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x104]
test eax, eax
je 0x5c9ad3
mov ecx, dword [eax]
jmp 0x5c9ad5
xor ecx, ecx
mov dword [esp + 0x54], ecx
lea eax, [0x60c800]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.00447cc0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
lea edi, [esp + 0xc8]
xor eax, eax
call fcn.0045ebb4
lea eax, [0x60ed80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [esp + 0xc8]
mov dword [esp + 8], edx
call fcn.0040cfe0
xor eax, eax
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xb0]
jmp 0x5c9b7a
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
add esp, 0xf8
ret
lea eax, [esp + 0xc8]
mov dword [esp], eax
call fcn.0040d240
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0xc8]
test ebx, ebx
je 0x5c9c17
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [eax + 1]
cmp ecx, esi
jae 0x5c9be0
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x5c], ebx
lea ebx, [0x60c800]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.00447e40
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ecx
lea ecx, [edx + eax*8 + 4]
mov dword [ecx], ebx
mov ecx, dword [0x84c5a0]
lea ebx, [edx + eax*8]
test ecx, ecx
jne 0x5c9c09
mov dword [ebx], ebp
jmp 0x5c9b5c
mov eax, ebp
mov edi, ebx
call fcn.0045e940
jmp 0x5c9b5c
mov dword [esp + 0xac], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408e70
mov eax, dword [esp + 0xc]
lea ecx, [0x6a56a8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00488910
xor eax, eax
jmp 0x5c9c4f
mov ecx, dword [esp + 0x70]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jge 0x5ca2f3
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0xac]
lea edx, [ecx + eax*8]
mov ebx, dword [edx + 4]
mov dword [esp + 0x58], ebx
mov edx, dword [edx]
mov dword [esp + 0xa4], edx
lea ebp, [0x60ed80]
mov dword [esp], ebp
mov esi, dword [esp + 0x104]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0040f300
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5c9cbf
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5c9cd4
jmp 0x5cac8e
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0xc0]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x5c9d3f
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00447e40
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb8]
lea ebp, [edx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + edx], 0x3b
nop
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5c9d63
cmp edx, ebx
je 0x5c9d6a
jmp 0x5cac76
mov dword [esp + 0xb8], ebx
mov edx, dword [esp + 0xc0]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x5c9dcd
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00447e40
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb8]
lea ebp, [edx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + edx], 0x20
mov edx, dword [esp + 0x58]
test edx, edx
je 0x5ca2d6
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [0x65c344]
mov dword [esp + 8], ecx
call fcn.004c6660
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x5ca2d6
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
call fcn.004c6210
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5c9e4b
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5c9e60
jmp 0x5cac5e
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov edx, dword [esp + 0xc0]
lea ebp, [eax + edx]
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
cmp esi, ebp
jae 0x5c9ec4
mov dword [esp + 0x68], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x8c], ecx
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00447e40
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], esi
mov dword [esp + 0xb4], edi
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045f2b0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
xor edx, edx
jmp 0x5ca318
cmp edx, eax
jge 0x5c9fc4
nop
nop
mov ebx, dword [esp + 0xb8]
test ebx, ebx
je 0x5c9f3a
lea ebp, [esp + 0xb8]
cmp ebx, ebp
je 0x5c9f4f
jmp 0x5cac46
lea ebx, [esp + 0xb8]
mov dword [esp + 0xb8], ebx
lea ebp, [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
lea esi, [ebx + 1]
mov edi, dword [esp + 0xbc]
mov edx, dword [esp + 0xc4]
cmp edx, esi
jae 0x5c9fb2
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00447e40
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
lea ebp, [esp + 0xb8]
lea edx, [ebx + 1]
mov dword [esp + 0xc0], edx
mov byte [edi + ebx], 0x2a
mov edx, dword [esp + 0x6c]
nop
nop
mov ebx, dword [esp + 0xb8]
test ebx, ebx
je 0x5c9fe1
lea ebp, [esp + 0xb8]
cmp ebx, ebp
je 0x5c9ff6
jmp 0x5cac2e
lea ebx, [esp + 0xb8]
mov dword [esp + 0xb8], ebx
lea ebp, [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
lea esi, [ebx + 1]
mov edi, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc4]
cmp ebp, esi
jae 0x5ca056
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00447e40
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
lea ebp, [ebx + 1]
mov dword [esp + 0xc0], ebp
mov byte [edi + ebx], 0x3d
cmp edx, eax
jge 0x5ca12b
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5ca088
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5ca09d
jmp 0x5cac16
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov edx, dword [esp + 0xc0]
lea ebp, [edx + 7]
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
cmp esi, ebp
jae 0x5ca0fe
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], edx
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00447e40
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
lea ebx, [esp + 0xb8]
mov ebp, dword [esp + 0x6c]
mov dword [edi + edx], 0x2d667475
mov dword [edi + edx + 3], 0x2727382d
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xc4], esi
mov dword [esp + 0xbc], edi
xor edx, edx
xor ebp, ebp
jmp 0x5ca724
test eax, eax
jne 0x5ca133
xor edx, edx
jmp 0x5ca15c
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x65c344]
mov dword [esp + 8], edx
call fcn.004c6660
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x74]
mov edx, eax
mov eax, dword [esp + 0x28]
test dl, dl
jne 0x5ca20f
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5ca180
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5ca195
jmp 0x5ca70b
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
lea ebx, [esp + 0xb8]
mov edx, dword [esp + 0xc0]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x5ca1f8
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00447e40
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
lea ebx, [esp + 0xb8]
lea ebp, [edx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + edx], 0x22
xor edx, edx
xor ebp, ebp
jmp 0x5ca384
nop
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5ca22c
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5ca23a
jmp 0x5ca36b
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0xc0]
lea ebx, [eax + edx]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp ebp, ebx
jae 0x5ca290
mov dword [esp + 0x68], edx
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00447e40
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], ebp
mov dword [esp + 0xb4], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045f2b0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
jmp 0x5c9c48
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
add esp, 0xf8
ret
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], ecx
add esp, 0xf8
ret
mov edx, ebp
mov dword [esp + 0x6c], edx
cmp edx, eax
jge 0x5c9f17
movzx ebx, byte [ecx + edx]
cmp ebx, 0x80
jge 0x5ca335
lea ebp, [edx + 1]
jmp 0x5ca359
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00459070
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
lea esi, [ebx - 0x20]
cmp esi, 0x5e
jbe 0x5ca316
cmp ebx, 9
je 0x5ca316
jmp 0x5c9f15
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
inc edx
cmp edx, eax
jge 0x5ca530
jae 0x5ca702
movzx esi, byte [edx + ecx]
xchg esi, eax
cmp al, 0x22
xchg esi, eax
je 0x5ca3a4
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x5ca383
cmp ebp, edx
ja 0x5ca6f9
mov esi, edx
sub edx, ebp
mov edi, edx
neg edx
sar edx, 0x1f
and ebp, edx
lea edx, [ebp + ecx]
nop
mov ebp, dword [esp + 0xb8]
test ebp, ebp
je 0x5ca3d2
cmp ebp, ebx
je 0x5ca3d9
jmp 0x5ca6e1
mov dword [esp + 0xb8], ebx
mov dword [esp + 0x6c], esi
mov ebp, dword [esp + 0xc0]
lea ecx, [edi + ebp]
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp eax, ecx
jae 0x5ca441
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], edi
mov dword [esp + 0x80], edx
lea edx, [0x60c9c0]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00447e40
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x80]
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x64], eax
mov dword [esp + 0xb4], esi
lea ecx, [esi + ebp]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
call fcn.0045f2b0
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x5ca49f
lea edx, [esp + 0xb8]
cmp eax, edx
je 0x5ca4ad
jmp 0x5ca6c9
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov ebx, dword [esp + 0xc0]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x5ca508
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00447e40
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
lea edx, [esp + 0xb8]
lea ebp, [ebx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + ebx], 0x5c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
lea ebx, [esp + 0xb8]
mov ebp, edx
jmp 0x5ca383
cmp ebp, eax
ja 0x5ca6c0
sub eax, ebp
mov edx, eax
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [ebp + ecx]
nop
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x5ca55c
cmp ecx, ebx
je 0x5ca563
jmp 0x5ca6a8
mov dword [esp + 0xb8], ebx
mov ecx, dword [esp + 0xc0]
lea ebp, [edx + ecx]
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
cmp esi, ebp
jae 0x5ca5c1
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x7c], eax
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00447e40
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x68], esi
mov dword [esp + 0xb4], edi
add ecx, edi
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0045f2b0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x5ca61b
lea ecx, [esp + 0xb8]
cmp eax, ecx
je 0x5ca629
jmp 0x5ca690
lea eax, [esp + 0xb8]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xc0]
lea ecx, [eax + 1]
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc4]
cmp ebx, ecx
jae 0x5ca67d
lea ebp, [0x60c9c0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00447e40
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xbc], edx
lea ecx, [eax + 1]
mov dword [esp + 0xc0], ecx
mov byte [edx + eax], 0x22
jmp 0x5c9c48
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
mov ecx, eax
mov eax, ebp
call fcn.0045ea20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
mov eax, ebp
mov ecx, edx
call fcn.0045ea20
mov ecx, eax
mov eax, edx
call fcn.0045e9c0
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
inc edx
cmp edx, eax
jge 0x5caaa7
jae 0x5cac0d
mov dword [esp + 0x4c], edx
movzx esi, byte [ecx + edx]
xchg esi, eax
mov byte [esp + 0x25], al
xchg esi, eax
lea edi, [esi - 0x21]
xchg edi, eax
cmp al, 0x5e
xchg edi, eax
jb 0x5ca751
mov edi, 1
jmp 0x5ca7c5
xchg esi, eax
cmp al, 0x2a
xchg esi, eax
jne 0x5ca75f
mov edi, 1
jmp 0x5ca7c5
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x5ca76d
mov edi, 1
jmp 0x5ca7c5
xchg esi, eax
cmp al, 0x25
xchg esi, eax
jne 0x5ca77b
mov edi, 1
jmp 0x5ca7c5
mov dword [esp + 0x44], ebp
lea eax, [0x644572]
mov dword [esp], eax
mov dword [esp + 4], 0xf
xchg esi, eax
movzx ecx, al
xchg esi, eax
mov dword [esp + 8], ecx
call fcn.004c5190
mov eax, dword [esp + 0xc]
test eax, eax
setge al
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x4c]
lea ebx, [esp + 0xb8]
mov ebp, dword [esp + 0x44]
movzx esi, byte [esp + 0x25]
mov edi, eax
mov eax, dword [esp + 0x28]
xchg edi, eax
test al, al
xchg edi, eax
je 0x5ca723
cmp ebp, edx
ja 0x5cac04
mov edi, edx
sub edx, ebp
mov dword [esp + 0x30], edx
neg edx
sar edx, 0x1f
and ebp, edx
lea edx, [ecx + ebp]
nop
mov ebp, dword [esp + 0xb8]
test ebp, ebp
je 0x5ca7fe
cmp ebp, ebx
je 0x5ca805
jmp 0x5cabec
mov dword [esp + 0xb8], ebx
mov ebp, dword [esp + 0xc0]
mov ecx, dword [esp + 0x30]
lea eax, [ebp + ecx]
mov dword [esp + 0x6c], eax
mov edi, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp edi, eax
jae 0x5ca86a
mov dword [esp + 0x88], edx
mov dword [esp + 0x68], ebp
lea ecx, [0x60c9c0]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
call fcn.00447e40
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x68], edi
mov dword [esp + 0xb4], esi
lea eax, [esi + ebp]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045f2b0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
nop
nop
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x5ca8c9
lea edx, [esp + 0xb8]
cmp eax, edx
je 0x5ca8d7
jmp 0x5cabd4
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], edx
mov ebx, dword [esp + 0xc0]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc4]
cmp edi, ebp
jae 0x5ca932
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00447e40
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
lea edx, [esp + 0xb8]
lea ebp, [ebx + 1]
mov dword [esp + 0xc0], ebp
mov byte [esi + ebx], 0x25
movzx ebx, byte [esp + 0x25]
mov ebp, ebx
shr bl, 4
movzx ebx, bl
lea esi, [0x644fe6]
movzx ebx, byte [esi + ebx]
nop
mov edi, dword [esp + 0xb8]
test edi, edi
je 0x5ca96c
cmp edi, edx
je 0x5ca973
jmp 0x5cabbc
mov dword [esp + 0xb8], edx
mov edi, dword [esp + 0xc0]
lea edx, [edi + 1]
mov esi, dword [esp + 0xbc]
mov eax, ebp
mov ebp, dword [esp + 0xc4]
cmp ebp, edx
jae 0x5ca9d7
mov byte [esp + 0x27], bl
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00447e40
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], esi
movzx eax, byte [esp + 0x25]
movzx ebx, byte [esp + 0x27]
lea edx, [edi + 1]
mov dword [esp + 0xc0], edx
mov byte [esi + edi], bl
and eax, 0xf
lea edx, [0x644fe6]
movzx edx, byte [eax + edx]
nop
mov ebx, dword [esp + 0xb8]
test ebx, ebx
je 0x5caa0d
lea ebp, [esp + 0xb8]
cmp ebx, ebp
je 0x5caa22
jmp 0x5caba4
lea ebx, [esp + 0xb8]
mov dword [esp + 0xb8], ebx
lea ebp, [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
lea esi, [ebx + 1]
mov edi, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc4]
cmp ebp, esi
jae 0x5caa7f
mov byte [esp + 0x26], dl
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00447e40
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xbc], edi
movzx edx, byte [esp + 0x26]
lea esi, [ebx + 1]
mov dword [esp + 0xc0], esi
mov byte [edi + ebx], dl
mov edx, dword [esp + 0x4c]
lea ebp, [edx + 1]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
lea ebx, [esp + 0xb8]
jmp 0x5ca723
cmp ebp, eax
ja 0x5cab9b
sub eax, ebp
mov edx, eax
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [ecx + ebp]
nop
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x5caad2
cmp ecx, ebx
je 0x5caad9
jmp 0x5cab83
mov dword [esp + 0xb8], ebx
mov ecx, dword [esp + 0xc0]
lea ebx, [edx + ecx]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xbc]
cmp ebp, ebx
jae 0x5cab3d
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x84], eax
lea eax, [0x60c9c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00447e40
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x68], ebp
mov dword [esp + 0xb4], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0045f2b0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xbc], eax
jmp 0x5c9c48
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
mov ecx, eax
mov eax, ebp
call fcn.0045ea20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
mov eax, ebp
mov ecx, edx
call fcn.0045ea20
mov ecx, eax
mov eax, edx
call fcn.0045e9c0
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
lea eax, [0x60c800]
mov dword [esp], eax
lea eax, [0x6a4774]
mov dword [esp + 4], eax
call fcn.00433c20
nop
call fcn.0045d530
jmp fcn.005c95e0