Function at 0x536ff4
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0xb91
push 0
push 0
dec ecx
jne 0x536ffd
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x98]
call fcn.00405158
lea eax, [ebp - 0x9c]
call fcn.00405a50
lea eax, [ebp - 0x88]
mov edx, dword [0x4df050]
call fcn.00405a70
mov ecx, 0x28
lea eax, [ebp - 0x5008]
mov edx, dword [0x401120]
call fcn.00405aa0
mov ecx, 0x28
lea eax, [ebp - 0x50a8]
mov edx, dword [0x40112c]
call fcn.00405aa0
mov ecx, 0x28
lea eax, [ebp - 0x54b8]
mov edx, dword [0x40114c]
call fcn.00405aa0
mov ecx, 0x14
lea eax, [ebp - 0x58c8]
mov edx, dword [0x536ef4]
call fcn.00405aa0
mov ecx, 0x14
lea eax, [ebp - 0x5918]
mov edx, dword [0x536f14]
call fcn.00405aa0
mov ecx, 0x14
lea eax, [ebp - 0x5968]
mov edx, dword [0x536f34]
call fcn.00405aa0
mov ecx, 0x14
lea eax, [ebp - 0x59b8]
mov edx, dword [0x536f54]
call fcn.00405aa0
mov ecx, 0x14
lea eax, [ebp - 0x5a08]
mov edx, dword [0x536f74]
call fcn.00405aa0
mov ecx, 0x14
lea eax, [ebp - 0x5a58]
mov edx, dword [0x536f94]
call fcn.00405aa0
mov ecx, 0x14
lea eax, [ebp - 0x5aa8]
mov edx, dword [0x536fb4]
call fcn.00405aa0
mov ecx, 0x14
lea eax, [ebp - 0x5af8]
mov edx, dword [0x536fd4]
call fcn.00405aa0
xor eax, eax
push ebp
push 0x53e891
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
xor edx, edx
mov cl, 1
call fcn.0041684c
mov byte [ebp - 0x9d], 0
lea edx, [ebp - 0xb8]
mov eax, dword [ebp - 0x9c]
call fcn.00409f28
mov eax, dword [ebp - 0xb8]
call fcn.0040569c
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x5afc]
push eax
mov edx, dword [ebp - 0x90]
sub edx, 4
jno 0x53718c
call fcn.00403c1c
mov ecx, 5
mov eax, dword [ebp - 0xb8]
call fcn.00405844
mov eax, dword [ebp - 0x5afc]
mov edx, 0x53e8a8
call fcn.004057c0
je 0x5371eb
lea eax, [ebp - 0x5b00]
push eax
mov edx, dword [ebp - 0x90]
sub edx, 4
jno 0x5371c5
call fcn.00403c1c
mov ecx, 5
mov eax, dword [ebp - 0xb8]
call fcn.00405844
mov eax, dword [ebp - 0x5b00]
mov edx, 0x53e8b8
call fcn.004057c0
jne 0x5372b9
mov byte [ebp - 0x9d], 1
lea eax, [ebp - 0x5b08]
push eax
mov ecx, dword [ebp - 0x90]
sub ecx, 5
jno 0x537209
call fcn.00403c1c
mov edx, 1
mov eax, dword [ebp - 0x9c]
call fcn.00405844
mov eax, dword [ebp - 0x5b08]
lea edx, [ebp - 0x5b04]
call fcn.0040a18c
mov edx, dword [ebp - 0x5b04]
lea eax, [ebp - 0x9c]
call fcn.00405514
mov eax, dword [ebp - 0x9c]
call fcn.0040569c
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x9c]
dec eax
test edx, edx
je 0x537262
cmp eax, dword [edx - 4]
jb 0x537267
call fcn.00403c14
inc eax
cmp word [edx + eax*2 - 2], 0x3a
jne 0x5372b9
lea eax, [ebp - 0x5b10]
push eax
mov ecx, dword [ebp - 0x90]
sub ecx, 1
jno 0x537287
call fcn.00403c1c
mov edx, 1
mov eax, dword [ebp - 0x9c]
call fcn.00405844
mov eax, dword [ebp - 0x5b10]
lea edx, [ebp - 0x5b0c]
call fcn.0040a18c
mov edx, dword [ebp - 0x5b0c]
lea eax, [ebp - 0x9c]
call fcn.00405514
lea eax, [ebp - 0x9a9]
xor ecx, ecx
mov edx, 0x800
call fcn.00403628
lea eax, [ebp - 0x4a8c]
xor ecx, ecx
mov edx, 0xa0
call fcn.00403628
xor eax, eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
cmp eax, 7
jbe 0x5372f5
call fcn.00403c14
xor edx, edx
mov dword [ebp + eax*4 - 0x49ec], edx
inc dword [ebp - 0xa4]
cmp dword [ebp - 0xa4], 8
jne 0x5372e5
xor eax, eax
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x188], 0xffffffff
xor eax, eax
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xc8]
mov edx, dword [ebp - 0x9c]
call fcn.00405514
xor eax, eax
push ebp
push 0x53acf3
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xa4], eax
push 0
lea eax, [ebp - 0xbc]
push eax
lea edx, [ebp - 0x9c]
mov cx, 0x29
mov eax, dword [ebp - 4]
call fcn.004e1310
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x5b14]
push eax
lea ecx, [ebp - 0xcc]
lea eax, [ebp - 0xbc]
mov edx, 0x53e8c8
call fcn.004af2fc
mov eax, dword [ebp - 0x5b14]
lea edx, [ebp - 0xb8]
call fcn.0040a18c
mov eax, dword [ebp - 0xb8]
xor edx, edx
call fcn.004057c0
jne 0x5373c0
mov eax, dword [ebp - 0xcc]
mov edx, 0x53e8d8
call fcn.004057c0
je 0x537369
mov eax, dword [ebp - 0xcc]
mov edx, 0x53e8e0
call fcn.004057c0
je 0x5373e4
mov eax, dword [ebp - 0xcc]
mov edx, 0x53e8e8
call fcn.004057c0
jne 0x53741d
mov eax, dword [ebp - 0xb8]
xor edx, edx
call fcn.004057c0
jne 0x537406
lea eax, [ebp - 0xb8]
mov edx, dword [ebp - 0xcc]
call fcn.00405514
jmp 0x53741d
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xcc]
call fcn.00405708
mov eax, dword [ebp - 0xb8]
xor edx, edx
call fcn.004057c0
je 0x53ab33
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 4]
call fcn.005364a0
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0x9e], 0
mov edx, dword [ebp - 0xb8]
mov eax, 0x53e8f0
call fcn.004059bc
test eax, eax
jle 0x537470
mov byte [ebp - 0x9e], 1
or dword [ebp - 0xa8], 0x100
mov eax, dword [ebp - 0xa8]
cmp eax, 0x12
jg 0x5374d9
je case.0x537541.274
cmp eax, 0x11
ja case.0x537541.265
jmp dword [eax*4 + 0x537491]
cmp eax, 0x107
jg 0x537533
je 0x539ae2
cmp eax, 0x102
jg 0x537513
je 0x5392cf
sub eax, 0x14
je 0x53a85b
dec eax
je 0x53a964
sub eax, 0xec
je 0x538f0b
jmp case.0x537541.265
sub eax, 0x103
je 0x539580
dec eax
sub eax, 2
jb case.0x53748a.4
je 0x539831
jmp case.0x537541.265
add eax, 0xfffffef8
cmp eax, 0xa
ja case.0x537541.265
jmp dword [eax*4 + 0x537548]
cmp dword [ebp - 0x184], 0
jle 0x5375cc
cmp byte [ebp - 0x9d], 0
jne 0x53760c
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53759c
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53760c
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x5375bd
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x5375ca
call fcn.00403c1c
jmp 0x53760c
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x5375de
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53760c
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x5375ff
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53760c
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53761b
cmp eax, dword [ebp + 0x18]
jle 0x537620
call fcn.00403c14
imul eax, eax, 2
jno 0x53762a
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00413074
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53764d
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x110]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x537672
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x5376cf
cmp byte [ebp - 0x9d], 0
jne 0x53770f
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53769f
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53770f
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x5376c0
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x5376cd
call fcn.00403c1c
jmp 0x53770f
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x5376e1
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53770f
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x537702
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53770f
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53771e
cmp eax, dword [ebp + 0x18]
jle 0x537723
call fcn.00403c14
imul eax, eax, 2
jno 0x53772d
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004149d4
fstp dword [ebp - 0x114]
wait
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x537751
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x114]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x537776
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x5377d3
cmp byte [ebp - 0x9d], 0
jne 0x537813
mov eax, dword [ebp - 0x90]
and eax, 0x80000007
jns 0x5377a3
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x537813
mov eax, 8
sub eax, dword [ebp - 0xa8]
jno 0x5377c4
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x5377d1
call fcn.00403c1c
jmp 0x537813
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x5377e5
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x537813
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x537806
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x537813
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x537822
cmp eax, dword [ebp + 0x18]
jle 0x537827
call fcn.00403c14
imul eax, eax, 2
jno 0x537831
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004149d4
fstp qword [ebp - 0x120]
wait
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x537855
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x120]
mov ecx, 8
call fcn.00402fc8
add dword [ebp - 0x90], 8
jno 0x53787a
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x5378d7
cmp byte [ebp - 0x9d], 0
jne 0x537917
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x5378a7
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x537917
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x5378c8
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x5378d5
call fcn.00403c1c
jmp 0x537917
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x5378e9
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x537917
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53790a
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x537917
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x537926
cmp eax, dword [ebp + 0x18]
jle 0x53792b
call fcn.00403c14
imul eax, eax, 2
jno 0x537935
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
cmp ax, 1
je 0x53796c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x537955
cmp eax, dword [ebp + 0x10]
jle 0x53795a
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x5379a6
lea eax, [ebp - 0x5b24]
call fcn.00419b20
lea edx, [ebp - 0x5b24]
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53798d
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x5008]
call fcn.004159e8
xor eax, eax
mov dword [ebp - 0x148], eax
jmp 0x537af0
lea eax, [ebp - 0x5b28]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x5379bb
cmp edx, dword [ebp + 0x18]
jle 0x5379c0
call fcn.00403c14
imul edx, edx, 2
jno 0x5379ca
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004159e8
mov edx, dword [ebp - 0x5b28]
mov eax, 0x53e910
call fcn.004052ac
test eax, eax
jle 0x537a50
lea eax, [ebp - 0x5b30]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x5379fe
cmp edx, dword [ebp + 0x18]
jle 0x537a03
call fcn.00403c14
imul edx, edx, 2
jno 0x537a0d
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004159e8
mov edx, dword [ebp - 0x5b30]
lea ecx, [ebp - 0x5b2c]
mov eax, dword [ebp - 4]
call fcn.0052d788
mov edx, dword [ebp - 0x5b2c]
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537a42
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x5008]
call fcn.00404d20
jmp 0x537a90
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537a60
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x5008]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x537a76
cmp edx, dword [ebp + 0x18]
jle 0x537a7b
call fcn.00403c14
imul edx, edx, 2
jno 0x537a85
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004159e8
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537aa0
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x5008]
push eax
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537ab8
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5008]
mov ecx, 0x7fffffff
mov edx, 1
call fcn.004051c8
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537ade
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5008]
call fcn.00405168
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
je 0x537d06
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 4]
call fcn.005364a0
cmp eax, 4
je 0x537b27
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 4]
call fcn.005364a0
cmp eax, 5
jne 0x537d06
cmp dword [ebp - 0x184], 0
jle 0x537d06
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537b44
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5008]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 0
je 0x537b77
mov eax, dword [ebp - 0x194]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537b87
call fcn.00403c14
mov edx, dword [ebp - 0x194]
mov dword [ebp + eax*4 - 0x4a8c], edx
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537ba4
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x4a8c]
add eax, dword [ebp - 0x90]
jno 0x537bb8
call fcn.00403c1c
cmp eax, 0x800
jle 0x537c8b
mov eax, dword [0x5743fc]
cmp byte [eax], 0
je 0x537c2d
push 0
push 0x53e91c
lea edx, [ebp - 0x5b3c]
mov eax, 0x800
call fcn.0040a504
push dword [ebp - 0x5b3c]
push 0x53e938
lea eax, [ebp - 0x5b38]
mov edx, 3
call fcn.00405028
mov edx, dword [ebp - 0x5b38]
lea eax, [ebp - 0x5b34]
call fcn.0040567c
mov eax, dword [ebp - 0x5b34]
push eax
mov eax, dword [0x57438c]
mov eax, dword [eax]
call fcn.0045ff94
xor ecx, ecx
pop edx
call fcn.0056e174
jmp 0x537c8b
push 0
push 0x53e950
lea edx, [ebp - 0x5b48]
mov eax, 0x800
call fcn.0040a504
push dword [ebp - 0x5b48]
push 0x53e974
lea eax, [ebp - 0x5b44]
mov edx, 3
call fcn.00405028
mov edx, dword [ebp - 0x5b44]
lea eax, [ebp - 0x5b40]
call fcn.0040567c
mov eax, dword [ebp - 0x5b40]
push eax
mov eax, dword [0x57438c]
mov eax, dword [eax]
call fcn.0045ff94
xor ecx, ecx
pop edx
call fcn.0056e174
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537c9b
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5008]
call fcn.00405168
mov edx, dword [ebp - 0xa4]
cmp edx, 0x27
jbe 0x537cb7
call fcn.00403c14
mov ecx, dword [ebp + edx*4 - 0x4a8c]
mov edx, dword [ebp - 0x90]
cmp edx, 0x7ff
jbe 0x537cd1
call fcn.00403c14
lea edx, [ebp + edx - 0x9a9]
call fcn.00402fc8
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537ced
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x4a8c]
add dword [ebp - 0x90], eax
jno 0x537d01
call fcn.00403c1c
jmp case.0x53748a.16
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x537d18
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x148]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x537d3d
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x537d9a
cmp byte [ebp - 0x9d], 0
jne 0x537dda
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x537d6a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x537dda
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x537d8b
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x537d98
call fcn.00403c1c
jmp 0x537dda
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x537dac
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x537dda
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x537dcd
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x537dda
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x537de9
cmp eax, dword [ebp + 0x18]
jle 0x537dee
call fcn.00403c14
imul eax, eax, 2
jno 0x537df8
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
cmp ax, 1
je 0x537e2f
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x537e18
cmp eax, dword [ebp + 0x10]
jle 0x537e1d
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x537e69
lea eax, [ebp - 0x5b58]
call fcn.00419b20
lea edx, [ebp - 0x5b58]
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537e50
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x50a8]
call fcn.00416108
xor eax, eax
mov dword [ebp - 0x14c], eax
jmp 0x537fb3
lea eax, [ebp - 0x5b5c]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x537e7e
cmp edx, dword [ebp + 0x18]
jle 0x537e83
call fcn.00403c14
imul edx, edx, 2
jno 0x537e8d
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004159e8
mov edx, dword [ebp - 0x5b5c]
mov eax, 0x53e910
call fcn.004052ac
test eax, eax
jle 0x537f13
lea eax, [ebp - 0x5b64]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x537ec1
cmp edx, dword [ebp + 0x18]
jle 0x537ec6
call fcn.00403c14
imul edx, edx, 2
jno 0x537ed0
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00416108
mov edx, dword [ebp - 0x5b64]
lea ecx, [ebp - 0x5b60]
mov eax, dword [ebp - 4]
call fcn.0052d518
mov edx, dword [ebp - 0x5b60]
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537f05
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x50a8]
call fcn.00405514
jmp 0x537f53
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537f23
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x50a8]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x537f39
cmp edx, dword [ebp + 0x18]
jle 0x537f3e
call fcn.00403c14
imul edx, edx, 2
jno 0x537f48
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00416108
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537f63
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x50a8]
push eax
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537f7b
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x50a8]
mov ecx, 0x7fffffff
mov edx, 1
call fcn.00405844
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x537fa1
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x50a8]
call fcn.0040568c
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0
je 0x53819c
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 4]
call fcn.005364a0
cmp eax, 0xd
je 0x537fea
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 4]
call fcn.005364a0
cmp eax, 0xe
jne 0x53819c
cmp dword [ebp - 0x184], 0
jle 0x53819c
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x538007
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x50a8]
call fcn.0040569c
mov edx, dword [ebp - 0xa4]
cmp edx, 0x27
jbe 0x538023
call fcn.00403c14
mov dword [ebp + edx*4 - 0x4a8c], eax
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53803a
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x4a8c]
add eax, dword [ebp - 0x90]
jno 0x53804e
call fcn.00403c1c
cmp eax, 0x800
jle 0x538121
mov eax, dword [0x5743fc]
cmp byte [eax], 0
je 0x5380c3
push 0
push 0x53e91c
lea edx, [ebp - 0x5b70]
mov eax, 0x800
call fcn.0040a504
push dword [ebp - 0x5b70]
push 0x53e938
lea eax, [ebp - 0x5b6c]
mov edx, 3
call fcn.00405028
mov edx, dword [ebp - 0x5b6c]
lea eax, [ebp - 0x5b68]
call fcn.0040567c
mov eax, dword [ebp - 0x5b68]
push eax
mov eax, dword [0x57438c]
mov eax, dword [eax]
call fcn.0045ff94
xor ecx, ecx
pop edx
call fcn.0056e174
jmp 0x538121
push 0
push 0x53e950
lea edx, [ebp - 0x5b7c]
mov eax, 0x800
call fcn.0040a504
push dword [ebp - 0x5b7c]
push 0x53e974
lea eax, [ebp - 0x5b78]
mov edx, 3
call fcn.00405028
mov edx, dword [ebp - 0x5b78]
lea eax, [ebp - 0x5b74]
call fcn.0040567c
mov eax, dword [ebp - 0x5b74]
push eax
mov eax, dword [0x57438c]
mov eax, dword [eax]
call fcn.0045ff94
xor ecx, ecx
pop edx
call fcn.0056e174
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x538131
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x50a8]
call fcn.0040568c
mov edx, dword [ebp - 0xa4]
cmp edx, 0x27
jbe 0x53814d
call fcn.00403c14
mov ecx, dword [ebp + edx*4 - 0x4a8c]
mov edx, dword [ebp - 0x90]
cmp edx, 0x7ff
jbe 0x538167
call fcn.00403c14
lea edx, [ebp + edx - 0x9a9]
call fcn.00402fc8
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x538183
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x4a8c]
add dword [ebp - 0x90], eax
jno 0x538197
call fcn.00403c1c
jmp case.0x53748a.16
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x5381ae
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x14c]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x5381d3
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x538230
cmp byte [ebp - 0x9d], 0
jne 0x538270
mov eax, dword [ebp - 0x90]
and eax, 0x80000001
jns 0x538200
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538270
mov eax, 2
sub eax, dword [ebp - 0xa8]
jno 0x538221
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53822e
call fcn.00403c1c
jmp 0x538270
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x538242
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538270
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x538263
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538270
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53827f
cmp eax, dword [ebp + 0x18]
jle 0x538284
call fcn.00403c14
imul eax, eax, 2
jno 0x53828e
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00413074
mov word [ebp - 0x122], ax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x5382b2
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x122]
mov ecx, 2
call fcn.00402fc8
add dword [ebp - 0x90], 2
jno 0x5382d7
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x538334
cmp byte [ebp - 0x9d], 0
jne 0x538374
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x538304
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538374
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x538325
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538332
call fcn.00403c1c
jmp 0x538374
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x538346
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538374
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x538367
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538374
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x538383
cmp eax, dword [ebp + 0x18]
jle 0x538388
call fcn.00403c14
imul eax, eax, 2
jno 0x538392
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
movzx eax, ax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 1
jne 0x5383bc
xor eax, eax
mov dword [ebp - 0x128], eax
jmp 0x53854f
cmp dword [ebp - 0xac], 0x100
je 0x5383d5
cmp dword [ebp - 0xac], 8
jne 0x53851b
lea eax, [ebp - 0x5b80]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x5383ea
cmp edx, dword [ebp + 0x18]
jle 0x5383ef
call fcn.00403c14
imul edx, edx, 2
jno 0x5383f9
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004159e8
mov edx, dword [ebp - 0x5b80]
mov eax, 0x53e910
call fcn.004052ac
test eax, eax
jle 0x53848c
lea eax, [ebp - 0x5b88]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x53842d
cmp edx, dword [ebp + 0x18]
jle 0x538432
call fcn.00403c14
imul edx, edx, 2
jno 0x53843c
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00416108
mov edx, dword [ebp - 0x5b88]
lea ecx, [ebp - 0x5b84]
mov eax, dword [ebp - 4]
call fcn.0052d518
mov edx, dword [ebp - 0x5b84]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x538470
cmp eax, dword [ebp + 0x18]
jle 0x538475
call fcn.00403c14
imul eax, eax, 2
jno 0x53847f
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.00416b1c
jmp 0x5384d9
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53849b
cmp eax, dword [ebp + 0x18]
jle 0x5384a0
call fcn.00403c14
imul eax, eax, 2
jno 0x5384aa
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x5384bf
cmp edx, dword [ebp + 0x18]
jle 0x5384c4
call fcn.00403c14
imul edx, edx, 2
jno 0x5384ce
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.0041276c
lea eax, [ebp - 0x5b8c]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x5384ee
cmp edx, dword [ebp + 0x18]
jle 0x5384f3
call fcn.00403c14
imul edx, edx, 2
jno 0x5384fd
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004159e8
mov eax, dword [ebp - 0x5b8c]
call fcn.00405168
mov dword [ebp - 0x128], eax
jmp 0x53854f
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53852a
cmp eax, dword [ebp + 0x18]
jle 0x53852f
call fcn.00403c14
imul eax, eax, 2
jno 0x538539
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004149d4
call fcn.004033e4
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x538561
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x128]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x538586
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x5385e3
cmp byte [ebp - 0x9d], 0
jne 0x538623
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x5385b3
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538623
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x5385d4
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x5385e1
call fcn.00403c1c
jmp 0x538623
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x5385f5
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538623
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x538616
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538623
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x538632
cmp eax, dword [ebp + 0x18]
jle 0x538637
call fcn.00403c14
imul eax, eax, 2
jno 0x538641
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
movzx eax, ax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 1
jne 0x538668
xor eax, eax
mov dword [ebp - 0x174], eax
jmp 0x538692
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x538677
cmp eax, dword [ebp + 0x18]
jle 0x53867c
call fcn.00403c14
imul eax, eax, 2
jno 0x538686
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x5386a4
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x174]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x5386c9
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x538726
cmp byte [ebp - 0x9d], 0
jne 0x538766
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x5386f6
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538766
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x538717
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538724
call fcn.00403c1c
jmp 0x538766
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x538738
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538766
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x538759
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538766
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x538775
cmp eax, dword [ebp + 0x18]
jle 0x53877a
call fcn.00403c14
imul eax, eax, 2
jno 0x538784
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
movzx eax, ax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 1
jne 0x5387ae
xor eax, eax
mov dword [ebp - 0x150], eax
jmp 0x53887e
test byte [ebp - 0xab], 0x40
je 0x538808
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x5387c6
cmp eax, dword [ebp + 0x18]
jle 0x5387cb
call fcn.00403c14
imul eax, eax, 2
jno 0x5387d5
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [ebp - 0xa4]
cmp edx, 0x27
jbe 0x5387ec
call fcn.00403c14
imul edx, edx, 3
jno 0x5387f6
call fcn.00403c1c
mov esi, eax
lea edi, [ebp + edx*8 - 0x5878]
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
jmp 0x538857
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x538817
cmp eax, dword [ebp + 0x18]
jle 0x53881c
call fcn.00403c14
imul eax, eax, 2
jno 0x538826
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [ebp - 0xa4]
cmp edx, 0x27
jbe 0x53883d
call fcn.00403c14
imul edx, edx, 3
jno 0x538847
call fcn.00403c1c
mov esi, eax
lea edi, [ebp + edx*8 - 0x5878]
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x538867
call fcn.00403c14
imul eax, eax, 3
jno 0x538871
call fcn.00403c1c
lea eax, [ebp + eax*8 - 0x5878]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x538890
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x150]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x5388b5
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jg 0x538903
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x5388d5
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538903
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x5388f6
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538903
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x538912
cmp eax, dword [ebp + 0x18]
jle 0x538917
call fcn.00403c14
imul eax, eax, 2
jno 0x538921
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00413074
mov byte [ebp - 0x109], al
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x538944
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x109]
mov ecx, 1
call fcn.00402fc8
add dword [ebp - 0x90], 1
jno 0x538969
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jg 0x5389b7
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x538989
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x5389b7
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x5389aa
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x5389b7
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x5389c6
cmp eax, dword [ebp + 0x18]
jle 0x5389cb
call fcn.00403c14
imul eax, eax, 2
jno 0x5389d5
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
movzx eax, ax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 1
jne 0x5389fb
mov byte [ebp - 0x19d], 1
jmp 0x538a6a
lea eax, [ebp - 0x5b90]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x538a10
cmp edx, dword [ebp + 0x18]
jle 0x538a15
call fcn.00403c14
imul edx, edx, 2
jno 0x538a1f
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004159e8
mov eax, dword [ebp - 0x5b90]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0
je 0x538a5c
mov eax, dword [ebp - 0x19c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0
sete byte [ebp - 0x19d]
cmp byte [ebp - 0x19d], 0
je 0x538a7c
mov byte [ebp - 0x141], 0
jmp 0x538ad0
lea eax, [ebp - 0x5b94]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x538a91
cmp edx, dword [ebp + 0x18]
jle 0x538a96
call fcn.00403c14
imul edx, edx, 2
jno 0x538aa0
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004159e8
mov eax, dword [ebp - 0x5b94]
mov edx, 1
dec edx
test eax, eax
je 0x538ac0
cmp edx, dword [eax - 4]
jb 0x538ac5
call fcn.00403c14
inc edx
mov al, byte [eax + edx - 1]
mov byte [ebp - 0x141], al
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x538ae2
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x141]
mov ecx, 1
call fcn.00402fc8
add dword [ebp - 0x90], 1
jno 0x538b07
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x538b64
cmp byte [ebp - 0x9d], 0
jne 0x538ba4
mov eax, dword [ebp - 0x90]
and eax, 0x80000001
jns 0x538b34
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538ba4
mov eax, 2
sub eax, dword [ebp - 0xa8]
jno 0x538b55
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538b62
call fcn.00403c1c
jmp 0x538ba4
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x538b76
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538ba4
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x538b97
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538ba4
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x538bb3
cmp eax, dword [ebp + 0x18]
jle 0x538bb8
call fcn.00403c14
imul eax, eax, 2
jno 0x538bc2
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
movzx eax, ax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 1
jne 0x538be8
mov byte [ebp - 0x1a9], 1
jmp 0x538c57
lea eax, [ebp - 0x5b98]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x538bfd
cmp edx, dword [ebp + 0x18]
jle 0x538c02
call fcn.00403c14
imul edx, edx, 2
jno 0x538c0c
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004159e8
mov eax, dword [ebp - 0x5b98]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
je 0x538c49
mov eax, dword [ebp - 0x1a8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
sete byte [ebp - 0x1a9]
cmp byte [ebp - 0x1a9], 0
je 0x538c6b
mov word [ebp - 0x144], 0
jmp 0x538cc1
lea eax, [ebp - 0x5b9c]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x538c80
cmp edx, dword [ebp + 0x18]
jle 0x538c85
call fcn.00403c14
imul edx, edx, 2
jno 0x538c8f
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004159e8
mov eax, dword [ebp - 0x5b9c]
mov edx, 1
dec edx
test eax, eax
je 0x538caf
cmp edx, dword [eax - 4]
jb 0x538cb4
call fcn.00403c14
inc edx
movzx eax, byte [eax + edx - 1]
mov word [ebp - 0x144], ax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x538cd3
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x144]
mov ecx, 2
call fcn.00402fc8
add dword [ebp - 0x90], 2
jno 0x538cf8
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x538d55
cmp byte [ebp - 0x9d], 0
jne 0x538d95
mov eax, dword [ebp - 0x90]
and eax, 0x80000007
jns 0x538d25
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538d95
mov eax, 8
sub eax, dword [ebp - 0xa8]
jno 0x538d46
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538d53
call fcn.00403c1c
jmp 0x538d95
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x538d67
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538d95
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x538d88
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538d95
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x538da4
cmp eax, dword [ebp + 0x18]
jle 0x538da9
call fcn.00403c14
imul eax, eax, 2
jno 0x538db3
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00413074
cdq
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x538ddd
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x130]
mov ecx, 8
call fcn.00402fc8
add dword [ebp - 0x90], 8
jno 0x538e02
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x538e5f
cmp byte [ebp - 0x9d], 0
jne 0x538e9f
mov eax, dword [ebp - 0x90]
and eax, 0x80000007
jns 0x538e2f
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538e9f
mov eax, 8
sub eax, dword [ebp - 0xa8]
jno 0x538e50
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538e5d
call fcn.00403c1c
jmp 0x538e9f
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x538e71
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538e9f
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x538e92
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538e9f
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x538eae
cmp eax, dword [ebp + 0x18]
jle 0x538eb3
call fcn.00403c14
imul eax, eax, 2
jno 0x538ebd
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004149d4
fstp xword [ebp - 0x140]
wait
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x538ee1
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x140]
mov ecx, 0xa
call fcn.00402fc8
add dword [ebp - 0x90], 0xa
jno 0x538f06
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x538f63
cmp byte [ebp - 0x9d], 0
jne 0x538fa3
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x538f33
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538fa3
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x538f54
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538f61
call fcn.00403c1c
jmp 0x538fa3
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x538f75
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x538fa3
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x538f96
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x538fa3
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x538fb2
cmp eax, dword [ebp + 0x18]
jle 0x538fb7
call fcn.00403c14
imul eax, eax, 2
jno 0x538fc1
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
cmp ax, 1
je 0x538ff8
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x538fe1
cmp eax, dword [ebp + 0x10]
jle 0x538fe6
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x539005
xor eax, eax
mov dword [ebp - 0x158], eax
jmp 0x539293
cmp byte [ebp - 0x9e], 0
je 0x5391b7
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x539022
cmp eax, dword [ebp + 0x10]
jle 0x539027
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00536d74
pop ecx
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
push eax
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x539051
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x5918]
mov ecx, 1
mov edx, dword [0x536f14]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x539080
call fcn.00403c1c
test eax, eax
jl 0x539182
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
xor eax, eax
push ebp
push 0x5390fd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x5390b7
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
call fcn.00413074
mov edx, dword [ebp - 0xa4]
cmp edx, 0x13
jbe 0x5390d5
call fcn.00403c14
mov edx, dword [ebp + edx*4 - 0x5918]
mov ecx, dword [ebp - 0xb0]
test edx, edx
je 0x5390eb
cmp ecx, dword [edx - 4]
jb 0x5390f0
call fcn.00403c14
mov dword [edx + ecx*4], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x539170
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x539099
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x539192
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5918]
xor edx, edx
test eax, eax
je 0x5391a4
cmp edx, dword [eax - 4]
jb 0x5391a9
call fcn.00403c14
lea eax, [eax + edx*4]
mov dword [ebp - 0x158], eax
jmp 0x539293
xor eax, eax
push ebp
push 0x53920f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x5391d4
cmp eax, dword [ebp + 0x18]
jle 0x5391d9
call fcn.00403c14
imul eax, eax, 2
jno 0x5391e3
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00413074
mov edx, dword [ebp - 0xa4]
cmp edx, 0x27
jbe 0x5391fe
call fcn.00403c14
mov dword [ebp + edx*4 - 0x4b54], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x539276
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x539286
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x4b54]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x5392a5
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x158]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x5392ca
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x539327
cmp byte [ebp - 0x9d], 0
jne 0x539367
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x5392f7
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x539367
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x539318
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x539325
call fcn.00403c1c
jmp 0x539367
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x539339
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x539367
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53935a
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x539367
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x539376
cmp eax, dword [ebp + 0x18]
jle 0x53937b
call fcn.00403c14
imul eax, eax, 2
jno 0x539385
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
cmp ax, 1
je 0x5393bc
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x5393a5
cmp eax, dword [ebp + 0x10]
jle 0x5393aa
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x5393c9
xor eax, eax
mov dword [ebp - 0x15c], eax
jmp 0x539544
cmp byte [ebp - 0x9e], 0
je 0x5394e6
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x5393e6
cmp eax, dword [ebp + 0x10]
jle 0x5393eb
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00536d74
pop ecx
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
push eax
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x539415
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x5968]
mov ecx, 1
mov edx, dword [0x536f34]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x539444
call fcn.00403c1c
test eax, eax
jl 0x5394b4
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x539469
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
call fcn.004149d4
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x539487
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5968]
mov edx, dword [ebp - 0xb0]
test eax, eax
je 0x53949d
cmp edx, dword [eax - 4]
jb 0x5394a2
call fcn.00403c14
fstp dword [eax + edx*4]
wait
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x539459
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x5394c4
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5968]
xor edx, edx
test eax, eax
je 0x5394d6
cmp edx, dword [eax - 4]
jb 0x5394db
call fcn.00403c14
lea eax, [eax + edx*4]
mov dword [ebp - 0x15c], eax
jmp 0x539544
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x5394f5
cmp eax, dword [ebp + 0x18]
jle 0x5394fa
call fcn.00403c14
imul eax, eax, 2
jno 0x539504
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004149d4
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53951f
call fcn.00403c14
fstp dword [ebp + eax*4 - 0x4bf4]
wait
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x539537
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x4bf4]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x539556
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x15c]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53957b
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x5395d8
cmp byte [ebp - 0x9d], 0
jne 0x539618
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x5395a8
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x539618
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x5395c9
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x5395d6
call fcn.00403c1c
jmp 0x539618
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x5395ea
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x539618
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53960b
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x539618
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x539627
cmp eax, dword [ebp + 0x18]
jle 0x53962c
call fcn.00403c14
imul eax, eax, 2
jno 0x539636
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
cmp ax, 1
je 0x53966d
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x539656
cmp eax, dword [ebp + 0x10]
jle 0x53965b
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53967a
xor eax, eax
mov dword [ebp - 0x160], eax
jmp 0x5397f5
cmp byte [ebp - 0x9e], 0
je 0x539797
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x539697
cmp eax, dword [ebp + 0x10]
jle 0x53969c
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00536d74
pop ecx
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
push eax
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x5396c6
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x59b8]
mov ecx, 1
mov edx, dword [0x536f54]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x5396f5
call fcn.00403c1c
test eax, eax
jl 0x539765
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x53971a
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
call fcn.004149d4
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x539738
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x59b8]
mov edx, dword [ebp - 0xb0]
test eax, eax
je 0x53974e
cmp edx, dword [eax - 4]
jb 0x539753
call fcn.00403c14
fstp qword [eax + edx*8]
wait
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x53970a
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x539775
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x59b8]
xor edx, edx
test eax, eax
je 0x539787
cmp edx, dword [eax - 4]
jb 0x53978c
call fcn.00403c14
lea eax, [eax + edx*8]
mov dword [ebp - 0x160], eax
jmp 0x5397f5
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x5397a6
cmp eax, dword [ebp + 0x18]
jle 0x5397ab
call fcn.00403c14
imul eax, eax, 2
jno 0x5397b5
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004149d4
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x5397d0
call fcn.00403c14
fstp qword [ebp + eax*8 - 0x4d38]
wait
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x5397e8
call fcn.00403c14
lea eax, [ebp + eax*8 - 0x4d38]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x539807
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x160]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53982c
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x539889
cmp byte [ebp - 0x9d], 0
jne 0x5398c9
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x539859
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x5398c9
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53987a
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x539887
call fcn.00403c1c
jmp 0x5398c9
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53989b
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x5398c9
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x5398bc
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x5398c9
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x5398d8
cmp eax, dword [ebp + 0x18]
jle 0x5398dd
call fcn.00403c14
imul eax, eax, 2
jno 0x5398e7
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
cmp ax, 1
je 0x53991e
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x539907
cmp eax, dword [ebp + 0x10]
jle 0x53990c
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53992b
xor eax, eax
mov dword [ebp - 0x164], eax
jmp 0x539aa6
cmp byte [ebp - 0x9e], 0
je 0x539a48
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x539948
cmp eax, dword [ebp + 0x10]
jle 0x53994d
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00536d74
pop ecx
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
push eax
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x539977
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x5a08]
mov ecx, 1
mov edx, dword [0x536f74]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x5399a6
call fcn.00403c1c
test eax, eax
jl 0x539a16
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x5399cb
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
call fcn.00413074
mov edx, dword [ebp - 0xa4]
cmp edx, 0x13
jbe 0x5399e9
call fcn.00403c14
mov edx, dword [ebp + edx*4 - 0x5a08]
mov ecx, dword [ebp - 0xb0]
test edx, edx
je 0x5399ff
cmp ecx, dword [edx - 4]
jb 0x539a04
call fcn.00403c14
mov word [edx + ecx*2], ax
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x5399bb
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x539a26
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5a08]
xor edx, edx
test eax, eax
je 0x539a38
cmp edx, dword [eax - 4]
jb 0x539a3d
call fcn.00403c14
lea eax, [eax + edx*2]
mov dword [ebp - 0x164], eax
jmp 0x539aa6
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x539a57
cmp eax, dword [ebp + 0x18]
jle 0x539a5c
call fcn.00403c14
imul eax, eax, 2
jno 0x539a66
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00413074
mov edx, dword [ebp - 0xa4]
cmp edx, 0x27
jbe 0x539a81
call fcn.00403c14
mov word [ebp + edx*2 - 0x4d88], ax
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x539a99
call fcn.00403c14
lea eax, [ebp + eax*2 - 0x4d88]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x539ab8
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x164]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x539add
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x539b3a
cmp byte [ebp - 0x9d], 0
jne 0x539b7a
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x539b0a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x539b7a
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x539b2b
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x539b38
call fcn.00403c1c
jmp 0x539b7a
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x539b4c
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x539b7a
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x539b6d
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x539b7a
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x539b89
cmp eax, dword [ebp + 0x18]
jle 0x539b8e
call fcn.00403c14
imul eax, eax, 2
jno 0x539b98
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
cmp ax, 1
je 0x539bcf
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x539bb8
cmp eax, dword [ebp + 0x10]
jle 0x539bbd
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x539bdc
xor eax, eax
mov dword [ebp - 0x168], eax
jmp 0x539e54
cmp byte [ebp - 0x9e], 0
je 0x539d83
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x539bf9
cmp eax, dword [ebp + 0x10]
jle 0x539bfe
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00536d74
pop ecx
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
push eax
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x539c28
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x5a58]
mov ecx, 1
mov edx, dword [0x536f94]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x539c57
call fcn.00403c1c
test eax, eax
jl 0x539d4e
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
xor eax, eax
push ebp
push 0x539cd9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x539c8e
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
call fcn.004149d4
call fcn.004033e4
mov edx, dword [ebp - 0xa4]
cmp edx, 0x13
jbe 0x539cb1
call fcn.00403c14
mov edx, dword [ebp + edx*4 - 0x5a58]
mov ecx, dword [ebp - 0xb0]
test edx, edx
je 0x539cc7
cmp ecx, dword [edx - 4]
jb 0x539ccc
call fcn.00403c14
mov dword [edx + ecx*4], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x539d3c
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x539c70
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x539d5e
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5a58]
xor edx, edx
test eax, eax
je 0x539d70
cmp edx, dword [eax - 4]
jb 0x539d75
call fcn.00403c14
lea eax, [eax + edx*4]
mov dword [ebp - 0x168], eax
jmp 0x539e54
xor eax, eax
push ebp
push 0x539de0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x539da0
cmp eax, dword [ebp + 0x18]
jle 0x539da5
call fcn.00403c14
imul eax, eax, 2
jno 0x539daf
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004149d4
call fcn.004033e4
mov edx, dword [ebp - 0xa4]
cmp edx, 0x27
jbe 0x539dcf
call fcn.00403c14
mov dword [ebp + edx*4 - 0x4e28], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x539e37
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x539e47
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x4e28]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x539e66
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x168]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x539e8b
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x539ee8
cmp byte [ebp - 0x9d], 0
jne 0x539f28
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x539eb8
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x539f28
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x539ed9
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x539ee6
call fcn.00403c1c
jmp 0x539f28
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x539efa
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x539f28
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x539f1b
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x539f28
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x539f37
cmp eax, dword [ebp + 0x18]
jle 0x539f3c
call fcn.00403c14
imul eax, eax, 2
jno 0x539f46
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
cmp ax, 1
je 0x539f7d
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x539f66
cmp eax, dword [ebp + 0x10]
jle 0x539f6b
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x539f87
xor eax, eax
mov dword [ebp - 0x174], eax
jmp 0x539ff8
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x539f97
call fcn.00403c14
imul eax, eax, 2
jno 0x539fa1
call fcn.00403c1c
lea eax, [ebp + eax*8 - 0x54b8]
mov edx, dword [ebp - 0xa4]
test edx, edx
jl 0x539fb7
cmp edx, dword [ebp + 0x18]
jle 0x539fbc
call fcn.00403c14
imul edx, edx, 2
jno 0x539fc6
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00416c68
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x539fe1
call fcn.00403c14
imul eax, eax, 2
jno 0x539feb
call fcn.00403c1c
lea eax, [ebp + eax*8 - 0x54b8]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53a00a
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x174]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53a02f
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x53a08c
cmp byte [ebp - 0x9d], 0
jne 0x53a0cc
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53a05c
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53a0cc
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53a07d
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53a08a
call fcn.00403c1c
jmp 0x53a0cc
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53a09e
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53a0cc
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53a0bf
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53a0cc
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53a0db
cmp eax, dword [ebp + 0x18]
jle 0x53a0e0
call fcn.00403c14
imul eax, eax, 2
jno 0x53a0ea
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
cmp ax, 1
je 0x53a121
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53a10a
cmp eax, dword [ebp + 0x10]
jle 0x53a10f
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53a12e
xor eax, eax
mov dword [ebp - 0x154], eax
jmp 0x53a2a6
cmp byte [ebp - 0x9e], 0
je 0x53a249
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53a14b
cmp eax, dword [ebp + 0x10]
jle 0x53a150
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00536d74
pop ecx
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
push eax
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53a17a
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x58c8]
mov ecx, 1
mov edx, dword [0x536ef4]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x53a1a9
call fcn.00403c1c
test eax, eax
jl 0x53a218
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x53a1ce
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
call fcn.00413074
mov edx, dword [ebp - 0xa4]
cmp edx, 0x13
jbe 0x53a1ec
call fcn.00403c14
mov edx, dword [ebp + edx*4 - 0x58c8]
mov ecx, dword [ebp - 0xb0]
test edx, edx
je 0x53a202
cmp ecx, dword [edx - 4]
jb 0x53a207
call fcn.00403c14
mov byte [edx + ecx], al
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x53a1be
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53a228
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x58c8]
xor edx, edx
test eax, eax
je 0x53a23a
cmp edx, dword [eax - 4]
jb 0x53a23f
call fcn.00403c14
add eax, edx
mov dword [ebp - 0x154], eax
jmp 0x53a2a6
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53a258
cmp eax, dword [ebp + 0x18]
jle 0x53a25d
call fcn.00403c14
imul eax, eax, 2
jno 0x53a267
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00413074
mov edx, dword [ebp - 0xa4]
cmp edx, 0x27
jbe 0x53a282
call fcn.00403c14
mov byte [ebp + edx - 0x4ab4], al
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53a299
call fcn.00403c14
lea eax, [ebp + eax - 0x4ab4]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53a2b8
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x154]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53a2dd
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x53a33a
cmp byte [ebp - 0x9d], 0
jne 0x53a37a
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53a30a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53a37a
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53a32b
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53a338
call fcn.00403c1c
jmp 0x53a37a
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53a34c
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53a37a
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53a36d
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53a37a
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53a389
cmp eax, dword [ebp + 0x18]
jle 0x53a38e
call fcn.00403c14
imul eax, eax, 2
jno 0x53a398
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
cmp ax, 1
je 0x53a3cf
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53a3b8
cmp eax, dword [ebp + 0x10]
jle 0x53a3bd
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53a3dc
xor eax, eax
mov dword [ebp - 0x16c], eax
jmp 0x53a562
cmp byte [ebp - 0x9e], 0
je 0x53a4fd
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53a3f9
cmp eax, dword [ebp + 0x10]
jle 0x53a3fe
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00536d74
pop ecx
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
push eax
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53a428
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x5aa8]
mov ecx, 1
mov edx, dword [0x536fb4]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x53a457
call fcn.00403c1c
test eax, eax
jl 0x53a4cb
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x53a47c
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
call fcn.00413074
cdq
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0x13
jbe 0x53a49b
call fcn.00403c14
mov ecx, dword [ebp + ecx*4 - 0x5aa8]
mov ebx, dword [ebp - 0xb0]
test ecx, ecx
je 0x53a4b1
cmp ebx, dword [ecx - 4]
jb 0x53a4b6
call fcn.00403c14
mov dword [ecx + ebx*8], eax
mov dword [ecx + ebx*8 + 4], edx
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x53a46c
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53a4db
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5aa8]
xor edx, edx
test eax, eax
je 0x53a4ed
cmp edx, dword [eax - 4]
jb 0x53a4f2
call fcn.00403c14
lea eax, [eax + edx*8]
mov dword [ebp - 0x16c], eax
jmp 0x53a562
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53a50c
cmp eax, dword [ebp + 0x18]
jle 0x53a511
call fcn.00403c14
imul eax, eax, 2
jno 0x53a51b
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00413074
cdq
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0x27
jbe 0x53a537
call fcn.00403c14
mov dword [ebp + ecx*8 - 0x4f68], eax
mov dword [ebp + ecx*8 - 0x4f64], edx
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53a555
call fcn.00403c14
lea eax, [ebp + eax*8 - 0x4f68]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53a574
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x16c]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53a599
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x184], 0
jle 0x53a5f6
cmp byte [ebp - 0x9d], 0
jne 0x53a636
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53a5c6
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53a636
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53a5e7
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53a5f4
call fcn.00403c1c
jmp 0x53a636
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53a608
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53a636
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53a629
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53a636
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53a645
cmp eax, dword [ebp + 0x18]
jle 0x53a64a
call fcn.00403c14
imul eax, eax, 2
jno 0x53a654
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
cmp ax, 1
je 0x53a68b
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53a674
cmp eax, dword [ebp + 0x10]
jle 0x53a679
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53a698
xor eax, eax
mov dword [ebp - 0x170], eax
jmp 0x53a81f
cmp byte [ebp - 0x9e], 0
je 0x53a7ad
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53a6b5
cmp eax, dword [ebp + 0x10]
jle 0x53a6ba
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00536d74
pop ecx
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
push eax
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53a6e4
call fcn.00403c14
lea eax, [ebp + eax*4 - 0x5af8]
mov ecx, 1
mov edx, dword [0x536fd4]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x53a713
call fcn.00403c1c
test eax, eax
jl 0x53a77f
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x53a738
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
call fcn.004149d4
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53a756
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5af8]
mov edx, dword [ebp - 0xb0]
imul edx, edx, 5
jno 0x53a76d
call fcn.00403c1c
fstp xword [eax + edx*2]
wait
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x53a728
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53a78f
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5af8]
xor edx, edx
imul edx, edx, 5
jno 0x53a7a2
call fcn.00403c1c
lea eax, [eax + edx*2]
mov dword [ebp - 0x170], eax
jmp 0x53a81f
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53a7bc
cmp eax, dword [ebp + 0x18]
jle 0x53a7c1
call fcn.00403c14
imul eax, eax, 2
jno 0x53a7cb
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004149d4
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53a7e6
call fcn.00403c14
imul eax, eax, 5
jno 0x53a7f0
call fcn.00403c1c
fstp xword [ebp + eax*2 - 0x5238]
wait
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53a808
call fcn.00403c14
imul eax, eax, 5
jno 0x53a812
call fcn.00403c1c
lea eax, [ebp + eax*2 - 0x5238]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53a831
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x170]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53a856
call fcn.00403c1c
jmp case.0x53748a.16
cmp dword [ebp - 0x188], 0
jge 0x53a890
xor eax, eax
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x49ec], eax
lea edx, [ebp - 0x49a9]
lea eax, [ebp - 0x9a9]
mov ecx, 0x800
call fcn.00402fc8
jmp 0x53a8fe
mov eax, dword [ebp - 0x184]
cmp eax, 7
jbe 0x53a8a0
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x49cc]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
cmp eax, 7
jbe 0x53a8bd
call fcn.00403c14
imul eax, eax, 0x100
jno 0x53a8ca
call fcn.00403c1c
lea edx, [ebp + eax*8 - 0x49a9]
lea eax, [ebp - 0x9a9]
mov ecx, 0x800
call fcn.00402fc8
mov eax, dword [ebp - 0xa8]
cmp eax, 7
jbe 0x53a8f1
call fcn.00403c14
mov edx, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x49ec], edx
add dword [ebp - 0x188], 1
jno 0x53a90c
call fcn.00403c1c
add dword [ebp - 0x184], 1
jno 0x53a91a
call fcn.00403c1c
mov eax, dword [ebp - 0x184]
cmp eax, 7
jbe 0x53a92a
call fcn.00403c14
mov edx, dword [ebp - 0x188]
mov dword [ebp + eax*4 - 0x49cc], edx
xor eax, eax
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x9a9]
xor ecx, ecx
mov edx, 0x800
call fcn.00403628
sub dword [ebp - 0xa4], 1
jno 0x53a95f
call fcn.00403c1c
jmp case.0x53748a.16
mov eax, dword [ebp - 0x184]
cmp eax, 7
jbe 0x53a974
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x49cc]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
cmp eax, 7
jbe 0x53a991
call fcn.00403c14
mov edx, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x49ec], edx
mov eax, dword [ebp - 0xa8]
cmp eax, 7
jbe 0x53a9ae
call fcn.00403c14
imul eax, eax, 0x100
jno 0x53a9bb
call fcn.00403c1c
lea edx, [ebp + eax*8 - 0x49a9]
lea eax, [ebp - 0x9a9]
mov ecx, 0x800
call fcn.00402fc8
mov eax, dword [ebp - 0xa8]
cmp eax, 7
jbe 0x53a9e2
call fcn.00403c14
imul eax, eax, 0x100
jno 0x53a9ef
call fcn.00403c1c
lea eax, [ebp + eax*8 - 0x49a9]
mov dword [ebp - 0x94], eax
sub dword [ebp - 0x184], 1
jno 0x53aa0a
call fcn.00403c1c
mov eax, dword [ebp - 0x184]
cmp eax, 7
jbe 0x53aa1a
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x49cc]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
cmp eax, 7
jbe 0x53aa37
call fcn.00403c14
imul eax, eax, 0x100
jno 0x53aa44
call fcn.00403c1c
lea eax, [ebp + eax*8 - 0x49a9]
lea edx, [ebp - 0x9a9]
mov ecx, 0x800
call fcn.00402fc8
mov eax, dword [ebp - 0xac]
cmp eax, 7
jbe 0x53aa6b
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x49ec]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53aa8a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53aab8
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53aaab
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53aab8
call fcn.00403c1c
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53aaca
call fcn.00403c14
lea edx, [ebp + eax - 0x9a9]
lea eax, [ebp - 0x94]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53aaef
call fcn.00403c1c
sub dword [ebp - 0xa4], 1
jno 0x53aafd
call fcn.00403c1c
jmp case.0x53748a.16
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x53e980
mov eax, dword [ebp - 4]
call fcn.004e3b44
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x53e5c8
add dword [ebp - 0xa4], 1
jno 0x53ab2e
call fcn.00403c1c
jmp 0x537369
cmp dword [ebp - 0x184], 0
je 0x53ab7d
mov eax, dword [0x5743fc]
cmp byte [eax], 0
je 0x53ab5c
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x53e990
mov eax, dword [ebp - 4]
call fcn.004e3b44
jmp 0x53ab70
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x53e9b8
mov eax, dword [ebp - 4]
call fcn.004e3b44
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x53e5c8
lea edx, [ebp - 0x49a9]
lea eax, [ebp - 0x9a9]
mov ecx, 0x800
call fcn.00402fc8
push 0
push 0
push 0
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x9c]
mov cl, 1
mov edx, 0x53e9dc
call fcn.004af0b8
mov eax, dword [ebp - 0xc0]
xor edx, edx
call fcn.004057c0
jne 0x53abd1
lea eax, [ebp - 0xc0]
mov edx, 0x53e9e8
call fcn.00405514
lea edx, [ebp - 0x5ba0]
mov eax, dword [ebp - 0x9c]
call fcn.0040a18c
mov edx, dword [ebp - 0x5ba0]
lea eax, [ebp - 0x9c]
call fcn.00405514
mov edx, dword [ebp - 0x9c]
mov eax, 0x53e9f8
call fcn.004059bc
dec eax
jne 0x53ac44
lea eax, [ebp - 0x5ba8]
push eax
mov ecx, 0x7fffffff
mov edx, 2
mov eax, dword [ebp - 0x9c]
call fcn.00405844
mov eax, dword [ebp - 0x5ba8]
lea edx, [ebp - 0x5ba4]
call fcn.0040a18c
mov edx, dword [ebp - 0x5ba4]
lea eax, [ebp - 0x9c]
call fcn.00405514
mov edx, dword [ebp - 0x9c]
mov eax, 0x53ea00
call fcn.004059bc
dec eax
jne 0x53ac95
lea eax, [ebp - 0x5bb0]
push eax
mov ecx, 0x7fffffff
mov edx, 2
mov eax, dword [ebp - 0x9c]
call fcn.00405844
mov eax, dword [ebp - 0x5bb0]
lea edx, [ebp - 0x5bac]
call fcn.0040a18c
mov edx, dword [ebp - 0x5bac]
lea eax, [ebp - 0x9c]
call fcn.00405514
lea edx, [ebp - 0x5bb4]
mov eax, dword [ebp - 0x9c]
call fcn.0040a18c
mov eax, dword [ebp - 0x5bb4]
xor edx, edx
call fcn.004057c0
jne 0x53acd8
lea eax, [ebp - 0xc4]
mov edx, dword [ebp - 0xc0]
call fcn.00405514
lea eax, [ebp - 0xc0]
mov edx, 0x53e9e8
call fcn.00405514
jmp 0x53ace9
lea eax, [ebp - 0xc4]
mov edx, dword [ebp - 0x9c]
call fcn.00405514
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x53ad3b
mov eax, dword [ebp - 0xc4]
xor edx, edx
call fcn.004057c0
jne 0x53ad63
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x53ea7c
mov eax, dword [ebp - 4]
call fcn.004e3b44
jmp 0x53e5c8
xor eax, eax
mov dword [ebp - 0xb4], eax
xor eax, eax
mov dword [ebp - 0xa4], eax
jmp 0x53adcc
mov eax, dword [ebp - 0xa4]
cmp eax, 0x1f
jbe 0x53ad85
call fcn.00403c14
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*4 + 0x7e0]
mov edx, dword [ebp - 0xc4]
call fcn.004057c0
jne 0x53adbe
mov eax, dword [ebp - 0xa4]
cmp eax, 0x1f
jbe 0x53adac
call fcn.00403c14
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*4 + 0x860]
mov dword [ebp - 0xb4], eax
jmp 0x53adef
add dword [ebp - 0xa4], 1
jno 0x53adcc
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
cmp eax, 0x1f
jbe 0x53addc
call fcn.00403c14
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*4 + 0x7e0]
xor edx, edx
call fcn.004057c0
jne 0x53ad75
cmp dword [ebp - 0xb4], 0
jne 0x53ae7d
mov eax, dword [ebp - 0xa4]
cmp eax, 0x1f
jbe 0x53ae0c
call fcn.00403c14
mov edx, dword [ebp - 4]
lea eax, [edx + eax*4 + 0x7e0]
mov edx, dword [ebp - 0xc4]
call fcn.004054ec
lea eax, [ebp - 0x5bb8]
mov edx, dword [ebp - 0xc4]
call fcn.00404f2c
mov eax, dword [ebp - 0x5bb8]
call fcn.00405168
push eax
call sub.kernel32.dll_LoadLibraryA
mov edx, dword [ebp - 0xa4]
cmp edx, 0x1f
jbe 0x53ae53
call fcn.00403c14
mov ecx, dword [ebp - 4]
mov dword [ecx + edx*4 + 0x860], eax
mov eax, dword [ebp - 0xa4]
cmp eax, 0x1f
jbe 0x53ae6d
call fcn.00403c14
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*4 + 0x860]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
jne 0x53aeb6
push 1
push 0
lea eax, [ebp - 0x5bbc]
mov ecx, dword [ebp - 0xc4]
mov edx, 0x53eaa0
call fcn.00405708
mov edx, dword [ebp - 0x5bbc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
call fcn.004e3b44
jmp 0x53e5c8
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53aec8
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53aef6
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53aee9
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53aef6
call fcn.00403c1c
sub esp, dword [ebp - 0x90]
mov dword [ebp - 0x94], esp
mov eax, dword [ebp - 0x90]
sub eax, 1
jno 0x53af12
call fcn.00403c1c
test eax, eax
jl 0x53af6a
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0xa4]
cmp eax, 0x7fff
jbe 0x53af39
call fcn.00403c14
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0x7ff
jbe 0x53af52
call fcn.00403c14
mov cl, byte [ebp + ecx - 0x9a9]
mov byte [edx + eax], cl
inc dword [ebp - 0xa4]
dec dword [ebp - 0x18c]
jne 0x53af27
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 4]
call fcn.005364a0
cmp eax, 0x12
ja case.0x53af81.0
jmp dword [eax*4 + 0x53af88]
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
je 0x53e58c
call dword [ebp - 0xdc]
mov edx, eax
mov eax, dword [ebp + 8]
mov cl, 0xfc
call fcn.0041684c
jmp 0x53b44f
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
je 0x53e58c
call dword [ebp - 0xe0]
mov eax, dword [ebp + 8]
call fcn.00416a64
jmp 0x53b44f
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0
je 0x53e58c
call dword [ebp - 0xe4]
mov eax, dword [ebp + 8]
call fcn.00416a64
jmp 0x53b44f
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
jne 0x53b0c6
mov eax, dword [ebp + 8]
call fcn.00419b28
jmp 0x53b44f
call dword [ebp - 0xe8]
mov dword [ebp - 0x148], eax
lea eax, [ebp - 0x5bc0]
mov edx, dword [ebp - 0x148]
call fcn.00404e80
mov edx, dword [ebp - 0x5bc0]
mov eax, dword [ebp + 8]
call fcn.00416aa0
jmp 0x53b44f
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
jne 0x53b12a
mov eax, dword [ebp + 8]
call fcn.00419b28
jmp 0x53b44f
call dword [ebp - 0xec]
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0x5bc4]
mov edx, dword [ebp - 0x14c]
call fcn.0040560c
mov edx, dword [ebp - 0x5bc4]
mov eax, dword [ebp + 8]
call fcn.00416b1c
jmp 0x53b44f
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
je 0x53e58c
call dword [ebp - 0xf0]
movzx edx, ax
mov eax, dword [ebp + 8]
mov cl, 2
call fcn.0041684c
jmp 0x53b44f
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0
je 0x53e58c
call dword [ebp - 0xf4]
mov dword [ebp - 0x5bcc], eax
xor eax, eax
mov dword [ebp - 0x5bc8], eax
fild qword [ebp - 0x5bcc]
fstp qword [ebp - 0x120]
wait
fld qword [ebp - 0x120]
mov eax, dword [ebp + 8]
call fcn.00416a64
jmp 0x53b44f
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x53e58c
call dword [ebp - 0xd0]
xor edx, edx
mov dl, al
mov eax, dword [ebp + 8]
mov cl, 1
call fcn.0041684c
jmp 0x53b44f
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
je 0x53e58c
call dword [ebp - 0xd4]
mov byte [ebp - 0x5bcf], al
mov byte [ebp - 0x5bd0], 1
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x5bd0]
call fcn.00416acc
jmp 0x53b44f
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x53e58c
call dword [ebp - 0xd8]
movzx edx, ax
mov eax, dword [ebp + 8]
mov cl, 2
call fcn.0041684c
jmp 0x53b44f
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0
je 0x53e58c
call dword [ebp - 0xf8]
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
fild qword [ebp - 0x130]
fstp qword [ebp - 0x120]
wait
fld qword [ebp - 0x120]
mov eax, dword [ebp + 8]
call fcn.00416a64
jmp 0x53b44f
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
je 0x53e58c
call dword [ebp - 0xfc]
mov eax, dword [ebp + 8]
call fcn.00416a64
jmp 0x53b44f
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je 0x53e58c
call dword [ebp - 0x100]
jmp 0x53b44f
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0
je 0x53e58c
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 0x104]
jmp 0x53b44f
mov eax, dword [ebp - 0x98]
call fcn.00405168
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x53e58c
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 0x108]
jmp 0x53b44f
mov eax, dword [0x5743fc]
cmp byte [eax], 0
je 0x53b436
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x53eab8
mov eax, dword [ebp - 4]
call fcn.004e3b44
jmp 0x53e5c8
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x53eae4
mov eax, dword [ebp - 4]
call fcn.004e3b44
jmp 0x53e5c8
lea eax, [ebp - 0x9c]
mov edx, dword [ebp - 0xc8]
call fcn.00405514
xor eax, eax
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x188], 0xffffffff
xor eax, eax
mov dword [ebp - 0x90], eax
xor eax, eax
mov dword [ebp - 0xa4], eax
push 0
push 0
push 0
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x9c]
mov cl, 1
mov edx, 0x53eb48
call fcn.004af0b8
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x5bd4]
push eax
lea ecx, [ebp - 0xcc]
lea eax, [ebp - 0xbc]
mov edx, 0x53e8c8
call fcn.004af2fc
mov eax, dword [ebp - 0x5bd4]
lea edx, [ebp - 0xb8]
call fcn.0040a18c
mov eax, dword [ebp - 0xb8]
xor edx, edx
call fcn.004057c0
jne 0x53b4f8
mov eax, dword [ebp - 0xcc]
mov edx, 0x53e8d8
call fcn.004057c0
je 0x53b4a1
mov eax, dword [ebp - 0xcc]
mov edx, 0x53e8e0
call fcn.004057c0
je 0x53b51c
mov eax, dword [ebp - 0xcc]
mov edx, 0x53e8e8
call fcn.004057c0
jne 0x53b555
mov eax, dword [ebp - 0xb8]
xor edx, edx
call fcn.004057c0
jne 0x53b53e
lea eax, [ebp - 0xb8]
mov edx, dword [ebp - 0xcc]
call fcn.00405514
jmp 0x53b555
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xcc]
call fcn.00405708
mov eax, dword [ebp - 0xb8]
xor edx, edx
call fcn.004057c0
je 0x53e5c8
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 4]
call fcn.005364a0
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0x9e], 0
mov edx, dword [ebp - 0xb8]
mov eax, 0x53e8f0
call fcn.004059bc
test eax, eax
jle 0x53b5a8
mov byte [ebp - 0x9e], 1
or dword [ebp - 0xa8], 0x100
mov eax, dword [ebp - 0xa8]
cmp eax, 0x14
jg 0x53b615
je 0x53e369
cmp eax, 0x12
ja case.0x53b67b.265
jmp dword [eax*4 + 0x53b5c9]
cmp eax, 0x107
jg 0x53b66d
je 0x53d74e
cmp eax, 0x103
jg 0x53b64f
je 0x53cdf6
sub eax, 0x15
je 0x53e44a
sub eax, 0xec
je 0x53c97e
dec eax
je 0x53cbbc
jmp case.0x53b67b.265
sub eax, 0x104
je 0x53d030
dec eax
je 0x53d17c
dec eax
je 0x53d50e
jmp case.0x53b67b.265
add eax, 0xfffffef8
cmp eax, 0xa
ja case.0x53b67b.265
jmp dword [eax*4 + 0x53b682]
cmp dword [ebp - 0x184], 0
jle 0x53b772
cmp byte [ebp - 0x9d], 0
jne 0x53b704
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53b6d6
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53b704
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53b6f7
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53b704
call fcn.00403c1c
lea edx, [ebp - 0x110]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53b71c
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
lea eax, [ebp - 0x5be4]
mov edx, dword [ebp - 0x110]
mov cl, 0xfc
call fcn.0041684c
lea ecx, [ebp - 0x5be4]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53b75d
cmp eax, dword [ebp + 0x10]
jle 0x53b762
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp 0x53b7b2
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53b784
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53b7b2
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53b7a5
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53b7b2
call fcn.00403c1c
add dword [ebp - 0x90], 4
jno 0x53b7c0
call fcn.00403c1c
jmp case.0x53b67b.265
cmp dword [ebp - 0x184], 0
jle 0x53b887
cmp byte [ebp - 0x9d], 0
jne 0x53b81b
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53b7ed
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53b81b
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53b80e
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53b81b
call fcn.00403c1c
lea edx, [ebp - 0x114]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53b833
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld dword [ebp - 0x114]
lea eax, [ebp - 0x5bf4]
call fcn.00416a64
lea ecx, [ebp - 0x5bf4]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53b872
cmp eax, dword [ebp + 0x10]
jle 0x53b877
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp 0x53b8c7
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53b899
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53b8c7
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53b8ba
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53b8c7
call fcn.00403c1c
add dword [ebp - 0x90], 4
jno 0x53b8d5
call fcn.00403c1c
jmp case.0x53b67b.265
cmp dword [ebp - 0x184], 0
jle 0x53b99c
cmp byte [ebp - 0x9d], 0
jne 0x53b930
mov eax, dword [ebp - 0x90]
and eax, 0x80000007
jns 0x53b902
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53b930
mov eax, 8
sub eax, dword [ebp - 0xa8]
jno 0x53b923
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53b930
call fcn.00403c1c
lea edx, [ebp - 0x120]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53b948
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 8
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld qword [ebp - 0x120]
lea eax, [ebp - 0x5c04]
call fcn.00416a64
lea ecx, [ebp - 0x5c04]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53b987
cmp eax, dword [ebp + 0x10]
jle 0x53b98c
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp 0x53b9dc
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53b9ae
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53b9dc
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53b9cf
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53b9dc
call fcn.00403c1c
add dword [ebp - 0x90], 8
jno 0x53b9ea
call fcn.00403c1c
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53ba38
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53ba0a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53ba38
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53ba2b
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53ba38
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53ba48
call fcn.00403c14
cmp dword [ebp + eax*4 - 0x4a8c], 0
jle 0x53bb48
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53ba66
call fcn.00403c14
mov ecx, dword [ebp + eax*4 - 0x4a8c]
mov edx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53ba85
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
call fcn.00402fc8
lea eax, [ebp - 0x5c08]
mov edx, dword [ebp - 0x148]
call fcn.00404e80
mov edx, dword [ebp - 0x5c08]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53bab7
cmp eax, dword [ebp + 0x18]
jle 0x53babc
call fcn.00403c14
imul eax, eax, 2
jno 0x53bac6
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.00416aa0
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53bae8
cmp eax, dword [ebp + 0x18]
jle 0x53baed
call fcn.00403c14
imul eax, eax, 2
jno 0x53baf7
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53bb0c
cmp eax, dword [ebp + 0x10]
jle 0x53bb11
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53bb2f
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x4a8c]
add dword [ebp - 0x90], eax
jno 0x53bb43
call fcn.00403c1c
jmp case.0x53b67b.265
add dword [ebp - 0x90], 4
jno 0x53bb56
call fcn.00403c1c
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53bba4
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53bb76
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53bba4
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53bb97
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53bba4
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53bbb4
call fcn.00403c14
cmp dword [ebp + eax*4 - 0x4a8c], 0
jle 0x53bc79
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53bbd1
cmp eax, dword [ebp + 0x18]
jle 0x53bbd6
call fcn.00403c14
imul eax, eax, 2
jno 0x53bbe0
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xa4]
cmp edx, 0x27
jbe 0x53bbf6
call fcn.00403c14
mov edx, dword [ebp + edx*4 - 0x5008]
call fcn.00416aa0
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53bc19
cmp eax, dword [ebp + 0x18]
jle 0x53bc1e
call fcn.00403c14
imul eax, eax, 2
jno 0x53bc28
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53bc3d
cmp eax, dword [ebp + 0x10]
jle 0x53bc42
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53bc60
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x4a8c]
add dword [ebp - 0x90], eax
jno 0x53bc74
call fcn.00403c1c
jmp case.0x53b67b.265
add dword [ebp - 0x90], 4
jno 0x53bc87
call fcn.00403c1c
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53bcd5
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53bca7
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53bcd5
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53bcc8
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53bcd5
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53bce5
call fcn.00403c14
cmp dword [ebp + eax*4 - 0x4a8c], 0
jle 0x53bde5
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53bd03
call fcn.00403c14
mov ecx, dword [ebp + eax*4 - 0x4a8c]
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53bd22
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
call fcn.00402fc8
lea eax, [ebp - 0x5c0c]
mov edx, dword [ebp - 0x14c]
call fcn.0040560c
mov edx, dword [ebp - 0x5c0c]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53bd54
cmp eax, dword [ebp + 0x18]
jle 0x53bd59
call fcn.00403c14
imul eax, eax, 2
jno 0x53bd63
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.00416b1c
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53bd85
cmp eax, dword [ebp + 0x18]
jle 0x53bd8a
call fcn.00403c14
imul eax, eax, 2
jno 0x53bd94
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53bda9
cmp eax, dword [ebp + 0x10]
jle 0x53bdae
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53bdcc
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x4a8c]
add dword [ebp - 0x90], eax
jno 0x53bde0
call fcn.00403c1c
jmp case.0x53b67b.265
add dword [ebp - 0x90], 4
jno 0x53bdf3
call fcn.00403c1c
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53be41
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53be13
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53be41
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53be34
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53be41
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53be51
call fcn.00403c14
cmp dword [ebp + eax*4 - 0x4a8c], 0
jle 0x53bf16
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53be6e
cmp eax, dword [ebp + 0x18]
jle 0x53be73
call fcn.00403c14
imul eax, eax, 2
jno 0x53be7d
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xa4]
cmp edx, 0x27
jbe 0x53be93
call fcn.00403c14
mov edx, dword [ebp + edx*4 - 0x50a8]
call fcn.00416b1c
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53beb6
cmp eax, dword [ebp + 0x18]
jle 0x53bebb
call fcn.00403c14
imul eax, eax, 2
jno 0x53bec5
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53beda
cmp eax, dword [ebp + 0x10]
jle 0x53bedf
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
mov eax, dword [ebp - 0xa4]
cmp eax, 0x27
jbe 0x53befd
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x4a8c]
add dword [ebp - 0x90], eax
jno 0x53bf11
call fcn.00403c1c
jmp case.0x53b67b.265
add dword [ebp - 0x90], 4
jno 0x53bf24
call fcn.00403c1c
jmp case.0x53b67b.265
cmp dword [ebp - 0x184], 0
jle 0x53bfee
cmp byte [ebp - 0x9d], 0
jne 0x53bf7f
mov eax, dword [ebp - 0x90]
and eax, 0x80000001
jns 0x53bf51
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53bf7f
mov eax, 2
sub eax, dword [ebp - 0xa8]
jno 0x53bf72
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53bf7f
call fcn.00403c1c
lea edx, [ebp - 0x122]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53bf97
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 2
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
lea eax, [ebp - 0x5c1c]
movzx edx, word [ebp - 0x122]
mov cl, 2
call fcn.0041684c
lea ecx, [ebp - 0x5c1c]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53bfd9
cmp eax, dword [ebp + 0x10]
jle 0x53bfde
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp 0x53c02e
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53c000
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c02e
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53c021
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c02e
call fcn.00403c1c
add dword [ebp - 0x90], 2
jno 0x53c03c
call fcn.00403c1c
jmp case.0x53b67b.265
cmp dword [ebp - 0x184], 0
jle 0x53c124
cmp byte [ebp - 0x9d], 0
jne 0x53c097
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53c069
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c097
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53c08a
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c097
call fcn.00403c1c
lea edx, [ebp - 0x128]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53c0af
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x5bcc], eax
xor eax, eax
mov dword [ebp - 0x5bc8], eax
fild qword [ebp - 0x5bcc]
fstp qword [ebp - 0x180]
wait
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld qword [ebp - 0x180]
lea eax, [ebp - 0x5c2c]
call fcn.00416a64
lea ecx, [ebp - 0x5c2c]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c10f
cmp eax, dword [ebp + 0x10]
jle 0x53c114
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp 0x53c164
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53c136
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c164
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53c157
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c164
call fcn.00403c1c
add dword [ebp - 0x90], 4
jno 0x53c172
call fcn.00403c1c
jmp case.0x53b67b.265
cmp dword [ebp - 0x184], 0
jle 0x53c275
cmp byte [ebp - 0x9d], 0
jne 0x53c1cd
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53c19f
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c1cd
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53c1c0
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c1cd
call fcn.00403c1c
lea edx, [ebp - 0x174]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53c1e5
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c205
cmp eax, dword [ebp + 0x18]
jle 0x53c20a
call fcn.00403c14
imul eax, eax, 2
jno 0x53c214
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x174]
call fcn.0041276c
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c23c
cmp eax, dword [ebp + 0x18]
jle 0x53c241
call fcn.00403c14
imul eax, eax, 2
jno 0x53c24b
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c260
cmp eax, dword [ebp + 0x10]
jle 0x53c265
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp 0x53c2b5
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53c287
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c2b5
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53c2a8
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c2b5
call fcn.00403c1c
add dword [ebp - 0x90], 4
jno 0x53c2c3
call fcn.00403c1c
jmp case.0x53b67b.265
cmp dword [ebp - 0x184], 0
jle 0x53c435
cmp byte [ebp - 0x9d], 0
jne 0x53c31e
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53c2f0
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c31e
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53c311
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c31e
call fcn.00403c1c
lea edx, [ebp - 0x150]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53c336
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c356
cmp eax, dword [ebp + 0x18]
jle 0x53c35b
call fcn.00403c14
imul eax, eax, 2
jno 0x53c365
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
movzx eax, ax
mov dword [ebp - 0xac], eax
test byte [ebp - 0xab], 0x20
je 0x53c3e5
test byte [ebp - 0xab], 0x40
je 0x53c3ba
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c39a
cmp eax, dword [ebp + 0x18]
jle 0x53c39f
call fcn.00403c14
imul eax, eax, 2
jno 0x53c3a9
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [ebp - 0x150]
mov dword [eax], edx
jmp 0x53c3e5
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c3c9
cmp eax, dword [ebp + 0x18]
jle 0x53c3ce
call fcn.00403c14
imul eax, eax, 2
jno 0x53c3d8
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x150]
mov dword [edx + eax*8 + 8], ecx
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c3fc
cmp eax, dword [ebp + 0x18]
jle 0x53c401
call fcn.00403c14
imul eax, eax, 2
jno 0x53c40b
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c420
cmp eax, dword [ebp + 0x10]
jle 0x53c425
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp 0x53c475
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53c447
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c475
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53c468
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c475
call fcn.00403c1c
add dword [ebp - 0x90], 4
jno 0x53c483
call fcn.00403c1c
jmp case.0x53b67b.265
cmp dword [ebp - 0x184], 0
jle 0x53c501
lea edx, [ebp - 0x109]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53c4a9
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 1
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
lea eax, [ebp - 0x5c3c]
xor edx, edx
mov dl, byte [ebp - 0x109]
mov cl, 1
call fcn.0041684c
lea ecx, [ebp - 0x5c3c]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c4ec
cmp eax, dword [ebp + 0x10]
jle 0x53c4f1
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp 0x53c541
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53c513
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c541
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53c534
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c541
call fcn.00403c1c
add dword [ebp - 0x90], 1
jno 0x53c54f
call fcn.00403c1c
jmp case.0x53b67b.265
cmp dword [ebp - 0x184], 0
jle 0x53c5dc
lea edx, [ebp - 0x141]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53c575
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 1
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov al, byte [ebp - 0x141]
mov byte [ebp - 0x5bcf], al
mov byte [ebp - 0x5bd0], 1
lea eax, [ebp - 0x5c4c]
lea edx, [ebp - 0x5bd0]
call fcn.00416acc
lea ecx, [ebp - 0x5c4c]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c5c7
cmp eax, dword [ebp + 0x10]
jle 0x53c5cc
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp 0x53c61c
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53c5ee
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c61c
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53c60f
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c61c
call fcn.00403c1c
add dword [ebp - 0x90], 1
jno 0x53c62a
call fcn.00403c1c
jmp case.0x53b67b.265
cmp dword [ebp - 0x184], 0
jle 0x53c6f4
cmp byte [ebp - 0x9d], 0
jne 0x53c685
mov eax, dword [ebp - 0x90]
and eax, 0x80000001
jns 0x53c657
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c685
mov eax, 2
sub eax, dword [ebp - 0xa8]
jno 0x53c678
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c685
call fcn.00403c1c
lea edx, [ebp - 0x144]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53c69d
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 2
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
lea eax, [ebp - 0x5c5c]
movzx edx, word [ebp - 0x144]
mov cl, 2
call fcn.0041684c
lea ecx, [ebp - 0x5c5c]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c6df
cmp eax, dword [ebp + 0x10]
jle 0x53c6e4
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp 0x53c734
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53c706
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c734
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53c727
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c734
call fcn.00403c1c
add dword [ebp - 0x90], 2
jno 0x53c742
call fcn.00403c1c
jmp case.0x53b67b.265
cmp dword [ebp - 0x184], 0
jle 0x53c816
cmp byte [ebp - 0x9d], 0
jne 0x53c79d
mov eax, dword [ebp - 0x90]
and eax, 0x80000007
jns 0x53c76f
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c79d
mov eax, 8
sub eax, dword [ebp - 0xa8]
jno 0x53c790
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c79d
call fcn.00403c1c
lea edx, [ebp - 0x130]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53c7b5
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 8
call fcn.00402fc8
fild qword [ebp - 0x130]
fstp qword [ebp - 0x120]
wait
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld qword [ebp - 0x120]
lea eax, [ebp - 0x5c6c]
call fcn.00416a64
lea ecx, [ebp - 0x5c6c]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c801
cmp eax, dword [ebp + 0x10]
jle 0x53c806
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp 0x53c856
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53c828
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c856
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53c849
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c856
call fcn.00403c1c
add dword [ebp - 0x90], 8
jno 0x53c864
call fcn.00403c1c
jmp case.0x53b67b.265
cmp dword [ebp - 0x184], 0
jle 0x53c92b
cmp byte [ebp - 0x9d], 0
jne 0x53c8bf
mov eax, dword [ebp - 0x90]
and eax, 0x80000007
jns 0x53c891
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c8bf
mov eax, 8
sub eax, dword [ebp - 0xa8]
jno 0x53c8b2
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c8bf
call fcn.00403c1c
lea edx, [ebp - 0x140]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53c8d7
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 0xa
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld xword [ebp - 0x140]
lea eax, [ebp - 0x5c7c]
call fcn.00416a64
lea ecx, [ebp - 0x5c7c]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c916
cmp eax, dword [ebp + 0x10]
jle 0x53c91b
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp 0x53c96b
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53c93d
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c96b
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53c95e
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c96b
call fcn.00403c1c
add dword [ebp - 0x90], 0xa
jno 0x53c979
call fcn.00403c1c
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53c9c7
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53c999
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53c9c7
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53c9ba
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53c9c7
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53c9d6
cmp eax, dword [ebp + 0x10]
jle 0x53c9db
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53ca00
add dword [ebp - 0x90], 4
jno 0x53c9fb
call fcn.00403c1c
jmp case.0x53b67b.265
cmp byte [ebp - 0x9e], 0
je 0x53caff
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53ca1d
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5918]
call fcn.004063e0
push eax
lea eax, [ebp - 0x8c]
mov ecx, 1
mov edx, dword [0x536a10]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x53ca58
call fcn.00403c1c
test eax, eax
jl 0x53cac9
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x53ca7d
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xa4]
cmp edx, 0x13
jbe 0x53ca96
call fcn.00403c14
mov edx, dword [ebp + edx*4 - 0x5918]
mov ecx, dword [ebp - 0xb0]
test edx, edx
je 0x53caac
cmp ecx, dword [edx - 4]
jb 0x53cab1
call fcn.00403c14
mov edx, dword [edx + ecx*4]
mov cl, 0xfc
call fcn.0041684c
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x53ca6d
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53cad9
cmp eax, dword [ebp + 0x10]
jle 0x53cade
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00536d74
pop ecx
add dword [ebp - 0x90], 4
jno 0x53cafa
call fcn.00403c1c
jmp case.0x53b67b.265
lea edx, [ebp - 0x158]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53cb17
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53cb36
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53cb45
cmp eax, dword [ebp + 0x18]
jle 0x53cb4a
call fcn.00403c14
imul eax, eax, 2
jno 0x53cb54
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x158]
mov edx, dword [edx]
mov cl, 0xfc
call fcn.0041684c
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53cb80
cmp eax, dword [ebp + 0x18]
jle 0x53cb85
call fcn.00403c14
imul eax, eax, 2
jno 0x53cb8f
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53cba4
cmp eax, dword [ebp + 0x10]
jle 0x53cba9
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53cc05
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53cbd7
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53cc05
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53cbf8
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53cc05
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53cc14
cmp eax, dword [ebp + 0x10]
jle 0x53cc19
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53cc3e
add dword [ebp - 0x90], 4
jno 0x53cc39
call fcn.00403c1c
jmp case.0x53b67b.265
cmp byte [ebp - 0x9e], 0
je 0x53cd3b
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53cc5b
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5968]
call fcn.004063e0
push eax
lea eax, [ebp - 0x8c]
mov ecx, 1
mov edx, dword [0x536a10]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x53cc96
call fcn.00403c1c
test eax, eax
jl 0x53cd05
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53ccbb
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5968]
mov edx, dword [ebp - 0xb0]
test eax, eax
je 0x53ccd1
cmp edx, dword [eax - 4]
jb 0x53ccd6
call fcn.00403c14
fld dword [eax + edx*4]
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x53cce9
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
call fcn.00416a64
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x53ccab
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53cd15
cmp eax, dword [ebp + 0x10]
jle 0x53cd1a
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00536d74
pop ecx
add dword [ebp - 0x90], 4
jno 0x53cd36
call fcn.00403c1c
jmp case.0x53b67b.265
lea edx, [ebp - 0x15c]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53cd53
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53cd72
call fcn.00403c1c
mov eax, dword [ebp - 0x15c]
fld dword [eax]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53cd89
cmp eax, dword [ebp + 0x18]
jle 0x53cd8e
call fcn.00403c14
imul eax, eax, 2
jno 0x53cd98
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00416a64
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53cdba
cmp eax, dword [ebp + 0x18]
jle 0x53cdbf
call fcn.00403c14
imul eax, eax, 2
jno 0x53cdc9
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53cdde
cmp eax, dword [ebp + 0x10]
jle 0x53cde3
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53ce3f
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53ce11
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53ce3f
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53ce32
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53ce3f
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53ce4e
cmp eax, dword [ebp + 0x10]
jle 0x53ce53
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53ce78
add dword [ebp - 0x90], 4
jno 0x53ce73
call fcn.00403c1c
jmp case.0x53b67b.265
cmp byte [ebp - 0x9e], 0
je 0x53cf75
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53ce95
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x59b8]
call fcn.004063e0
push eax
lea eax, [ebp - 0x8c]
mov ecx, 1
mov edx, dword [0x536a10]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x53ced0
call fcn.00403c1c
test eax, eax
jl 0x53cf3f
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53cef5
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x59b8]
mov edx, dword [ebp - 0xb0]
test eax, eax
je 0x53cf0b
cmp edx, dword [eax - 4]
jb 0x53cf10
call fcn.00403c14
fld qword [eax + edx*8]
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x53cf23
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
call fcn.00416a64
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x53cee5
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53cf4f
cmp eax, dword [ebp + 0x10]
jle 0x53cf54
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00536d74
pop ecx
add dword [ebp - 0x90], 4
jno 0x53cf70
call fcn.00403c1c
jmp case.0x53b67b.265
lea edx, [ebp - 0x160]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53cf8d
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53cfac
call fcn.00403c1c
mov eax, dword [ebp - 0x160]
fld qword [eax]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53cfc3
cmp eax, dword [ebp + 0x18]
jle 0x53cfc8
call fcn.00403c14
imul eax, eax, 2
jno 0x53cfd2
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00416a64
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53cff4
cmp eax, dword [ebp + 0x18]
jle 0x53cff9
call fcn.00403c14
imul eax, eax, 2
jno 0x53d003
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d018
cmp eax, dword [ebp + 0x10]
jle 0x53d01d
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53d079
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53d04b
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53d079
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53d06c
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53d079
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d088
cmp eax, dword [ebp + 0x10]
jle 0x53d08d
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53d0b2
add dword [ebp - 0x90], 4
jno 0x53d0ad
call fcn.00403c1c
jmp case.0x53b67b.265
lea edx, [ebp - 0x148]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53d0ca
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53d0e9
call fcn.00403c1c
lea eax, [ebp - 0x5c80]
mov edx, dword [ebp - 0x148]
call fcn.00404e80
mov edx, dword [ebp - 0x5c80]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d10f
cmp eax, dword [ebp + 0x18]
jle 0x53d114
call fcn.00403c14
imul eax, eax, 2
jno 0x53d11e
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.00416aa0
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d140
cmp eax, dword [ebp + 0x18]
jle 0x53d145
call fcn.00403c14
imul eax, eax, 2
jno 0x53d14f
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d164
cmp eax, dword [ebp + 0x10]
jle 0x53d169
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53d1c5
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53d197
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53d1c5
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53d1b8
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53d1c5
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d1d4
cmp eax, dword [ebp + 0x10]
jle 0x53d1d9
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53d1fe
add dword [ebp - 0x90], 4
jno 0x53d1f9
call fcn.00403c1c
jmp case.0x53b67b.265
add dword [ebp - 0x90], 4
jno 0x53d20c
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d21b
cmp eax, dword [ebp + 0x18]
jle 0x53d220
call fcn.00403c14
imul eax, eax, 2
jno 0x53d22a
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xa4]
cmp edx, 0x27
jbe 0x53d240
call fcn.00403c14
mov edx, dword [ebp + edx*4 - 0x5008]
call fcn.00416aa0
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d263
cmp eax, dword [ebp + 0x18]
jle 0x53d268
call fcn.00403c14
imul eax, eax, 2
jno 0x53d272
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d287
cmp eax, dword [ebp + 0x10]
jle 0x53d28c
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53d2e8
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53d2ba
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53d2e8
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53d2db
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53d2e8
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d2f7
cmp eax, dword [ebp + 0x10]
jle 0x53d2fc
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53d321
add dword [ebp - 0x90], 4
jno 0x53d31c
call fcn.00403c1c
jmp case.0x53b67b.265
lea edx, [ebp - 0x14c]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53d339
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53d358
call fcn.00403c1c
lea eax, [ebp - 0x5c84]
mov edx, dword [ebp - 0x14c]
call fcn.0040560c
mov edx, dword [ebp - 0x5c84]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d37e
cmp eax, dword [ebp + 0x18]
jle 0x53d383
call fcn.00403c14
imul eax, eax, 2
jno 0x53d38d
call fcn.00403c1c
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.00416b1c
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d3af
cmp eax, dword [ebp + 0x18]
jle 0x53d3b4
call fcn.00403c14
imul eax, eax, 2
jno 0x53d3be
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d3d3
cmp eax, dword [ebp + 0x10]
jle 0x53d3d8
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53d434
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53d406
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53d434
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53d427
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53d434
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d443
cmp eax, dword [ebp + 0x10]
jle 0x53d448
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53d46d
add dword [ebp - 0x90], 4
jno 0x53d468
call fcn.00403c1c
jmp case.0x53b67b.265
add dword [ebp - 0x90], 4
jno 0x53d47b
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d48a
cmp eax, dword [ebp + 0x18]
jle 0x53d48f
call fcn.00403c14
imul eax, eax, 2
jno 0x53d499
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xa4]
cmp edx, 0x27
jbe 0x53d4af
call fcn.00403c14
mov edx, dword [ebp + edx*4 - 0x50a8]
call fcn.00416b1c
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d4d2
cmp eax, dword [ebp + 0x18]
jle 0x53d4d7
call fcn.00403c14
imul eax, eax, 2
jno 0x53d4e1
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d4f6
cmp eax, dword [ebp + 0x10]
jle 0x53d4fb
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53d557
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53d529
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53d557
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53d54a
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53d557
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d566
cmp eax, dword [ebp + 0x10]
jle 0x53d56b
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53d590
add dword [ebp - 0x90], 4
jno 0x53d58b
call fcn.00403c1c
jmp case.0x53b67b.265
cmp byte [ebp - 0x9e], 0
je 0x53d690
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53d5ad
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5a08]
call fcn.004063e0
push eax
lea eax, [ebp - 0x8c]
mov ecx, 1
mov edx, dword [0x536a10]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x53d5e8
call fcn.00403c1c
test eax, eax
jl 0x53d65a
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x53d60d
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xa4]
cmp edx, 0x13
jbe 0x53d626
call fcn.00403c14
mov edx, dword [ebp + edx*4 - 0x5a08]
mov ecx, dword [ebp - 0xb0]
test edx, edx
je 0x53d63c
cmp ecx, dword [edx - 4]
jb 0x53d641
call fcn.00403c14
movzx edx, word [edx + ecx*2]
mov cl, 2
call fcn.0041684c
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x53d5fd
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d66a
cmp eax, dword [ebp + 0x10]
jle 0x53d66f
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00536d74
pop ecx
add dword [ebp - 0x90], 4
jno 0x53d68b
call fcn.00403c1c
jmp case.0x53b67b.265
lea edx, [ebp - 0x164]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53d6a8
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53d6c7
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d6d6
cmp eax, dword [ebp + 0x18]
jle 0x53d6db
call fcn.00403c14
imul eax, eax, 2
jno 0x53d6e5
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x164]
movzx edx, word [edx]
mov cl, 2
call fcn.0041684c
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d712
cmp eax, dword [ebp + 0x18]
jle 0x53d717
call fcn.00403c14
imul eax, eax, 2
jno 0x53d721
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d736
cmp eax, dword [ebp + 0x10]
jle 0x53d73b
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53d797
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53d769
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53d797
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53d78a
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53d797
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d7a6
cmp eax, dword [ebp + 0x10]
jle 0x53d7ab
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53d7d0
add dword [ebp - 0x90], 4
jno 0x53d7cb
call fcn.00403c1c
jmp case.0x53b67b.265
cmp byte [ebp - 0x9e], 0
je 0x53d8cf
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53d7ed
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5a58]
call fcn.004063e0
push eax
lea eax, [ebp - 0x8c]
mov ecx, 1
mov edx, dword [0x536a10]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x53d828
call fcn.00403c1c
test eax, eax
jl 0x53d899
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x53d84d
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xa4]
cmp edx, 0x13
jbe 0x53d866
call fcn.00403c14
mov edx, dword [ebp + edx*4 - 0x5a58]
mov ecx, dword [ebp - 0xb0]
test edx, edx
je 0x53d87c
cmp ecx, dword [edx - 4]
jb 0x53d881
call fcn.00403c14
mov edx, dword [edx + ecx*4]
mov cl, 4
call fcn.0041684c
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x53d83d
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d8a9
cmp eax, dword [ebp + 0x10]
jle 0x53d8ae
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00536d74
pop ecx
add dword [ebp - 0x90], 4
jno 0x53d8ca
call fcn.00403c1c
jmp case.0x53b67b.265
lea edx, [ebp - 0x168]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53d8e7
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53d906
call fcn.00403c1c
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
mov dword [ebp - 0x5bcc], eax
xor eax, eax
mov dword [ebp - 0x5bc8], eax
fild qword [ebp - 0x5bcc]
fstp qword [ebp - 0x180]
wait
fld qword [ebp - 0x180]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d93e
cmp eax, dword [ebp + 0x18]
jle 0x53d943
call fcn.00403c14
imul eax, eax, 2
jno 0x53d94d
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00416a64
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d96f
cmp eax, dword [ebp + 0x18]
jle 0x53d974
call fcn.00403c14
imul eax, eax, 2
jno 0x53d97e
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53d993
cmp eax, dword [ebp + 0x10]
jle 0x53d998
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53d9f4
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53d9c6
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53d9f4
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53d9e7
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53d9f4
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53da03
cmp eax, dword [ebp + 0x10]
jle 0x53da08
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53da2d
add dword [ebp - 0x90], 4
jno 0x53da28
call fcn.00403c1c
jmp case.0x53b67b.265
lea edx, [ebp - 0x174]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53da45
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53da64
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53da73
cmp eax, dword [ebp + 0x18]
jle 0x53da78
call fcn.00403c14
imul eax, eax, 2
jno 0x53da82
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x174]
call fcn.0041276c
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53daaa
cmp eax, dword [ebp + 0x18]
jle 0x53daaf
call fcn.00403c14
imul eax, eax, 2
jno 0x53dab9
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53dace
cmp eax, dword [ebp + 0x10]
jle 0x53dad3
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53db2f
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53db01
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53db2f
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53db22
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53db2f
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53db3e
cmp eax, dword [ebp + 0x10]
jle 0x53db43
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53db68
add dword [ebp - 0x90], 4
jno 0x53db63
call fcn.00403c1c
jmp case.0x53b67b.265
lea edx, [ebp - 0x150]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53db80
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53db9f
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53dbae
cmp eax, dword [ebp + 0x18]
jle 0x53dbb3
call fcn.00403c14
imul eax, eax, 2
jno 0x53dbbd
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.004190cc
movzx eax, ax
mov dword [ebp - 0xac], eax
test byte [ebp - 0xab], 0x20
je 0x53dc3d
test byte [ebp - 0xab], 0x40
je 0x53dc12
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53dbf2
cmp eax, dword [ebp + 0x18]
jle 0x53dbf7
call fcn.00403c14
imul eax, eax, 2
jno 0x53dc01
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [ebp - 0x150]
mov dword [eax], edx
jmp 0x53dc3d
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53dc21
cmp eax, dword [ebp + 0x18]
jle 0x53dc26
call fcn.00403c14
imul eax, eax, 2
jno 0x53dc30
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x150]
mov dword [edx + eax*8 + 8], ecx
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53dc54
cmp eax, dword [ebp + 0x18]
jle 0x53dc59
call fcn.00403c14
imul eax, eax, 2
jno 0x53dc63
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53dc78
cmp eax, dword [ebp + 0x10]
jle 0x53dc7d
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53dcd9
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53dcab
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53dcd9
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53dccc
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53dcd9
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53dce8
cmp eax, dword [ebp + 0x10]
jle 0x53dced
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53dd12
add dword [ebp - 0x90], 4
jno 0x53dd0d
call fcn.00403c1c
jmp case.0x53b67b.265
cmp byte [ebp - 0x9e], 0
je 0x53de12
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53dd2f
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x58c8]
call fcn.004063e0
push eax
lea eax, [ebp - 0x8c]
mov ecx, 1
mov edx, dword [0x536a10]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x53dd6a
call fcn.00403c1c
test eax, eax
jl 0x53dddc
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x53dd8f
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xa4]
cmp edx, 0x13
jbe 0x53dda8
call fcn.00403c14
mov edx, dword [ebp + edx*4 - 0x58c8]
mov ecx, dword [ebp - 0xb0]
test edx, edx
je 0x53ddbe
cmp ecx, dword [edx - 4]
jb 0x53ddc3
call fcn.00403c14
movzx edx, byte [edx + ecx]
mov cl, 1
call fcn.0041684c
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x53dd7f
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53ddec
cmp eax, dword [ebp + 0x10]
jle 0x53ddf1
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00536d74
pop ecx
add dword [ebp - 0x90], 4
jno 0x53de0d
call fcn.00403c1c
jmp case.0x53b67b.265
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53de2a
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53de49
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53de58
cmp eax, dword [ebp + 0x18]
jle 0x53de5d
call fcn.00403c14
imul eax, eax, 2
jno 0x53de67
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x154]
movzx edx, byte [edx]
mov cl, 1
call fcn.0041684c
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53de94
cmp eax, dword [ebp + 0x18]
jle 0x53de99
call fcn.00403c14
imul eax, eax, 2
jno 0x53dea3
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53deb8
cmp eax, dword [ebp + 0x10]
jle 0x53debd
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53df19
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53deeb
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53df19
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53df0c
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53df19
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53df28
cmp eax, dword [ebp + 0x10]
jle 0x53df2d
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53df52
add dword [ebp - 0x90], 4
jno 0x53df4d
call fcn.00403c1c
jmp case.0x53b67b.265
cmp byte [ebp - 0x9e], 0
je 0x53e056
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53df6f
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5aa8]
call fcn.004063e0
push eax
lea eax, [ebp - 0x8c]
mov ecx, 1
mov edx, dword [0x536a10]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x53dfaa
call fcn.00403c1c
test eax, eax
jl 0x53e020
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53dfcf
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5aa8]
mov edx, dword [ebp - 0xb0]
test eax, eax
je 0x53dfe5
cmp edx, dword [eax - 4]
jb 0x53dfea
call fcn.00403c14
lea eax, [eax + edx*8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x53e004
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
call fcn.00416968
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x53dfbf
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53e030
cmp eax, dword [ebp + 0x10]
jle 0x53e035
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00536d74
pop ecx
add dword [ebp - 0x90], 4
jno 0x53e051
call fcn.00403c1c
jmp case.0x53b67b.265
lea edx, [ebp - 0x16c]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53e06e
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53e08d
call fcn.00403c1c
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax]
mov dword [ebp - 0x130], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x12c], edx
fild qword [ebp - 0x130]
fstp qword [ebp - 0x120]
wait
fld qword [ebp - 0x120]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53e0c6
cmp eax, dword [ebp + 0x18]
jle 0x53e0cb
call fcn.00403c14
imul eax, eax, 2
jno 0x53e0d5
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00416a64
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53e0f7
cmp eax, dword [ebp + 0x18]
jle 0x53e0fc
call fcn.00403c14
imul eax, eax, 2
jno 0x53e106
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53e11b
cmp eax, dword [ebp + 0x10]
jle 0x53e120
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp case.0x53b67b.265
cmp byte [ebp - 0x9d], 0
jne 0x53e17c
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53e14e
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53e17c
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53e16f
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53e17c
call fcn.00403c1c
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53e18b
cmp eax, dword [ebp + 0x10]
jle 0x53e190
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x53e8fc
call fcn.004057c0
jne 0x53e1b5
add dword [ebp - 0x90], 4
jno 0x53e1b0
call fcn.00403c1c
jmp case.0x53b67b.265
cmp byte [ebp - 0x9e], 0
je 0x53e2ae
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53e1d2
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5af8]
call fcn.004063e0
push eax
lea eax, [ebp - 0x8c]
mov ecx, 1
mov edx, dword [0x536a10]
call fcn.0040659c
add esp, 4
mov eax, dword [ebp - 0x8c]
call fcn.004063e0
sub eax, 1
jno 0x53e20d
call fcn.00403c1c
test eax, eax
jl 0x53e278
inc eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xa4]
cmp eax, 0x13
jbe 0x53e232
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x5af8]
mov edx, dword [ebp - 0xb0]
imul edx, edx, 5
jno 0x53e249
call fcn.00403c1c
fld xword [eax + edx*2]
mov eax, dword [ebp - 0xb0]
imul eax, eax, 2
jno 0x53e25c
call fcn.00403c1c
mov edx, dword [ebp - 0x8c]
lea eax, [edx + eax*8]
call fcn.00416a64
inc dword [ebp - 0xb0]
dec dword [ebp - 0x18c]
jne 0x53e222
push ebp
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53e288
cmp eax, dword [ebp + 0x10]
jle 0x53e28d
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00536d74
pop ecx
add dword [ebp - 0x90], 4
jno 0x53e2a9
call fcn.00403c1c
jmp case.0x53b67b.265
lea edx, [ebp - 0x170]
mov eax, dword [ebp - 0x90]
cmp eax, 0x7ff
jbe 0x53e2c6
call fcn.00403c14
lea eax, [ebp + eax - 0x9a9]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x90], 4
jno 0x53e2e5
call fcn.00403c1c
mov eax, dword [ebp - 0x170]
fld xword [eax]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53e2fc
cmp eax, dword [ebp + 0x18]
jle 0x53e301
call fcn.00403c14
imul eax, eax, 2
jno 0x53e30b
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00416a64
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53e32d
cmp eax, dword [ebp + 0x18]
jle 0x53e332
call fcn.00403c14
imul eax, eax, 2
jno 0x53e33c
call fcn.00403c1c
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xa4]
test eax, eax
jl 0x53e351
cmp eax, dword [ebp + 0x10]
jle 0x53e356
call fcn.00403c14
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e47b0
jmp case.0x53b67b.265
cmp dword [ebp - 0x188], 0
jge 0x53e388
xor eax, eax
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x49ec], eax
jmp 0x53e3c2
mov eax, dword [ebp - 0x184]
cmp eax, 7
jbe 0x53e398
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x49cc]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
cmp eax, 7
jbe 0x53e3b5
call fcn.00403c14
mov edx, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x49ec], edx
add dword [ebp - 0x188], 1
jno 0x53e3d0
call fcn.00403c1c
add dword [ebp - 0x184], 1
jno 0x53e3de
call fcn.00403c1c
mov eax, dword [ebp - 0x184]
cmp eax, 7
jbe 0x53e3ee
call fcn.00403c14
mov edx, dword [ebp - 0x188]
mov dword [ebp + eax*4 - 0x49cc], edx
xor eax, eax
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x188]
cmp eax, 7
jbe 0x53e413
call fcn.00403c14
imul eax, eax, 0x100
jno 0x53e420
call fcn.00403c1c
lea eax, [ebp + eax*8 - 0x49a9]
lea edx, [ebp - 0x9a9]
mov ecx, 0x800
call fcn.00402fc8
sub dword [ebp - 0xa4], 1
jno 0x53e445
call fcn.00403c1c
jmp case.0x53b67b.265
mov eax, dword [ebp - 0x184]
cmp eax, 7
jbe 0x53e45a
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x49cc]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa8]
cmp eax, 7
jbe 0x53e477
call fcn.00403c14
mov edx, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x49ec], edx
sub dword [ebp - 0x184], 1
jno 0x53e492
call fcn.00403c1c
mov eax, dword [ebp - 0x184]
cmp eax, 7
jbe 0x53e4a2
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x49cc]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
cmp eax, 7
jbe 0x53e4bf
call fcn.00403c14
mov eax, dword [ebp + eax*4 - 0x49ec]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x90]
and eax, 0x80000003
jns 0x53e4de
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
jle 0x53e50c
mov eax, 4
sub eax, dword [ebp - 0xa8]
jno 0x53e4ff
call fcn.00403c1c
add dword [ebp - 0x90], eax
jno 0x53e50c
call fcn.00403c1c
add dword [ebp - 0x90], 4
jno 0x53e51a
call fcn.00403c1c
mov eax, dword [ebp - 0xac]
cmp eax, 7
jbe 0x53e52a
call fcn.00403c14
mov edx, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x49ec], edx
mov eax, dword [ebp - 0xac]
cmp eax, 7
jbe 0x53e547
call fcn.00403c14
imul eax, eax, 0x100
jno 0x53e554
call fcn.00403c1c
lea eax, [ebp + eax*8 - 0x49a9]
lea edx, [ebp - 0x9a9]
mov ecx, 0x800
call fcn.00402fc8
sub dword [ebp - 0xa4], 1
jno case.0x53b67b.265
call fcn.00403c1c
add dword [ebp - 0xa4], 1
jno 0x53e587
call fcn.00403c1c
jmp 0x53b4a1
push 1
push 0
lea eax, [ebp - 0x5c8c]
mov ecx, dword [ebp - 0x98]
mov edx, 0x53eb58
call fcn.00404fb4
mov edx, dword [ebp - 0x5c8c]
lea eax, [ebp - 0x5c88]
call fcn.0040567c
mov edx, dword [ebp - 0x5c88]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
call fcn.004e3b44
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x53e89b
lea eax, [ebp - 0x5c8c]
call fcn.00404c88
lea eax, [ebp - 0x5c88]
mov edx, 2
call fcn.004054c8
lea eax, [ebp - 0x5c80]
call fcn.00404c88
lea eax, [ebp - 0x5c7c]
mov edx, dword [0x40113c]
mov ecx, 7
call fcn.00405b8c
lea eax, [ebp - 0x5c0c]
call fcn.004054b0
lea eax, [ebp - 0x5c08]
call fcn.00404c88
lea eax, [ebp - 0x5c04]
mov edx, dword [0x40113c]
mov ecx, 3
call fcn.00405b8c
lea eax, [ebp - 0x5bd4]
call fcn.004054b0
lea eax, [ebp - 0x5bc4]
call fcn.004054b0
lea eax, [ebp - 0x5bc0]
call fcn.00404c88
lea eax, [ebp - 0x5bbc]
call fcn.004054b0
lea eax, [ebp - 0x5bb8]
call fcn.00404c88
lea eax, [ebp - 0x5bb4]
mov edx, 6
call fcn.004054c8
lea eax, [ebp - 0x5b9c]
mov edx, 5
call fcn.00404cac
lea eax, [ebp - 0x5b88]
mov edx, 2
call fcn.004054c8
lea eax, [ebp - 0x5b80]
mov edx, 3
call fcn.00404cac
lea eax, [ebp - 0x5b74]
call fcn.004054b0
lea eax, [ebp - 0x5b70]
mov edx, 2
call fcn.00404cac
lea eax, [ebp - 0x5b68]
mov edx, 3
call fcn.004054c8
lea eax, [ebp - 0x5b5c]
call fcn.00404c88
lea eax, [ebp - 0x5b58]
call fcn.00412354
lea eax, [ebp - 0x5b48]
mov edx, 2
call fcn.00404cac
lea eax, [ebp - 0x5b40]
call fcn.004054b0
lea eax, [ebp - 0x5b3c]
mov edx, 2
call fcn.00404cac
lea eax, [ebp - 0x5b34]
call fcn.004054b0
lea eax, [ebp - 0x5b30]
mov edx, 3
call fcn.00404cac
lea eax, [ebp - 0x5b24]
call fcn.00412354
lea eax, [ebp - 0x5b14]
mov edx, 7
call fcn.004054c8
lea eax, [ebp - 0x5af8]
mov ecx, 0x14
mov edx, dword [0x536fd4]
call fcn.00405b8c
lea eax, [ebp - 0x5aa8]
mov ecx, 0x14
mov edx, dword [0x536fb4]
call fcn.00405b8c
lea eax, [ebp - 0x5a58]
mov ecx, 0x14
mov edx, dword [0x536f94]
call fcn.00405b8c
lea eax, [ebp - 0x5a08]
mov ecx, 0x14
mov edx, dword [0x536f74]
call fcn.00405b8c
lea eax, [ebp - 0x59b8]
mov ecx, 0x14
mov edx, dword [0x536f54]
call fcn.00405b8c
lea eax, [ebp - 0x5968]
mov ecx, 0x14
mov edx, dword [0x536f34]
call fcn.00405b8c
lea eax, [ebp - 0x5918]
mov ecx, 0x14
mov edx, dword [0x536f14]
call fcn.00405b8c
lea eax, [ebp - 0x58c8]
mov ecx, 0x14
mov edx, dword [0x536ef4]
call fcn.00405b8c
lea eax, [ebp - 0x54b8]
mov ecx, 0x28
mov edx, dword [0x40114c]
call fcn.00405b8c
lea eax, [ebp - 0x50a8]
mov ecx, 0x28
mov edx, dword [0x40112c]
call fcn.00405b8c
lea eax, [ebp - 0x5008]
mov ecx, 0x28
mov edx, dword [0x401120]
call fcn.00405b8c
lea eax, [ebp - 0xcc]
mov edx, 6
call fcn.004054c8
lea eax, [ebp - 0x9c]
call fcn.004054b0
lea eax, [ebp - 0x98]
call fcn.00404c88
lea eax, [ebp - 0x8c]
mov edx, dword [0x536a10]
call fcn.004065a8
lea eax, [ebp - 0x88]
mov edx, dword [0x4df050]
call fcn.00405b40
ret