Function at 0x5f7f60
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 0x5f9687
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, [0x6c53fe]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.004d6550
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 0x5f831b
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x78], ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x9c], eax
test ebx, ebx
jne 0x5f8010
xor edx, edx
jmp 0x5f8044
mov dword [esp], eax
mov dword [esp + 4], ebx
lea ecx, [0x6e090c]
mov dword [esp + 8], ecx
call fcn.004d5490
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 0x5f82fe
test ebp, ebp
jne 0x5f8054
xor edx, edx
jmp 0x5f8088
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x6e090c]
mov dword [esp + 8], eax
call fcn.004d5490
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 0x5f82fe
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004d5040
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5f80c0
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5f80d5
jmp 0x5f966e
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 0x5f8139
mov dword [esp + 0x3c], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x6c], edx
lea eax, [0x68e6c0]
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.0044b870
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.00463a10
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 0x5f8197
lea ecx, [esp + 0xb8]
cmp eax, ecx
je 0x5f81ac
jmp 0x5f9656
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 0x5f8200
lea ecx, [0x68e6c0]
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.0044b870
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.004d5040
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5f8246
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5f8254
jmp 0x5f963e
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 0x5f82b8
mov dword [esp + 0x90], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x6c], edx
lea eax, [0x68e6c0]
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.0044b870
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.00463a10
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 0x5f8444
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
add esp, 0xf8
ret
mov eax, dword [esp + 0x100]
test eax, eax
je 0x5f84bf
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x6e090c]
mov dword [esp + 8], edx
call fcn.004d5490
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x5f84bf
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
call fcn.004d5040
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5f8391
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5f839f
jmp 0x5f9626
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 0x5f8403
mov dword [esp + 0x40], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x6c], edx
lea eax, [0x68e6c0]
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.0044b870
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.00463a10
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 0x5f8453
mov ecx, dword [eax]
jmp 0x5f8455
xor ecx, ecx
mov dword [esp + 0x54], ecx
lea eax, [0x68e4c0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.0044b730
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
lea edi, [esp + 0xc8]
xor eax, eax
call fcn.00463314
lea eax, [0x690520]
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.0040d490
xor eax, eax
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xb0]
jmp 0x5f84fa
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
add esp, 0xf8
ret
lea eax, [esp + 0xc8]
mov dword [esp], eax
call fcn.0040d6c0
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 0x5f8597
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [eax + 1]
cmp ecx, esi
jae 0x5f8560
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x5c], ebx
lea ebx, [0x68e4c0]
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.0044b870
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 [0x8e84e0]
lea ebx, [edx + eax*8]
test ecx, ecx
jne 0x5f8589
mov dword [ebx], ebp
jmp 0x5f84dc
mov eax, ebp
mov edi, ebx
call fcn.00463080
jmp 0x5f84dc
mov dword [esp + 0xac], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409260
mov eax, dword [esp + 0xc]
lea ecx, [0x73a990]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00494860
xor eax, eax
jmp 0x5f85cf
mov ecx, dword [esp + 0x70]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jge 0x5f8c73
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, [0x690520]
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.0040fd30
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5f863f
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5f8654
jmp 0x5f960e
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 0x5f86bf
lea eax, [0x68e6c0]
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.0044b870
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 0x5f86e3
cmp edx, ebx
je 0x5f86ea
jmp 0x5f95f6
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 0x5f874d
lea eax, [0x68e6c0]
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.0044b870
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 0x5f8c56
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [0x6e090c]
mov dword [esp + 8], ecx
call fcn.004d5490
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x5f8c56
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
call fcn.004d5040
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5f87cb
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5f87e0
jmp 0x5f95de
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 + 0x6c], ebp
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
cmp esi, ebp
jae 0x5f8844
mov dword [esp + 0x34], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x8c], ecx
lea eax, [0x68e6c0]
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.0044b870
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.00463a10
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 0x5f8c98
cmp edx, eax
jge 0x5f8944
nop
nop
mov ebx, dword [esp + 0xb8]
test ebx, ebx
je 0x5f88ba
lea ebp, [esp + 0xb8]
cmp ebx, ebp
je 0x5f88cf
jmp 0x5f95c6
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 0x5f8932
lea eax, [0x68e6c0]
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.0044b870
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 0x5f8961
lea ebp, [esp + 0xb8]
cmp ebx, ebp
je 0x5f8976
jmp 0x5f95ae
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 0x5f89d6
lea eax, [0x68e6c0]
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.0044b870
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 0x5f8aab
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5f8a08
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5f8a1d
jmp 0x5f9596
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 0x5f8a7e
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], edx
lea eax, [0x68e6c0]
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.0044b870
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 0x5f90a4
test eax, eax
jne 0x5f8ab3
xor edx, edx
jmp 0x5f8adc
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x6e090c]
mov dword [esp + 8], edx
call fcn.004d5490
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 0x5f8b8f
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5f8b00
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5f8b15
jmp 0x5f908b
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 0x5f8b78
lea eax, [0x68e6c0]
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.0044b870
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 0x5f8d04
nop
nop
mov edx, dword [esp + 0xb8]
test edx, edx
je 0x5f8bac
lea ebx, [esp + 0xb8]
cmp edx, ebx
je 0x5f8bba
jmp 0x5f8ceb
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 0x5f8c10
mov dword [esp + 0x68], edx
lea eax, [0x68e6c0]
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.0044b870
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.00463a10
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 0x5f85c8
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 0x5f8897
movzx ebx, byte [ecx + edx]
cmp ebx, 0x80
jge 0x5f8cb5
lea ebp, [edx + 1]
jmp 0x5f8cd9
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0045cfd0
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 0x5f8c96
cmp ebx, 9
je 0x5f8c96
jmp 0x5f8895
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
inc edx
cmp edx, eax
jge 0x5f8eb0
jae 0x5f9082
movzx esi, byte [edx + ecx]
xchg esi, eax
cmp al, 0x22
xchg esi, eax
je 0x5f8d24
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x5f8d03
cmp ebp, edx
ja 0x5f9079
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 0x5f8d52
cmp ebp, ebx
je 0x5f8d59
jmp 0x5f9061
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 0x5f8dc1
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], edi
mov dword [esp + 0x80], edx
lea edx, [0x68e6c0]
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.0044b870
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.00463a10
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 0x5f8e1f
lea edx, [esp + 0xb8]
cmp eax, edx
je 0x5f8e2d
jmp 0x5f9049
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 0x5f8e88
lea eax, [0x68e6c0]
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.0044b870
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 0x5f8d03
cmp ebp, eax
ja 0x5f9040
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 0x5f8edc
cmp ecx, ebx
je 0x5f8ee3
jmp 0x5f9028
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 0x5f8f41
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x7c], eax
lea eax, [0x68e6c0]
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.0044b870
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.00463a10
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 0x5f8f9b
lea ecx, [esp + 0xb8]
cmp eax, ecx
je 0x5f8fa9
jmp 0x5f9010
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 0x5f8ffd
lea ebp, [0x68e6c0]
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.0044b870
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 0x5f85c8
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
mov ecx, eax
mov eax, ebp
call fcn.00463160
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
mov eax, ebp
mov ecx, edx
call fcn.00463160
mov ecx, eax
mov eax, edx
call fcn.00463100
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
inc edx
cmp edx, eax
jge 0x5f9427
jae 0x5f958d
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 0x5f90d1
mov edi, 1
jmp 0x5f9145
xchg esi, eax
cmp al, 0x2a
xchg esi, eax
jne 0x5f90df
mov edi, 1
jmp 0x5f9145
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x5f90ed
mov edi, 1
jmp 0x5f9145
xchg esi, eax
cmp al, 0x25
xchg esi, eax
jne 0x5f90fb
mov edi, 1
jmp 0x5f9145
mov dword [esp + 0x44], ebp
lea eax, [0x6c8914]
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.004d3fb0
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 0x5f90a3
cmp ebp, edx
ja 0x5f9584
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 0x5f917e
cmp ebp, ebx
je 0x5f9185
jmp 0x5f956c
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 0x5f91ea
mov dword [esp + 0x88], edx
mov dword [esp + 0x68], ebp
lea ecx, [0x68e6c0]
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.0044b870
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.00463a10
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 0x5f9249
lea edx, [esp + 0xb8]
cmp eax, edx
je 0x5f9257
jmp 0x5f9554
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 0x5f92b2
lea eax, [0x68e6c0]
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.0044b870
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, [0x6c8ebd]
movzx ebx, byte [esi + ebx]
nop
mov edi, dword [esp + 0xb8]
test edi, edi
je 0x5f92ec
cmp edi, edx
je 0x5f92f3
jmp 0x5f953c
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 0x5f9357
mov byte [esp + 0x27], bl
lea eax, [0x68e6c0]
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.0044b870
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, [0x6c8ebd]
movzx edx, byte [eax + edx]
nop
mov ebx, dword [esp + 0xb8]
test ebx, ebx
je 0x5f938d
lea ebp, [esp + 0xb8]
cmp ebx, ebp
je 0x5f93a2
jmp 0x5f9524
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 0x5f93ff
mov byte [esp + 0x26], dl
lea eax, [0x68e6c0]
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.0044b870
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 0x5f90a3
cmp ebp, eax
ja 0x5f951b
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 0x5f9452
cmp ecx, ebx
je 0x5f9459
jmp 0x5f9503
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 0x5f94bd
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x84], eax
lea eax, [0x68e6c0]
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.0044b870
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.00463a10
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 0x5f85c8
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
mov ecx, eax
mov eax, ebp
call fcn.00463160
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
mov eax, ebp
mov ecx, edx
call fcn.00463160
mov ecx, eax
mov eax, edx
call fcn.00463100
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
lea eax, [0x68e4c0]
mov dword [esp], eax
lea eax, [0x738d40]
mov dword [esp + 4], eax
call fcn.00436f70
nop
call fcn.00461c70
jmp fcn.005f7f60