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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x134]
cmp eax, dword [ecx + 8]
jbe 0x5ebd00
sub esp, 0x1b4
mov eax, dword [esp + 0x1bc]
mov dword [esp], eax
mov ecx, dword [esp + 0x1c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1c4]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0
call fcn.005e8e80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
test eax, eax
jne 0x5ea3e1
test edx, edx
je 0x5e9ed8
mov eax, dword [esp + 0x1c4]
test eax, eax
je 0x5e9dd6
test eax, 0x200
jne 0x5e9dd6
mov ecx, dword [esp + 0x1bc]
lea eax, [0x73dca4]
jmp 0x5e9dfc
mov ecx, dword [esp + 0x1bc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x1c0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00497710
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x34], eax
lea edx, [0x6b8be0]
mov dword [esp], edx
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x6d2f00]
mov dword [eax], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5e9e45
mov ecx, dword [esp + 0x114]
mov dword [eax + 0xc], ecx
jmp 0x5e9e58
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x114]
call fcn.004642e0
mov eax, ecx
mov ecx, dword [esp + 0x1b8]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x5e9eb3
mov dword [esp], ecx
lea edx, [0x73bdc8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005e87b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1b8]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5e9ea9
mov dword [edx + 0x40], eax
jmp 0x5e9eb1
lea edi, [edx + 0x40]
call fcn.004642e0
mov ecx, edx
mov dword [esp], ecx
call fcn.005e88b0
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
add esp, 0x1b4
ret
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x174], ebp
mov dword [esp + 0x170], esi
test ebx, ebx
je 0x5e9f03
test ebx, 0x200
jne 0x5e9f03
mov eax, esi
lea ecx, [0x73dca4]
jmp 0x5e9f32
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00497710
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x174]
mov ecx, eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x110], esi
nop
mov edx, ebx
and ebx, 0x1f
mov dword [esp + 0xa4], ebx
cmp ebx, 0x14
je 0x5e9f53
xor edi, edi
jmp 0x5e9f95
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.00496400
mov eax, dword [esp + 0xc]
test eax, eax
sete al
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x174]
mov esi, dword [esp + 0x110]
mov edi, eax
mov eax, dword [esp + 0x170]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x5ea30d
cmp ebx, 0x15
je 0x5ea0af
cmp ebx, 0x19
jne 0x5e9fde
mov dword [esp], ecx
mov dword [esp + 4], esi
call fcn.005f63a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ebx, eax
mov ebp, edx
mov edx, dword [esp + 0x174]
mov eax, ecx
mov ecx, dword [esp + 0xa8]
jmp 0x5ea1cc
lea eax, [0x6b8be0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x6d2f00]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5ea01c
mov ecx, dword [esp + 0x110]
mov dword [eax + 0xc], ecx
jmp 0x5ea02f
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x110]
call fcn.004642e0
mov eax, ecx
mov ecx, dword [esp + 0x1b8]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x5ea08a
mov dword [esp], ecx
lea edx, [0x73bdc8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005e87b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1b8]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5ea080
mov dword [edx + 0x40], eax
jmp 0x5ea088
lea edi, [edx + 0x40]
call fcn.004642e0
mov ecx, edx
mov dword [esp], ecx
call fcn.005e88b0
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
add esp, 0x1b4
ret
mov eax, dword [ecx + 0x4c]
mov dword [esp], esi
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 0xa
jbe 0x5ea13c
cmp eax, 0x18
je 0x5ea13c
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0x110]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [0x73dca8]
lea ebx, [0x73dca4]
cmp eax, ebx
jne 0x5ebce9
mov dword [esp], ecx
call fcn.00491ae0
mov eax, dword [0x8ce900]
mov ecx, dword [0x8ce904]
mov edx, dword [esp + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00491da0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5ea23c
mov ecx, dword [esp + 0xa8]
test ecx, 0x200
je 0x5ea154
mov edx, dword [esp + 0x174]
jmp 0x5ea1c6
test ecx, 0x80
je 0x5ea167
mov edx, dword [esp + 0x174]
mov ebp, dword [edx]
jmp 0x5ea170
mov edx, dword [esp + 0x174]
mov ebp, edx
test ebp, ebp
jne 0x5ea1c6
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
call fcn.00497ff0
mov eax, dword [esp + 0x170]
mov dword [esp], eax
mov ecx, dword [esp + 0x174]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
call fcn.004966f0
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x174]
xor eax, eax
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x78], eax
lea edi, [esp + 0x1a0]
mov esi, eax
xor eax, eax
call fcn.0046457b
mov ecx, dword [esp + 0x1b8]
mov eax, edx
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x5ea209
lea edi, [esp + 0x1a0]
mov esi, edx
call fcn.00464a5e
mov ecx, dword [esp + 0x1b8]
mov esi, dword [esp + 0x78]
mov dword [esp + 0x148], ebx
mov dword [esp + 0x144], ebp
lea edx, [ecx + 0x38]
mov dword [esp + 0x16c], edx
xor edi, edi
xor edi, edi
mov dword [esp + 0x130], edi
xor edi, edi
mov dword [esp + 0x134], edi
xor edi, edi
jmp 0x5ea48a
lea eax, [0x6b8be0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x6d2f00]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5ea27a
mov ecx, dword [esp + 0x110]
mov dword [eax + 0xc], ecx
jmp 0x5ea28d
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x110]
call fcn.004642e0
mov eax, ecx
mov ecx, dword [esp + 0x1b8]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x5ea2e8
mov dword [esp], ecx
lea edx, [0x73bdc8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.005e87b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1b8]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5ea2de
mov dword [edx + 0x40], eax
jmp 0x5ea2e6
lea edi, [edx + 0x40]
call fcn.004642e0
mov ecx, edx
mov dword [esp], ecx
call fcn.005e88b0
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
add esp, 0x1b4
ret
mov eax, dword [esp + 0x1b8]
mov dword [esp], eax
call fcn.005eeb00
mov eax, dword [esp + 4]
nop
movzx ecx, byte [0x8cefa0]
test cl, cl
je 0x5ea357
lea ecx, [0x69aba0]
mov dword [0x8cefa4], ecx
mov edx, dword [0x8f52e0]
test edx, edx
jne 0x5ea34a
mov dword [0x8cefa8], eax
jmp 0x5ea35d
lea edi, [0x8cefa8]
call fcn.004642e0
jmp 0x5ea35d
lea ecx, [0x69aba0]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov ecx, dword [esp + 0x190]
test ecx, ecx
je 0x5ea38d
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5ea393
or edx, 0x80
jmp 0x5ea393
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0x170]
mov dword [esp], ebx
mov ebx, dword [esp + 0x174]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004966f0
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
add esp, 0x1b4
ret
mov dword [esp + 0x38], eax
mov dword [esp + 0x118], ecx
nop
mov eax, dword [esp + 0x1b8]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xa0], ecx
mov dword [esp], eax
call fcn.005e88b0
mov eax, dword [esp + 0x1b8]
mov edx, dword [eax + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 0xc]
cmp edx, eax
jb 0x5ea47d
mov ebx, dword [esp + 0xa0]
lea ebp, [ebx - 1]
cmp eax, ebp
jb 0x5ea474
mov esi, dword [esp + 0x38]
mov esi, dword [esi + 0x10]
mov edi, dword [esp + 0x118]
mov dword [esp], edi
sub edx, ebx
inc edx
mov edi, edx
neg edx
sar edx, 0x1f
and ebp, edx
add ecx, ebp
mov dword [esp + 4], ecx
sub eax, ebx
inc eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
call esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cc], ecx
add esp, 0x1b4
ret
mov ecx, eax
mov eax, ebp
call fcn.004643c0
mov ecx, eax
call fcn.004643a0
mov ecx, edx
mov edi, dword [esp + 0x58]
mov dword [esp + 0x58], edi
mov dword [esp], ecx
mov dword [esp + 4], 9
call fcn.005e89e0
mov eax, dword [esp + 0x1b8]
mov ecx, dword [eax + 0x10]
cmp ecx, 5
je 0x5eb5d2
cmp ecx, 1
jne 0x5ebcd1
nop
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xa0], ecx
mov dword [esp], eax
call fcn.005e8aa0
mov eax, dword [esp + 0x1b8]
mov edx, dword [eax + 8]
mov ecx, dword [eax]
mov ebx, dword [eax + 0xc]
lea ebp, [ebx - 1]
cmp edx, ebp
jb 0x5ebcca
mov esi, dword [esp + 0xa0]
lea edi, [esi - 1]
cmp ebp, edi
jb 0x5ebcc1
sub edx, esi
lea eax, [edx + 1]
mov dword [esp + 0x6c], eax
mov edx, eax
neg eax
sar eax, 0x1f
and edi, eax
lea eax, [ecx + edi]
mov dword [esp + 0x140], eax
mov dword [esp], eax
sub ebx, esi
mov dword [esp + 0x68], ebx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.005ef040
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test cl, cl
je 0x5ebca9
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0xa4]
cmp ecx, 0x15
jne 0x5ea621
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x110]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x58]
test edx, edx
je 0x5ea5e0
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004980a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x130]
mov dword [esp], ebx
mov ebp, dword [esp + 0x134]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x58]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004966f0
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
jmp 0x5ea614
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00498180
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00495380
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
xor edx, edx
mov ebx, edi
mov ebp, eax
mov esi, ecx
jmp 0x5ea87b
lea ecx, [0x69ab60]
mov dword [esp], ecx
mov edx, dword [esp + 0x144]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
call fcn.004105b0
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
movzx ecx, byte [esp + 0x14]
test cl, cl
je 0x5ea67d
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jbe 0x5ebca4
lea edx, [eax + eax*8]
mov ebx, dword [esp + 0x148]
lea edx, [ebx + edx*8]
mov eax, ebx
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x13c]
jmp 0x5ea6c3
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x13c]
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x78]
xor edx, edx
jmp 0x5eb610
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x13c]
mov edx, dword [esp + 0x14c]
jmp 0x5ea6c3
xor edx, edx
test edx, edx
je 0x5ea74c
mov dword [esp + 0x14c], edx
mov edi, ecx
movzx ecx, byte [edx + 0x41]
mov byte [esp + 0x2f], cl
mov ecx, dword [edx + 0x2c]
mov dword [esp + 0x164], ecx
mov edx, dword [edx + 0x30]
mov dword [esp + 0x9c], edx
mov dword [esp + 0xc4], eax
xor eax, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x120], ecx
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x170]
mov dword [esp + 0x11c], edx
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb4]
jmp 0x5eb832
mov edx, dword [esp + 0x1b8]
movzx edi, byte [edx + 0x45]
xchg edi, eax
test al, al
xchg edi, eax
je 0x5ea839
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.004096f0
mov eax, dword [esp + 0xc]
lea ecx, [0x690be0]
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], eax
lea eax, [0x6d8fe4]
mov dword [esp], eax
mov dword [esp + 4], 0x16
lea edx, [esp + 0x198]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.005242a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1b8]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x5ea81f
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005e87b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1b8]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5ea817
mov dword [edx + 0x40], eax
jmp 0x5ea81f
lea edi, [edx + 0x40]
call fcn.004642e0
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x13c]
xor edi, edi
xor edi, edi
mov dword [esp + 0x3c], edi
xor edi, edi
mov dword [esp + 0x11c], edi
xor edi, edi
mov dword [esp + 0x120], edi
xor edi, edi
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov edx, edi
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x120]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x58], edi
mov dword [esp + 0x134], ecx
mov dword [esp + 0x130], eax
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2f], dl
mov dword [esp + 0x120], esi
mov dword [esp + 0x11c], ebp
mov eax, dword [esp + 0x1b8]
cmp dword [eax + 0x10], 9
jne 0x5ea8e9
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.005e89e0
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x134]
movzx edx, byte [esp + 0x2f]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x120]
mov edi, dword [esp + 0x58]
cmp dword [eax + 0x10], 3
jne 0x5eb7a9
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.005e89e0
movzx eax, byte [esp + 0x2f]
test al, al
je 0x5eab7f
mov eax, dword [esp + 0x1b8]
mov dword [esp], eax
call fcn.005e8dc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
je 0x5eab08
cmp dword [eax + 8], 0x778cdb8
jne 0x5ea9db
lea eax, [0x698ba0]
cmp ecx, eax
jne 0x5ea9e1
mov eax, dword [edx + 4]
mov ecx, dword [edx]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044efc0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1b8]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 1
call fcn.005ebee0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test eax, eax
jne 0x5eb680
mov ebx, dword [esp + 0xa4]
cmp ebx, 0x15
mov edx, dword [esp + 0x1b8]
jmp 0x5eabd1
lea eax, [0x698ba0]
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x5eaa00
test ecx, 0x200
jne 0x5eaa00
lea edx, [0x73dca4]
mov ebp, dword [esp + 0x11c]
jmp 0x5eaa32
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov edx, dword [esp + 0x120]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00497710
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
mov edx, eax
lea eax, [0x698ba0]
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
test edx, edx
je 0x5eaa4f
mov edx, dword [edx + 4]
mov dword [esp + 0x198], edx
mov dword [esp + 0x19c], ebp
lea eax, [0x6e8117]
mov dword [esp], eax
mov dword [esp + 4], 0x53
lea ecx, [esp + 0x198]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.005242a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1b8]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
je 0x5eaab3
mov ebx, dword [esp + 0xa4]
cmp ebx, 0x15
jmp 0x5eabd1
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005e87b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1b8]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5eaaf1
mov dword [edx + 0x40], eax
mov ebx, dword [esp + 0xa4]
cmp ebx, 0x15
jmp 0x5eabd1
lea edi, [edx + 0x40]
call fcn.004642e0
mov ebx, dword [esp + 0xa4]
cmp ebx, 0x15
jmp 0x5eabd1
mov eax, dword [str.null_]
mov ecx, dword [0x8c955c]
mov edx, dword [0x8c9560]
mov ebx, dword [esp + 0x1b8]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 0
call fcn.005ebee0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test eax, eax
jne 0x5eb695
mov ebx, dword [esp + 0xa4]
cmp ebx, 0x15
mov edx, dword [esp + 0x1b8]
jmp 0x5eabd1
mov eax, dword [esp + 0x1b8]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0xc], ebx
call fcn.005e8bf0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x5eb6bf
mov ebx, dword [esp + 0xa4]
cmp ebx, 0x15
mov edx, dword [esp + 0x1b8]
jne 0x5eb552
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0x110]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 8]
mov ebp, dword [0x73dca8]
lea esi, [0x73dca4]
cmp edx, esi
jne 0x5eb793
mov dword [esp + 0x138], eax
mov dword [esp + 0x160], edx
mov dword [esp + 0x5c], ecx
mov dword [esp], ebx
call fcn.00491ae0
mov eax, dword [0x8ce900]
mov ecx, dword [0x8ce904]
mov edx, dword [esp + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00491da0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5eb42d
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0x138]
mov dword [esp], edx
call ecx
cmp dword [esp + 4], 0x18
jne 0x5ead49
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
call fcn.004096f0
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x8cefa0]
test cl, cl
je 0x5eaccd
lea ecx, [0x690be0]
mov dword [0x8cefa4], ecx
mov edx, dword [0x8f52e0]
test edx, edx
jne 0x5eacc0
mov dword [0x8cefa8], eax
jmp 0x5eacd3
lea edi, [0x8cefa8]
call fcn.004642e0
jmp 0x5eacd3
lea ecx, [0x690be0]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], eax
mov edx, dword [esp + 0x188]
test edx, edx
je 0x5ead05
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5ead0b
or ebx, 0x80
jmp 0x5ead0b
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x160]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x10], eax
call fcn.00498500
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x1b8]
jmp 0x5eb4ef
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0x50]
mov ecx, dword [esp + 0x138]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 4
jbe 0x5eb0b1
add eax, 0xfffffff9
cmp eax, 5
ja 0x5eb77b
lea eax, [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.0044ee00
mov eax, dword [esp + 0xc]
mov dword [esp + 0x124], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00482540
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
test ecx, ecx
je 0x5eade3
mov ebp, 1
jmp 0x5eaed6
mov dword [esp + 0x48], eax
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov ecx, dword [esp + 0x138]
mov dword [esp + 4], ecx
call fcn.004980a0
mov eax, dword [esp + 0x10]
and eax, 0x1f
lea ecx, [eax - 7]
mov edx, dword [esp + 8]
cmp ecx, 5
ja 0x5eb737
mov eax, dword [edx]
shl eax, 3
add eax, 0xffffffc0
neg eax
cmp eax, 0x20
sbb edx, edx
lea ecx, [eax - 0x20]
mov dword [esp + 0x98], ecx
cmp ecx, 0x20
sbb ebx, ebx
mov dword [esp + 0x94], ebx
mov ebp, ecx
neg ecx
cmp ecx, 0x20
sbb esi, esi
mov dword [esp + 0x90], esi
mov edi, ecx
mov ecx, ebp
mov esi, dword [esp + 0x48]
shl esi, cl
and esi, ebx
mov ecx, eax
mov ebx, dword [esp + 0x54]
shl ebx, cl
and ebx, edx
mov ecx, edi
mov ebp, dword [esp + 0x48]
shr ebp, cl
mov edi, dword [esp + 0x90]
and ebp, edi
or ebp, ebx
or esi, ebp
mov dword [esp + 0x90], esi
mov ebx, ecx
mov ecx, eax
mov ebp, dword [esp + 0x48]
shl ebp, cl
and ebp, edx
shr ebp, cl
mov ecx, ebx
mov ebx, esi
shl esi, cl
mov ecx, dword [esp + 0x98]
shr ebx, cl
mov ecx, eax
mov eax, dword [esp + 0x94]
and ebx, eax
and esi, edi
and ebp, edx
or ebp, esi
or ebp, ebx
mov eax, dword [esp + 0x48]
cmp eax, ebp
setne bl
mov ebp, dword [esp + 0x90]
shr ebp, cl
and ebp, edx
mov edx, dword [esp + 0x54]
cmp edx, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5eafee
lea eax, [0x6b8be0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [esp + 0x15c], eax
mov dword [esp], 0
lea ecx, [0x6d32fb]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov edx, dword [esp + 0x124]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x10], edx
call fcn.0044eb50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x15c]
mov dword [edi + 4], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5eaf4a
mov dword [edi], eax
jmp 0x5eaf4f
call fcn.004642e0
mov ebx, dword [esp + 0x160]
mov dword [edi + 8], ebx
mov ebx, dword [0x8f52e0]
test ebx, ebx
jne 0x5eaf6f
mov ebx, dword [esp + 0x138]
mov dword [edi + 0xc], ebx
jmp 0x5eaf84
lea ebx, [edi + 0xc]
mov eax, dword [esp + 0x138]
mov ecx, edi
mov edi, ebx
call fcn.004642e0
mov edi, ecx
mov ebx, dword [esp + 0xa0]
mov dword [edi + 0x10], ebx
sar ebx, 0x1f
mov dword [edi + 0x14], ebx
mov ebx, dword [esp + 0x1b8]
mov ebp, dword [ebx + 0x3c]
test ebp, ebp
jne 0x5eafe3
mov dword [esp], ebx
lea eax, [0x73bdc8]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.005e87b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1b8]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5eafd9
mov dword [edx + 0x40], eax
jmp 0x5eafe1
lea edi, [edx + 0x40]
call fcn.004642e0
mov ebx, edx
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x5eb4ef
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004095c0
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x8cefa0]
test cl, cl
je 0x5eb035
lea ecx, [0x698d60]
mov dword [0x8cefa4], ecx
mov edx, dword [0x8f52e0]
test edx, edx
jne 0x5eb028
mov dword [0x8cefa8], eax
jmp 0x5eb03b
lea edi, [0x8cefa8]
call fcn.004642e0
jmp 0x5eb03b
lea ecx, [0x698d60]
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
mov edx, dword [esp + 0x178]
test edx, edx
je 0x5eb06d
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5eb073
or ebx, 0x80
jmp 0x5eb073
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x160]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x10], eax
call fcn.00498500
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x1b8]
jmp 0x5eb4ef
lea eax, [esp + 0xec]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.0044ee00
mov eax, dword [esp + 0xc]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00482fe0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x5eb11c
mov edx, 1
jmp 0x5eb254
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov ecx, dword [esp + 0x138]
mov dword [esp + 4], ecx
call fcn.004980a0
mov eax, dword [esp + 0x10]
and eax, 0x1f
lea ecx, [eax - 2]
mov edx, dword [esp + 8]
cmp ecx, 4
ja 0x5eb6f3
mov eax, dword [edx]
shl eax, 3
lea ecx, [eax - 0x40]
neg ecx
mov dword [esp + 0x8c], ecx
cmp ecx, 0x20
sbb eax, eax
mov dword [esp + 0x98], eax
lea edx, [ecx - 0x20]
cmp edx, 0x20
sbb ebx, ebx
mov ebp, edx
neg edx
mov dword [esp + 0x94], edx
cmp edx, 0x20
sbb esi, esi
mov dword [esp + 0x90], esi
mov edi, ecx
shr ecx, 5
cmp ecx, 1
sbb eax, eax
mov dword [esp + 0x88], eax
cmp edi, 0x20
sbb eax, eax
mov dword [esp + 0x84], eax
mov ecx, edi
mov eax, dword [esp + 0x50]
shl eax, cl
mov ecx, edx
mov edi, dword [esp + 0x4c]
shr edi, cl
and edi, esi
mov ecx, ebp
mov esi, dword [esp + 0x4c]
shl esi, cl
and esi, ebx
mov edx, dword [esp + 0x98]
and eax, edx
or edi, eax
or esi, edi
mov dword [esp + 0x98], esi
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x4c]
mov edi, eax
shl eax, cl
and eax, edx
shr eax, cl
not ebx
or ebx, ebp
mov ecx, dword [esp + 0x94]
shl esi, cl
mov ebp, dword [esp + 0x90]
and esi, ebp
mov ecx, ebx
mov ebp, dword [esp + 0x98]
mov ebx, ebp
sar ebp, cl
mov ecx, ebx
mov ebx, dword [esp + 0x88]
xor ebx, 0xffffffff
and ebx, ebp
and eax, edx
or eax, esi
or ebx, eax
cmp edi, ebx
setne al
mov edx, dword [esp + 0x84]
not edx
mov ebx, dword [esp + 0x8c]
or ebx, edx
mov edx, ecx
mov ecx, ebx
sar edx, cl
mov ebx, dword [esp + 0x50]
cmp ebx, edx
setne dl
or edx, eax
mov eax, ebx
mov ecx, edi
test dl, dl
je 0x5eb36a
lea eax, [0x6b8be0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [esp + 0x15c], eax
mov dword [esp], 0
lea ecx, [0x6d32fb]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov edx, dword [esp + 0x128]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x10], edx
call fcn.0044eb50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x15c]
mov dword [edi + 4], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5eb2c6
mov dword [edi], eax
jmp 0x5eb2cb
call fcn.004642e0
mov ebx, dword [esp + 0x160]
mov dword [edi + 8], ebx
mov ebx, dword [0x8f52e0]
test ebx, ebx
jne 0x5eb2eb
mov ebx, dword [esp + 0x138]
mov dword [edi + 0xc], ebx
jmp 0x5eb300
lea ebx, [edi + 0xc]
mov eax, dword [esp + 0x138]
mov ecx, edi
mov edi, ebx
call fcn.004642e0
mov edi, ecx
mov ebx, dword [esp + 0xa0]
mov dword [edi + 0x10], ebx
sar ebx, 0x1f
mov dword [edi + 0x14], ebx
mov ebx, dword [esp + 0x1b8]
mov ebp, dword [ebx + 0x3c]
test ebp, ebp
jne 0x5eb35f
mov dword [esp], ebx
lea eax, [0x73bdc8]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.005e87b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1b8]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5eb355
mov dword [edx + 0x40], eax
jmp 0x5eb35d
lea edi, [edx + 0x40]
call fcn.004642e0
mov ebx, edx
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x5eb4ef
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004095c0
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x8cefa0]
test cl, cl
je 0x5eb3b1
lea ecx, [0x6983e0]
mov dword [0x8cefa4], ecx
mov edx, dword [0x8f52e0]
test edx, edx
jne 0x5eb3a4
mov dword [0x8cefa8], eax
jmp 0x5eb3b7
lea edi, [0x8cefa8]
call fcn.004642e0
jmp 0x5eb3b7
lea ecx, [0x6983e0]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
mov edx, dword [esp + 0x180]
test edx, edx
je 0x5eb3e9
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5eb3ef
or ebx, 0x80
jmp 0x5eb3ef
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x160]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x10], eax
call fcn.00498500
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x1b8]
jmp 0x5eb4ef
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 4], eax
call fcn.00498180
mov eax, dword [esp + 8]
mov dword [esp + 0x158], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x154], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x80], edx
mov ebx, dword [esp + 0x1b8]
mov dword [esp], ebx
mov ebp, dword [esp + 0x140]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x68]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 1
call fcn.005ebee0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test eax, eax
jne 0x5eb6aa
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
call fcn.00495380
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1b8]
test edx, edx
je 0x5eb549
mov ebx, dword [esp + 0x170]
mov dword [esp], ebx
mov ebp, dword [esp + 0x174]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xa8]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
call fcn.00496d90
mov ebx, dword [esp + 0x1b8]
mov edx, ebx
mov ebx, dword [esp + 0xa4]
cmp dword [edx + 0x10], 9
jne 0x5eb576
mov dword [esp], edx
mov dword [esp + 4], 9
call fcn.005e89e0
mov edx, dword [esp + 0x1b8]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [edx + 0x38]
test ebp, ebp
je 0x5eb5bc
mov esi, dword [ebp + 0x10]
mov ecx, dword [esp + 0x1ac]
cmp ecx, esi
ja 0x5eb6ec
mov dword [ebp + 0xc], ecx
mov ecx, dword [edx + 0x38]
mov eax, dword [esp + 0x1a4]
mov ebp, dword [esp + 0x1a0]
mov dword [ecx], ebp
mov ebp, dword [0x8f52e0]
test ebp, ebp
jne 0x5eb5b4
mov dword [ecx + 4], eax
jmp 0x5eb5bc
lea edi, [ecx + 4]
call fcn.004642e0
mov eax, dword [edx + 0x10]
cmp eax, 5
je 0x5eb5d2
cmp eax, 4
je 0x5ea484
jmp 0x5eb6d4
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
add esp, 0x1b4
ret
mov eax, dword [esp + 0x74]
lea edx, [eax + 1]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x13c]
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x78]
cmp edx, ecx
jge 0x5ea6c1
jae 0x5ebc9d
mov dword [esp + 0x74], edx
lea ecx, [edx + edx*8]
lea edi, [eax + ecx*8]
mov dword [esp + 0x14c], edi
lea ebx, [eax + ecx*8 + 0x14]
mov ebx, dword [ebx]
mov dword [esp + 0x168], ebx
mov ebx, dword [ebx]
lea ecx, [eax + ecx*8 + 8]
mov ecx, dword [ecx]
mov eax, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x168]
call ebx
movzx eax, byte [esp + 0x18]
test al, al
je 0x5eb5ef
jmp 0x5ea69e
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], edx
add esp, 0x1b4
ret
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], edx
add esp, 0x1b4
ret
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], edx
add esp, 0x1b4
ret
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], edx
add esp, 0x1b4
ret
lea eax, [0x698ba0]
mov dword [esp], eax
lea eax, [0x73b628]
mov dword [esp + 4], eax
call fcn.00436320
mov edx, esi
call fcn.004643a0
mov dword [esp + 0xa8], eax
lea eax, [0x6a9ec0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x19
lea ecx, [0x6da9d0]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa8]
mov dword [eax + 8], ecx
lea ecx, [0x69f2a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436320
mov dword [esp + 0xa8], eax
lea eax, [0x6a9ec0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x6db2a4]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa8]
mov dword [eax + 8], ecx
lea ecx, [0x69f2a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436320
lea eax, [0x698ba0]
mov dword [esp], eax
lea eax, [0x73b640]
mov dword [esp + 4], eax
call fcn.00436320
mov dword [esp], edx
mov dword [esp + 4], ebp
lea eax, [0x6c8080]
mov dword [esp + 8], eax
call fcn.00409360
lea eax, [0x698ba0]
mov dword [esp], eax
lea eax, [0x73b628]
mov dword [esp + 4], eax
call fcn.00436320
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
call fcn.00495530
mov eax, dword [esp + 0x7c]
inc eax
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x9c]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x120], ebp
mov dword [esp + 0x11c], esi
mov eax, dword [esp + 0x148]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x13c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
jge 0x5ebacc
mov eax, dword [ecx + ebx*4]
nop
mov ebp, dword [esp + 0x3c]
and ebp, 0x1f
cmp ebp, 0x16
jne 0x5eb9c1
mov dword [esp + 0x70], eax
mov ebp, dword [esp + 0x3c]
test ebp, 0x200
jne 0x5eb97e
test ebp, 0x80
je 0x5eb88b
mov esi, dword [esp + 0x120]
mov edi, dword [esi]
mov esi, dword [esp + 0x13c]
mov dword [esp + 0x12c], edi
mov edi, dword [esp + 0x78]
jmp 0x5eb8a7
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0xac]
mov esi, dword [esp + 0x12c]
test esi, esi
jne 0x5eb97e
mov esi, ebp
and ebp, 0x160
cmp ebp, 0x100
jne 0x5eb9ca
test esi, 0x200
jne 0x5eb8ee
lea ebp, [0x73dca4]
mov ebp, dword [esp + 0x11c]
mov dword [esp + 0x10c], ebp
lea ebp, [0x73dca4]
jmp 0x5eb91d
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.00497710
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebp, eax
mov dword [esp + 0x10c], ecx
mov eax, dword [ebp + 0x28]
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00498180
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x11c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x120]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x3c]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004966f0
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00495380
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebp, edx
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
mov eax, dword [esp + 0x70]
jmp 0x5eb7c1
mov ebp, dword [esp + 0x3c]
jmp 0x5eb7c1
test esi, 0x200
jne 0x5eb9e1
lea eax, [0x73dca4]
mov ecx, dword [esp + 0x11c]
jmp 0x5eba07
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00497710
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
test eax, eax
je 0x5eba34
mov eax, dword [eax + 4]
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], ecx
lea eax, [0x6e61a6]
mov dword [esp], eax
mov dword [esp + 4], 0x3a
lea ecx, [esp + 0x198]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.005242a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1b8]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x5ebac2
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005e87b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1b8]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5ebaba
mov dword [edx + 0x40], eax
jmp 0x5ebac2
lea edi, [edx + 0x40]
call fcn.004642e0
xor eax, eax
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
jmp 0x5ebaea
mov edx, dword [esp + 0x1b8]
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x120]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x120], ebp
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x2f], al
mov esi, dword [edx + 0x38]
test esi, esi
jne 0x5ebb5b
lea eax, [0x6a91a0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [0x8f52e0]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x5ebb2f
mov edx, dword [esp + 0x1b8]
mov dword [edx + 0x38], ecx
jmp 0x5ebb44
mov edi, dword [esp + 0x16c]
mov eax, ecx
call fcn.004642e0
mov edx, dword [esp + 0x1b8]
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x120]
mov esi, dword [edx + 0x38]
mov dword [esp + 0x150], esi
mov edi, ecx
mov ecx, dword [esi + 0x10]
mov ebx, dword [esi + 0xc]
inc ebx
mov ebp, dword [esi + 8]
mov edx, dword [esp + 0x14c]
mov esi, dword [edx]
mov edx, dword [edx + 4]
cmp ecx, ebx
jae 0x5ebbf9
mov dword [esp + 0x9c], edx
mov dword [esp + 0x160], esi
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x698ba0]
mov dword [esp + 0x10], eax
call fcn.0044b130
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x150]
mov dword [ebx + 0x10], edx
mov edx, dword [0x8f52e0]
test edx, edx
jne 0x5ebbd6
mov dword [ebx + 8], eax
jmp 0x5ebbde
lea edi, [ebx + 8]
call fcn.004642e0
mov edx, dword [esp + 0x9c]
mov esi, dword [esp + 0x160]
mov edi, dword [esp + 0x3c]
mov ebx, ecx
mov ebp, eax
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x150]
mov dword [ecx + 0xc], ebx
lea ecx, [ebp + ebx*8 - 4]
mov dword [ecx], edx
lea ecx, [ebp + ebx*8 - 8]
mov edx, dword [0x8f52e0]
test edx, edx
jne 0x5ebc1b
mov dword [ecx], esi
jmp 0x5ebc2c
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, esi
call fcn.004642e0
mov eax, ebx
mov edi, edx
mov ecx, dword [esp + 0x1b8]
mov edx, dword [ecx + 0x38]
mov ebx, dword [esp + 0x30]
mov dword [edx], ebx
mov ebp, dword [0x8f52e0]
test ebp, ebp
jne 0x5ebc52
mov ebp, dword [esp + 0x110]
mov dword [edx + 4], ebp
jmp 0x5ebc72
add edx, 4
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x110]
call fcn.004642e0
mov eax, esi
mov ebp, dword [esp + 0x110]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x13c]
movzx edi, byte [esp + 0x2f]
jmp 0x5ea855
mov eax, edx
call fcn.00464360
call fcn.00464360
lea eax, [0x698ba0]
mov dword [esp], eax
lea eax, [0x73b628]
mov dword [esp + 4], eax
call fcn.00436320
mov eax, edi
mov ecx, ebp
call fcn.004643c0
mov ecx, ebp
call fcn.004643a0
lea eax, [0x698ba0]
mov dword [esp], eax
lea eax, [0x73b628]
mov dword [esp + 4], eax
call fcn.00436320
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x6c8080]
mov dword [esp + 8], eax
call fcn.00409360
nop
call fcn.00462ed0
jmp fcn.005e9d40