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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x80]
cmp eax, dword [ecx + 8]
jbe 0x5e293c
sub esp, 0x100
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 0xb8]
mov edx, dword [eax + 0xbc]
test ecx, ecx
jne 0x5e28af
nop
lea ecx, [eax + 0xc]
mov dword [esp], ecx
call fcn.0045db30
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 0x178]
mov edx, dword [eax + 0x180]
cmp edx, ecx
setae bl
mov ebp, dword [eax + 0x184]
mov esi, ecx
sar ecx, 0x1f
cmp ebp, ecx
setg cl
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
or ecx, ebp
mov ebx, dword [esp + 4]
cmp ebx, 1
test cl, cl
je 0x5e28a6
xor ecx, ecx
lea edx, [eax + 0xbc]
mov dword [esp + 0x6c], edx
test ecx, ecx
jne 0x5e2842
mov dword [esp + 0x40], ebx
lea edi, [eax + 0x174]
mov dword [esp + 0x4c], edi
nop
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x5e282b
xor eax, eax
call fcn.004572aa
mov eax, dword [esp + 0x104]
mov dword [eax + 0x188], 0xffffffff
mov ecx, dword [eax + 4]
mov edx, dword [eax]
lea ebx, [0x902a20]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004088f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 5
call fcn.005e2bb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x5e1765
cmp dword [0xdc3088], ecx
je 0x5e1735
xor edx, edx
test dl, dl
je 0x5e1729
mov edx, dword [esp + 0x104]
mov ebx, dword [edx + 0x164]
cmp dword [edx + 0x16c], ebx
jne 0x5e168b
mov eax, dword [0xdc3064]
mov ecx, dword [0xdc3060]
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], ecx
lea edx, [0x91a740]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408a50
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test al, al
jne 0x5e1717
mov eax, 1
test al, al
je 0x5e170d
nop
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e16fe
mov eax, dword [esp + 0x44]
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x44]
call fcn.00456fe0
jmp 0x5e16e9
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x30]
jmp 0x5e16e9
mov eax, dword [edx + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
jmp 0x5e16bf
mov edx, dword [esp + 0x104]
jmp 0x5e168b
mov dword [esp + 0x58], eax
mov dword [esp + 0x34], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [0xdc308c]
mov dword [esp + 8], edx
call fcn.00402f30
movzx edx, byte [esp + 0xc]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x34]
jmp 0x5e1662
mov ebx, dword [esp + 0x104]
mov eax, dword [ebx + 0x16c]
mov edx, dword [ebx + 0x168]
mov ebp, dword [ebx + 0x160]
mov ecx, dword [ebx + 0x164]
cmp eax, ecx
ja 0x5e2936
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and eax, edx
cmp ecx, 5
jb 0x5e2928
movzx ecx, byte [ebp + eax]
mov edx, dword [esp + 0x40]
cmp edx, 1
jne 0x5e2716
mov esi, edx
movzx edx, byte [ebp + eax + 1]
shl edx, 8
mov edi, ecx
movzx ecx, byte [ebp + eax + 2]
or edx, ecx
movzx ecx, byte [ebp + eax + 3]
shl ecx, 8
movzx ebp, byte [ebp + eax + 4]
or ecx, ebp
movzx ebp, byte [ebx + 0x22]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5e270f
mov eax, ecx
movzx ecx, word [ebx + 0x20]
cmp cx, 0x304
je 0x5e2706
cmp dx, cx
jne 0x5e2550
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5e2417
mov dword [esp + 0x3c], eax
cmp word [ebx + 0x20], 0x304
jne 0x5e198c
cmp eax, 0x4100
jle 0x5e198c
mov dword [esp], ebx
mov byte [esp + 4], 0x16
call fcn.005e2e30
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004085d0
mov eax, dword [esp + 4]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
lea ecx, [0x8ead00]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea eax, [0x99e1cd]
mov dword [esp], eax
mov dword [esp + 4], 0x28
lea eax, [esp + 0x70]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c9200
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
lea edi, [esp + 0xb8]
mov edx, eax
xor eax, eax
call fcn.004572aa
mov eax, dword [esp + 0x50]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], edx
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 0x168]
mov edx, dword [eax + 0x160]
mov ebx, dword [eax + 0x16c]
mov ebp, dword [eax + 0x164]
cmp ebx, ebp
ja 0x5e2906
sub ebp, ebx
sub ecx, ebx
neg ecx
sar ecx, 0x1f
and ebx, ecx
lea ecx, [edx + ebx]
cmp ebp, 5
jge 0x5e1982
lea edx, [esp + 0xc0]
cmp edx, ecx
je 0x5e1911
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004579b0
lea edi, [esp + 0xe8]
lea esi, [esp + 0xb8]
call fcn.00457784
lea eax, [0xa4e720]
mov dword [esp], eax
lea eax, [esp + 0xe8]
mov dword [esp + 4], eax
call fcn.00408810
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e1977
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e1962
mov ebp, 5
jmp 0x5e18f6
cmp eax, 0x4800
jg 0x5e1821
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
lea edx, [0x902a20]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004088f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x3c]
add eax, 5
mov dword [esp + 0x3c], eax
mov dword [esp + 0xc], eax
call fcn.005e2bb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x5e2379
nop
mov ebx, dword [esp + 0x104]
mov byte [ebx + 0x170], 0
nop
mov eax, dword [ebx + 0x16c]
mov ebp, dword [ebx + 0x164]
sub ebp, eax
mov esi, dword [ebx + 0x160]
mov edx, dword [ebx + 0x168]
mov edi, dword [esp + 0x3c]
cmp edi, ebp
jle 0x5e2372
lea ecx, [ebp + eax]
cmp ecx, edx
ja 0x5e2901
cmp eax, ecx
ja 0x5e28fc
mov dword [ebx + 0x16c], ecx
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, esi
test ebp, ebp
jle 0x5e1a58
mov byte [ebx + 0x170], 0xff
lea edx, [ebx + 0xb0]
mov dword [esp + 0x68], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
call fcn.005dfba0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
movzx ebp, byte [esp + 0x1c]
mov esi, dword [esp + 0x18]
test edx, edx
je 0x5e1b02
lea ecx, [0xa4e740]
cmp edx, ecx
jne 0x5e28e0
movzx eax, byte [eax]
mov ecx, dword [esp + 0x104]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.005e2e30
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], eax
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e1af1
mov dword [edx + 0xbc], ecx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
mov edx, eax
mov eax, ecx
call fcn.00456fe0
mov eax, edx
jmp 0x5e1adc
cmp ecx, 0x4000
jg 0x5e2319
mov edx, dword [esp + 0x104]
mov eax, esi
mov esi, dword [edx + 0xc4]
test esi, esi
je 0x5e22bc
xchg ebp, eax
cmp al, 0x15
xchg ebp, eax
je 0x5e1b41
xchg ebp, eax
cmp al, 0x14
xchg ebp, eax
je 0x5e1b41
test ecx, ecx
jle 0x5e1b41
mov dword [edx + 0x1cc], 0
movzx esi, word [edx + 0x20]
cmp si, 0x304
jne 0x5e22b0
xchg ebp, eax
cmp al, 0x16
xchg ebp, eax
je 0x5e22a4
mov edi, esi
mov esi, dword [edx + 0x190]
sub esi, dword [edx + 0x198]
test esi, esi
jg 0x5e2252
xchg ebp, eax
cmp al, 0x15
xchg ebp, eax
ja 0x5e20a6
xchg ebp, eax
cmp al, 0x14
xchg ebp, eax
jne 0x5e1d85
cmp ecx, 1
je 0x5e1bde
mov dword [esp], edx
mov byte [esp + 4], 0x32
call fcn.005e2e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e1bd3
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e1bbe
cmp byte [ebx], 1
jne 0x5e1b8c
mov eax, dword [edx + 0x190]
sub eax, dword [edx + 0x198]
test eax, eax
jg 0x5e1d33
cmp di, 0x304
je 0x5e1d02
movzx eax, byte [esp + 0x108]
test al, al
je 0x5e1cb0
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.005df6c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x5e1c93
lea edx, [0xa4e740]
cmp ecx, edx
jne 0x5e28c4
movzx eax, byte [eax]
mov ecx, dword [esp + 0x104]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.005e2e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e1c88
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e1c73
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0x100
ret
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.005e2e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e1cf7
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e1ce2
mov dword [esp], edx
movzx eax, byte [esp + 0x108]
mov byte [esp + 4], al
call fcn.005e2950
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
add esp, 0x100
ret
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.005e2e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e1d7a
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e1d65
xchg ebp, eax
cmp al, 0x15
xchg ebp, eax
jne 0x5e2054
cmp ecx, 2
jne 0x5e2002
movzx ecx, byte [ebx + 1]
test cl, cl
jne 0x5e1de3
mov eax, dword [0xdc3064]
mov ecx, dword [0xdc3060]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e1dd8
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e1dc3
mov byte [esp + 0x29], cl
cmp di, 0x304
je 0x5e1f46
movzx eax, byte [ebx]
cmp al, 1
je 0x5e1f15
cmp al, 2
jne 0x5e1ec3
lea eax, [0x93ec40]
mov dword [esp], eax
call fcn.0040ae10
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xc
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x5e1eaf
lea ecx, [0x988c27]
mov dword [eax], ecx
lea ecx, [0xa4e740]
mov dword [eax + 0x20], ecx
mov ecx, dword [0xdd7ec0]
movzx edx, byte [esp + 0x29]
movzx edx, dl
lea ebx, [0xd895e0]
add edx, ebx
test ecx, ecx
jne 0x5e1e9f
mov dword [eax + 0x24], edx
lea ecx, [0xa4e000]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e1e94
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e1e7f
lea edi, [eax + 0x24]
mov ecx, eax
mov eax, edx
call fcn.00456fe0
mov eax, ecx
jmp 0x5e1e5c
mov edi, eax
lea eax, [0x988c27]
call fcn.00456fe0
mov eax, edi
jmp 0x5e1e36
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.005e2e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e1f0a
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e1ef5
mov dword [esp], edx
movzx eax, byte [esp + 0x108]
mov byte [esp + 4], al
call fcn.005e2950
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
lea eax, [0x93ec40]
mov dword [esp], eax
call fcn.0040ae10
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xc
mov ecx, dword [0xdd7ec0]
test ecx, ecx
jne 0x5e1fee
lea ecx, [0x988c27]
mov dword [eax], ecx
lea ecx, [0xa4e740]
mov dword [eax + 0x20], ecx
mov ecx, dword [0xdd7ec0]
movzx edx, byte [esp + 0x29]
movzx edx, dl
lea ebx, [0xd895e0]
add edx, ebx
test ecx, ecx
jne 0x5e1fde
mov dword [eax + 0x24], edx
lea ecx, [0xa4e000]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e1fd3
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e1fbe
lea edi, [eax + 0x24]
mov ecx, eax
mov eax, edx
call fcn.00456fe0
mov eax, ecx
jmp 0x5e1f9b
mov edi, eax
lea eax, [0x988c27]
call fcn.00456fe0
mov eax, edi
jmp 0x5e1f75
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.005e2e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e2049
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e2034
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.005e2e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e209b
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e2086
xchg ebp, eax
cmp al, 0x16
xchg ebp, eax
jne 0x5e2134
test ecx, ecx
jne 0x5e2107
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.005e2e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e20fc
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e20e7
movzx ebp, byte [esp + 0x108]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5e20b5
add edx, 0x18c
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.004e2eb0
jmp 0x5e1c93
xchg ebp, eax
cmp al, 0x17
xchg ebp, eax
jne 0x5e2054
mov ebp, dword [esp + 0x40]
cmp ebp, 1
jne 0x5e2156
movzx ebp, byte [esp + 0x108]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5e21a8
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.005e2e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e219d
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e2188
test ecx, ecx
je 0x5e2227
mov dword [esp + 0x38], ecx
nop
mov ebp, dword [0xdd7ec0]
test ebp, ebp
jne 0x5e21ed
mov edi, dword [esp + 0x4c]
mov ebp, eax
xor eax, eax
call fcn.004572aa
mov dword [edx + 0x174], ebx
mov eax, dword [esp + 0x38]
mov dword [edx + 0x178], eax
mov dword [edx + 0x17c], ebp
mov dword [edx + 0x188], 0xffffffff
jmp 0x5e1c93
mov dword [esp + 0x60], ebx
mov dword [esp + 0x3c], eax
lea eax, [0x92a2e0]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.004112f0
mov edx, dword [esp + 0x104]
lea edi, [edx + 0x174]
mov eax, dword [esp + 0x60]
call fcn.00456fe0
mov ebp, dword [esp + 0x3c]
jmp 0x5e21ce
mov dword [esp], edx
xchg ebp, eax
mov byte [esp + 4], al
xchg ebp, eax
call fcn.005e2950
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.005e2e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e2299
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e2284
xchg ebp, eax
cmp al, 0x15
xchg ebp, eax
mov edi, esi
jmp 0x5e1b76
xchg ebp, eax
cmp al, 0x15
xchg ebp, eax
mov edi, esi
jmp 0x5e1b76
xchg ebp, eax
cmp al, 0x17
xchg ebp, eax
jne 0x5e1b25
mov dword [esp], edx
mov byte [esp + 4], 0xa
call fcn.005e2e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e230e
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e22f9
mov eax, dword [esp + 0x104]
mov dword [esp], eax
mov byte [esp + 4], 0x16
call fcn.005e2e30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e2367
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e2352
mov ebp, edi
jmp 0x5e1a26
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], ecx
lea edx, [0x91a740]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408a50
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x10]
test cl, cl
jne 0x5e2405
mov eax, 1
test al, al
je 0x5e23fb
nop
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e23ec
mov eax, dword [esp + 0x48]
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x48]
call fcn.00456fe0
jmp 0x5e23d7
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x2c]
jmp 0x5e23d7
mov eax, dword [eax + 0x14]
mov dword [esp], edx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
jmp 0x5e23ad
xchg edi, eax
cmp al, 0x15
xchg edi, eax
je 0x5e2540
xchg edi, eax
cmp al, 0x16
xchg edi, eax
je 0x5e2540
mov ecx, dword [ebx + 4]
mov dword [esp + 0x5c], ecx
mov edx, dword [ebx]
lea edi, [esp + 0xa0]
xor eax, eax
call fcn.004572aa
lea ecx, [0x9a235b]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], 0x2f
mov dword [esp + 0xb0], edx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xb4], ecx
mov eax, dword [ebx + 0x16c]
mov ecx, dword [ebx + 0x168]
mov edx, dword [ebx + 0x160]
mov ebp, dword [ebx + 0x164]
cmp eax, ebp
ja 0x5e290f
sub ebp, eax
sub ecx, eax
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, edx
cmp ebp, 5
jge 0x5e2536
lea ecx, [esp + 0xa8]
cmp ecx, eax
je 0x5e24bf
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004579b0
lea edi, [esp + 0xe8]
lea esi, [esp + 0xa0]
call fcn.00457784
lea eax, [0xa4e720]
mov dword [esp], eax
lea eax, [esp + 0xe8]
mov dword [esp + 4], eax
call fcn.00408810
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], eax
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e2525
mov dword [edx + 0xbc], ecx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
mov edx, eax
mov eax, ecx
call fcn.00456fe0
mov eax, edx
jmp 0x5e2510
mov ebp, 5
jmp 0x5e24a4
cmp dx, 0x1000
jae 0x5e242d
jmp 0x5e1806
mov word [esp + 0x2a], dx
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.005e2e30
movzx eax, word [esp + 0x2a]
mov word [esp], ax
call fcn.00408570
mov eax, dword [esp + 4]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x104]
movzx edx, word [ecx + 0x20]
mov word [esp], dx
call fcn.00408570
mov eax, dword [esp + 4]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0x8ebc40]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
lea eax, [0x9a6c85]
mov dword [esp], eax
mov dword [esp + 4], 0x39
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c9200
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], ecx
lea edi, [esp + 0x88]
mov edx, eax
xor eax, eax
call fcn.004572aa
mov eax, dword [esp + 0x54]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 0x168]
mov edx, dword [eax + 0x160]
mov ebx, dword [eax + 0x16c]
mov ebp, dword [eax + 0x164]
cmp ebx, ebp
ja 0x5e2916
sub ebp, ebx
sub ecx, ebx
neg ecx
sar ecx, 0x1f
and ebx, ecx
lea ecx, [edx + ebx]
cmp ebp, 5
jge 0x5e26fc
lea edx, [esp + 0x90]
cmp edx, ecx
je 0x5e268b
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004579b0
lea edi, [esp + 0xe8]
lea esi, [esp + 0x88]
call fcn.00457784
lea eax, [0xa4e720]
mov dword [esp], eax
lea eax, [esp + 0xe8]
mov dword [esp + 4], eax
call fcn.00408810
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e26f1
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e26dc
mov ebp, 5
jmp 0x5e2670
xchg ebp, eax
test al, al
xchg ebp, eax
jmp 0x5e1800
mov eax, ecx
jmp 0x5e1800
cmp cl, 0x80
jne 0x5e17b2
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.005e2e30
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.004572aa
lea eax, [0x99bddd]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], 0x24
mov eax, dword [esp + 0x104]
mov ecx, dword [eax + 0x16c]
mov edx, dword [eax + 0x168]
mov ebx, dword [eax + 0x160]
mov ebp, dword [eax + 0x164]
cmp ecx, ebp
ja 0x5e291f
sub ebp, ecx
sub edx, ecx
neg edx
sar edx, 0x1f
and ecx, edx
add ecx, ebx
cmp ebp, 5
jge 0x5e2821
lea edx, [esp + 0xd8]
cmp edx, ecx
je 0x5e27aa
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004579b0
lea edi, [esp + 0xe8]
lea esi, [esp + 0xd0]
call fcn.00457784
lea eax, [0xa4e720]
mov dword [esp], eax
lea eax, [esp + 0xe8]
mov dword [esp + 4], eax
call fcn.00408810
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], eax
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e2810
mov dword [edx + 0xbc], ecx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
mov edx, eax
mov eax, ecx
call fcn.00456fe0
mov eax, edx
jmp 0x5e27fb
mov ebp, 5
jmp 0x5e278f
lea eax, [0x92a2e0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004112f0
jmp 0x5e15f1
lea eax, [0x909320]
mov dword [esp], eax
call fcn.0040ae10
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x4b
lea ecx, [0x9aa08b]
mov dword [eax], ecx
lea ecx, [0xa4d860]
mov edx, dword [esp + 0x104]
mov dword [edx + 0xb8], ecx
mov ebx, dword [0xdd7ec0]
test ebx, ebx
jne 0x5e289b
mov dword [edx + 0xbc], eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
add esp, 0x100
ret
mov edi, dword [esp + 0x6c]
call fcn.00456fe0
jmp 0x5e2886
sub esi, edx
mov ecx, esi
jmp 0x5e15bb
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], edx
add esp, 0x100
ret
mov dword [esp], ecx
lea eax, [0x90c5e0]
mov dword [esp + 4], eax
lea eax, [0x901d60]
mov dword [esp + 8], eax
call fcn.00408420
mov dword [esp], edx
lea eax, [0x90c5e0]
mov dword [esp + 4], eax
lea eax, [0x901d60]
mov dword [esp + 8], eax
call fcn.00408420
call fcn.004570c0
call fcn.004570a0
mov eax, ebx
mov ecx, ebp
call fcn.004570c0
mov ecx, ebp
call fcn.004570c0
mov eax, ebx
mov ecx, ebp
call fcn.004570c0
mov eax, ecx
mov ecx, ebp
call fcn.004570c0
mov eax, ecx
mov ecx, 5
mov edx, eax
call fcn.004570a0
call fcn.004570c0
nop
call fcn.004557a0
jmp fcn.005e1530