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

Disassembly:
mov ecx, dword [0x9aee30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xbc]
cmp eax, dword [ecx + 8]
jbe 0x5f3c80
sub esp, 0x13c
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx]
test edx, edx
jne 0x5f3a29
lea edi, [esp + 0x8c]
xor eax, eax
call fcn.0046cb25
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0x44]
test edx, edx
je 0x5f178a
nop
mov word [esp + 0x4a], 0
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f1730
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3c67
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f1656
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f16b7
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f16b7
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f1730
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f1712
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x4a]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
lea eax, [0x5f69b0]
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0x134]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [ecx + 0x48]
test dl, dl
je 0x5f1912
nop
mov word [esp + 0x48], 0
mov byte [esp + 0x49], 5
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f18e2
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3c4f
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f180f
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f1869
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f1869
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
jmp 0x5f18e2
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f18c4
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x48]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
nop
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [0x6f9fa4]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0x50]
test edx, edx
je 0x5f1aca
nop
mov word [esp + 0x46], 0
mov byte [esp + 0x47], 0xa
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f1a70
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3c37
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f1996
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f19f7
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f19f7
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f1a70
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f1a52
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x46]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
lea eax, [0x5f6770]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0x12c]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0x5c]
test edx, edx
je 0x5f1c82
nop
mov word [esp + 0x44], 0
mov byte [esp + 0x45], 0xb
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f1c28
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3c1f
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f1b4e
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f1baf
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f1baf
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f1c28
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f1c0a
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x44]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
lea eax, [0x5f6540]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0x124]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [ecx + 0x64]
test dl, dl
je 0x5f1e3b
nop
mov word [esp + 0x42], 0
mov byte [esp + 0x43], 0x23
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f1de1
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3c07
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f1d07
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f1d68
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f1d68
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f1de1
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f1dc3
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x42]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
lea eax, [0x5f6370]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0x11c]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0x78]
test edx, edx
je 0x5f1ff3
nop
mov word [esp + 0x40], 0
mov byte [esp + 0x41], 0xd
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f1f99
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3bef
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f1ebf
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f1f20
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f1f20
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f1f99
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f1f7b
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x40]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
lea eax, [0x5f6130]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0x114]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0x84]
test edx, edx
je 0x5f21ae
nop
mov word [esp + 0x3e], 0
mov byte [esp + 0x3f], 0x32
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f2154
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3bd7
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f207a
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f20db
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f20db
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2154
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f2136
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x3e]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
lea eax, [0x5f5ee0]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0x10c]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [ecx + 0x8c]
test dl, dl
je 0x5f236c
nop
mov word [esp + 0x3c], 0
mov word [esp + 0x3c], 0x1ff
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f2312
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3bbf
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f2238
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f2299
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f2299
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2312
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f22f4
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x3c]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea eax, [0x5f5cb0]
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0x104]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [ecx + 0x9c]
test dl, dl
je 0x5f2620
nop
mov word [esp + 0x3a], 0
mov byte [esp + 0x3b], 0x17
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f24d0
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3ba7
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f23f4
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f2457
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f2457
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
jmp 0x5f24d0
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f24b2
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x3a]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
nop
mov word [esp + 0x38], 0
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f2620
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3b8f
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f2544
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f25a7
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f25a7
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2620
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f2602
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x38]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov edx, dword [ecx + 0xa4]
test edx, edx
je 0x5f27db
nop
mov word [esp + 0x36], 0
mov byte [esp + 0x37], 0x10
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f2781
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3b77
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f26a7
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f2708
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f2708
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2781
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f2763
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x36]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
lea eax, [0x5f59d0]
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0xfc]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [ecx + 0xac]
test dl, dl
je 0x5f2a8f
nop
mov word [esp + 0x34], 0
mov byte [esp + 0x35], 0x12
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f293f
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3b5f
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f2863
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f28c6
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f28c6
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
jmp 0x5f293f
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f2921
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x34]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
nop
mov word [esp + 0x32], 0
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f2a8f
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3b47
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f29b3
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f2a16
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f2a16
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2a8f
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f2a71
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x32]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov edx, dword [ecx + 0xb4]
test edx, edx
je 0x5f2c4a
nop
mov word [esp + 0x30], 0
mov byte [esp + 0x31], 0x2b
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f2bf0
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3b2f
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f2b16
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f2b77
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f2b77
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2bf0
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f2bd2
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x30]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x5f5780]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0xf4]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0xc0]
test edx, edx
je 0x5f2e05
nop
mov word [esp + 0x2e], 0
mov byte [esp + 0x2f], 0x2c
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f2dab
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3b17
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f2cd1
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f2d32
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f2d32
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2dab
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f2d8d
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x2e]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
lea eax, [0x5f5550]
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0xec]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0xcc]
test edx, edx
je 0x5f2fc0
nop
mov word [esp + 0x2c], 0
mov byte [esp + 0x2d], 0x33
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f2f66
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3aff
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f2e8c
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f2eed
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f2eed
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2f66
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f2f48
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x2c]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
lea eax, [0x5f50b0]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0xe4]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [ecx + 0xd4]
test dl, dl
je 0x5f3274
nop
mov word [esp + 0x2a], 0
mov byte [esp + 0x2b], 0x2a
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f3124
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3ae7
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f3048
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f30ab
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f30ab
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
jmp 0x5f3124
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f3106
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x2a]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
nop
mov word [esp + 0x28], 0
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f3274
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3acf
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f3198
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f31fb
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f31fb
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
jmp 0x5f3274
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f3256
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x28]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov edx, dword [ecx + 0xdc]
test edx, edx
je 0x5f342f
nop
mov word [esp + 0x26], 0
mov byte [esp + 0x27], 0x2d
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f33d5
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3ab7
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f32fb
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f335c
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f335c
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f33d5
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f33b7
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x26]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
lea eax, [0x5f4e80]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0xdc]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0xfc]
test edx, edx
je 0x5f35ea
nop
mov word [esp + 0x24], 0
mov byte [esp + 0x25], 0x39
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f3590
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3a9f
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f34b6
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f3517
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f3517
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f3590
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f3572
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x24]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x5f4cb0]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0xd4]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0xe8]
test edx, edx
je 0x5f37a5
nop
mov word [esp + 0x22], 0
mov byte [esp + 0x23], 0x29
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x5f374b
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x5f3a87
mov edx, dword [esp + 0x98]
add edx, 2
cmp edx, 2
jge 0x5f3671
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6d9cbe]
mov dword [eax], ecx
lea ecx, [0x74924c]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x5f36d2
mov edx, dword [esp + 0x98]
add edx, 2
lea ebx, [esp + 0x8c]
cmp dword [ebx + 0x10], edx
jge 0x5f36d2
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea edx, [0x74924c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f374b
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x94]
cmp edx, ebp
jae 0x5f372d
mov dword [esp + 0x54], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x22]
mov word [esi + ebx], di
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
lea eax, [0x5f4700]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
lea eax, [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0xcc]
mov dword [esp + 0xc], eax
call fcn.0057f6c0
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x5f37c3
mov ebx, dword [esp + 0x90]
xor edi, edi
mov esi, ebx
xor ebp, ebp
mov ebx, edx
xor edx, edx
jmp 0x5f37fe
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0xa8]
cmp ebx, edx
ja 0x5f3a7e
mov ebp, dword [esp + 0x94]
mov esi, dword [esp + 0x9c]
sub esi, ebx
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebx
sub edx, ebx
add ebp, esi
xor ebx, ebx
xor esi, esi
test ebx, ebx
jne 0x5f39f3
mov ebx, edi
lea edi, [esp + 0x5c]
call fcn.0046cb25
mov ecx, dword [esp + 0x74]
nop
mov byte [esp + 0x21], 0
mov byte [esp + 0x21], 1
test ecx, ecx
jne 0x5f3a66
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], edx
movzx ecx, byte [esp + 0x70]
test cl, cl
je 0x5f3883
mov ecx, dword [esp + 0x68]
inc ecx
lea esi, [esp + 0x5c]
cmp dword [esi + 0x10], ecx
jge 0x5f3883
nop
lea eax, [0x69de40]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e3f9e]
mov dword [eax], ecx
lea ecx, [0x74924c]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
xor eax, eax
mov edx, dword [esp + 0x4c]
jmp 0x5f38eb
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
lea edi, [esi + 1]
mov ebp, dword [esp + 0x64]
cmp ecx, edi
jae 0x5f38d6
mov dword [esp + 0x50], esi
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x692a40]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
movzx ebx, byte [esp + 0x21]
mov byte [ebp + esi], bl
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x64], ebp
lea edi, [esp + 0xb8]
call fcn.0046cb2b
lea ecx, [0x5f3c90]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x140]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0xc0], edx
lea edx, [esp + 0x5c]
mov dword [esp], edx
mov dword [esp + 4], 3
mov byte [esp + 8], 0
lea edx, [esp + 0xb8]
mov dword [esp + 0xc], edx
call fcn.0057f6c0
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x5f396b
mov eax, dword [esp + 0x60]
xor ebp, ebp
xor edx, edx
mov ebx, eax
mov eax, ecx
xor ecx, ecx
jmp 0x5f3996
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x78]
cmp eax, ecx
ja 0x5f3a61
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x6c]
sub ebx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
sub ecx, eax
add edx, ebx
xor eax, eax
xor ebx, ebx
mov esi, dword [esp + 0x140]
mov dword [esi + 4], ecx
mov dword [esi + 8], ebp
mov edi, dword [0x9aef70]
test edi, edi
je 0x5f39c7
mov dword [esp + 0x88], ebx
call fcn.0046c8a0
mov dword [edi], edx
mov ebx, dword [esi]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x88]
mov dword [esi], edx
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], ebp
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ebx
add esp, 0x13c
ret
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], ebx
mov dword [esp + 0x154], esi
add esp, 0x13c
ret
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
add esp, 0x13c
ret
call fcn.0046c970
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
mov eax, ebx
mov ecx, edx
call fcn.0046c970
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x748bc8]
mov dword [esp + 4], eax
call fcn.00439660
nop
call fcn.0046b490
jmp fcn.005f1590