Function at 0x54a2f4
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0xb92
push 0
push 0
dec ecx
jne 0x54a2fd
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xa0], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xa0]
call fcn.00404f9c
lea eax, [ebp - 0xa4]
call fcn.004058a4
lea eax, [ebp - 0x90]
mov edx, dword [0x4e2e5c]
call fcn.004058c4
mov ecx, 0x28
lea eax, [ebp - 0x5010]
mov edx, dword [0x401120]
call fcn.004058f4
mov ecx, 0x28
lea eax, [ebp - 0x50b0]
mov edx, dword [0x40112c]
call fcn.004058f4
mov ecx, 0x28
lea eax, [ebp - 0x54c0]
mov edx, dword [0x40114c]
call fcn.004058f4
mov ecx, 0x14
lea eax, [ebp - 0x58d0]
mov edx, dword [0x54a1f4]
call fcn.004058f4
mov ecx, 0x14
lea eax, [ebp - 0x5920]
mov edx, dword [0x54a214]
call fcn.004058f4
mov ecx, 0x14
lea eax, [ebp - 0x5970]
mov edx, dword [0x54a234]
call fcn.004058f4
mov ecx, 0x14
lea eax, [ebp - 0x59c0]
mov edx, dword [0x54a254]
call fcn.004058f4
mov ecx, 0x14
lea eax, [ebp - 0x5a10]
mov edx, dword [0x54a274]
call fcn.004058f4
mov ecx, 0x14
lea eax, [ebp - 0x5a60]
mov edx, dword [0x54a294]
call fcn.004058f4
mov ecx, 0x14
lea eax, [ebp - 0x5ab0]
mov edx, dword [0x54a2b4]
call fcn.004058f4
mov ecx, 0x14
lea eax, [ebp - 0x5b00]
mov edx, dword [0x54a2d4]
call fcn.004058f4
xor eax, eax
push ebp
push 0x551b91
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
xor edx, edx
mov cl, 1
call fcn.004165f0
mov byte [ebp - 0xa5], 0
lea edx, [ebp - 0xc0]
mov eax, dword [ebp - 0xa4]
call fcn.00409d2c
mov eax, dword [ebp - 0xc0]
call fcn.004054f0
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x5b04]
push eax
mov edx, dword [ebp - 0x98]
sub edx, 4
jno 0x54a48c
call fcn.00403a60
mov ecx, 5
mov eax, dword [ebp - 0xc0]
call fcn.00405698
mov eax, dword [ebp - 0x5b04]
mov edx, 0x551ba8
call fcn.00405614
je 0x54a4eb
lea eax, [ebp - 0x5b08]
push eax
mov edx, dword [ebp - 0x98]
sub edx, 4
jno 0x54a4c5
call fcn.00403a60
mov ecx, 5
mov eax, dword [ebp - 0xc0]
call fcn.00405698
mov eax, dword [ebp - 0x5b08]
mov edx, 0x551bb8
call fcn.00405614
jne 0x54a5b9
mov byte [ebp - 0xa5], 1
lea eax, [ebp - 0x5b10]
push eax
mov ecx, dword [ebp - 0x98]
sub ecx, 5
jno 0x54a509
call fcn.00403a60
mov edx, 1
mov eax, dword [ebp - 0xa4]
call fcn.00405698
mov eax, dword [ebp - 0x5b10]
lea edx, [ebp - 0x5b0c]
call fcn.00409f90
mov edx, dword [ebp - 0x5b0c]
lea eax, [ebp - 0xa4]
call fcn.00405358
mov eax, dword [ebp - 0xa4]
call fcn.004054f0
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0xa4]
dec eax
test edx, edx
je 0x54a562
cmp eax, dword [edx - 4]
jb 0x54a567
call fcn.00403a58
inc eax
cmp word [edx + eax*2 - 2], 0x3a
jne 0x54a5b9
lea eax, [ebp - 0x5b18]
push eax
mov ecx, dword [ebp - 0x98]
sub ecx, 1
jno 0x54a587
call fcn.00403a60
mov edx, 1
mov eax, dword [ebp - 0xa4]
call fcn.00405698
mov eax, dword [ebp - 0x5b18]
lea edx, [ebp - 0x5b14]
call fcn.00409f90
mov edx, dword [ebp - 0x5b14]
lea eax, [ebp - 0xa4]
call fcn.00405358
lea eax, [ebp - 0x9b1]
xor ecx, ecx
mov edx, 0x800
call fcn.0040346c
lea eax, [ebp - 0x4a94]
xor ecx, ecx
mov edx, 0xa0
call fcn.0040346c
xor eax, eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
cmp eax, 7
jbe 0x54a5f5
call fcn.00403a58
xor edx, edx
mov dword [ebp + eax*4 - 0x49f4], edx
inc dword [ebp - 0xac]
cmp dword [ebp - 0xac], 8
jne 0x54a5e5
xor eax, eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x190], 0xffffffff
xor eax, eax
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0xd0]
mov edx, dword [ebp - 0xa4]
call fcn.00405358
xor eax, eax
push ebp
push 0x54dff3
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xac], eax
push 0
lea eax, [ebp - 0xc4]
push eax
lea edx, [ebp - 0xa4]
mov cx, 0x29
mov eax, dword [ebp - 4]
call fcn.004e50c0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x5b1c]
push eax
lea ecx, [ebp - 0xd4]
lea eax, [ebp - 0xc4]
mov edx, 0x551bc8
call fcn.004acd9c
mov eax, dword [ebp - 0x5b1c]
lea edx, [ebp - 0xc0]
call fcn.00409f90
mov eax, dword [ebp - 0xc0]
xor edx, edx
call fcn.00405614
jne 0x54a6c0
mov eax, dword [ebp - 0xd4]
mov edx, 0x551bd8
call fcn.00405614
je 0x54a669
mov eax, dword [ebp - 0xd4]
mov edx, 0x551be0
call fcn.00405614
je 0x54a6e4
mov eax, dword [ebp - 0xd4]
mov edx, 0x551be8
call fcn.00405614
jne 0x54a71d
mov eax, dword [ebp - 0xc0]
xor edx, edx
call fcn.00405614
jne 0x54a706
lea eax, [ebp - 0xc0]
mov edx, dword [ebp - 0xd4]
call fcn.00405358
jmp 0x54a71d
lea eax, [ebp - 0xc4]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd4]
call fcn.0040555c
mov eax, dword [ebp - 0xc0]
xor edx, edx
call fcn.00405614
je 0x54de33
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 4]
call fcn.00549580
mov dword [ebp - 0xb0], eax
mov byte [ebp - 0xa6], 0
mov edx, dword [ebp - 0xc0]
mov eax, 0x551bf0
call fcn.00405810
test eax, eax
jle 0x54a770
mov byte [ebp - 0xa6], 1
or dword [ebp - 0xb0], 0x100
mov eax, dword [ebp - 0xb0]
cmp eax, 0x12
jg 0x54a7d9
je case.0x54a841.274
cmp eax, 0x11
ja case.0x54a841.265
jmp dword [eax*4 + 0x54a791]
cmp eax, 0x107
jg 0x54a833
je 0x54cde2
cmp eax, 0x102
jg 0x54a813
je 0x54c5cf
sub eax, 0x14
je 0x54db5b
dec eax
je 0x54dc64
sub eax, 0xec
je 0x54c20b
jmp case.0x54a841.265
sub eax, 0x103
je 0x54c880
dec eax
sub eax, 2
jb case.0x54a78a.4
je 0x54cb31
jmp case.0x54a841.265
add eax, 0xfffffef8
cmp eax, 0xa
ja case.0x54a841.265
jmp dword [eax*4 + 0x54a848]
cmp dword [ebp - 0x18c], 0
jle 0x54a8cc
cmp byte [ebp - 0xa5], 0
jne 0x54a90c
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54a89c
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54a90c
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54a8bd
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54a8ca
call fcn.00403a60
jmp 0x54a90c
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54a8de
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54a90c
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54a8ff
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54a90c
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54a91b
cmp eax, dword [ebp + 0x18]
jle 0x54a920
call fcn.00403a58
imul eax, eax, 2
jno 0x54a92a
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412e18
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54a94d
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x118]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54a972
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54a9cf
cmp byte [ebp - 0xa5], 0
jne 0x54aa0f
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54a99f
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54aa0f
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54a9c0
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54a9cd
call fcn.00403a60
jmp 0x54aa0f
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54a9e1
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54aa0f
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54aa02
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54aa0f
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54aa1e
cmp eax, dword [ebp + 0x18]
jle 0x54aa23
call fcn.00403a58
imul eax, eax, 2
jno 0x54aa2d
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00414778
fstp dword [ebp - 0x11c]
wait
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54aa51
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x11c]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54aa76
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54aad3
cmp byte [ebp - 0xa5], 0
jne 0x54ab13
mov eax, dword [ebp - 0x98]
and eax, 0x80000007
jns 0x54aaa3
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ab13
mov eax, 8
sub eax, dword [ebp - 0xb0]
jno 0x54aac4
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54aad1
call fcn.00403a60
jmp 0x54ab13
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54aae5
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ab13
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54ab06
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54ab13
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54ab22
cmp eax, dword [ebp + 0x18]
jle 0x54ab27
call fcn.00403a58
imul eax, eax, 2
jno 0x54ab31
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00414778
fstp qword [ebp - 0x128]
wait
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54ab55
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x128]
mov ecx, 8
call fcn.00402fc8
add dword [ebp - 0x98], 8
jno 0x54ab7a
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54abd7
cmp byte [ebp - 0xa5], 0
jne 0x54ac17
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54aba7
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ac17
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54abc8
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54abd5
call fcn.00403a60
jmp 0x54ac17
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54abe9
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ac17
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54ac0a
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54ac17
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54ac26
cmp eax, dword [ebp + 0x18]
jle 0x54ac2b
call fcn.00403a58
imul eax, eax, 2
jno 0x54ac35
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
cmp ax, 1
je 0x54ac6c
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54ac55
cmp eax, dword [ebp + 0x10]
jle 0x54ac5a
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x54aca6
lea eax, [ebp - 0x5b2c]
call fcn.0041991c
lea edx, [ebp - 0x5b2c]
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54ac8d
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x5010]
call fcn.0041578c
xor eax, eax
mov dword [ebp - 0x150], eax
jmp 0x54adf0
lea eax, [ebp - 0x5b30]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54acbb
cmp edx, dword [ebp + 0x18]
jle 0x54acc0
call fcn.00403a58
imul edx, edx, 2
jno 0x54acca
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.0041578c
mov edx, dword [ebp - 0x5b30]
mov eax, 0x551c10
call fcn.004050f0
test eax, eax
jle 0x54ad50
lea eax, [ebp - 0x5b38]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54acfe
cmp edx, dword [ebp + 0x18]
jle 0x54ad03
call fcn.00403a58
imul edx, edx, 2
jno 0x54ad0d
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.0041578c
mov edx, dword [ebp - 0x5b38]
lea ecx, [ebp - 0x5b34]
mov eax, dword [ebp - 4]
call fcn.0053f2a4
mov edx, dword [ebp - 0x5b34]
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54ad42
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x5010]
call fcn.00404b64
jmp 0x54ad90
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54ad60
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x5010]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54ad76
cmp edx, dword [ebp + 0x18]
jle 0x54ad7b
call fcn.00403a58
imul edx, edx, 2
jno 0x54ad85
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.0041578c
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54ada0
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x5010]
push eax
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54adb8
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5010]
mov ecx, 0x7fffffff
mov edx, 1
call fcn.0040500c
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54adde
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5010]
call fcn.00404fac
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
je 0x54b006
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 4]
call fcn.00549580
cmp eax, 4
je 0x54ae27
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 4]
call fcn.00549580
cmp eax, 5
jne 0x54b006
cmp dword [ebp - 0x18c], 0
jle 0x54b006
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54ae44
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5010]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0
je 0x54ae77
mov eax, dword [ebp - 0x19c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54ae87
call fcn.00403a58
mov edx, dword [ebp - 0x19c]
mov dword [ebp + eax*4 - 0x4a94], edx
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54aea4
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x4a94]
add eax, dword [ebp - 0x98]
jno 0x54aeb8
call fcn.00403a60
cmp eax, 0x800
jle 0x54af8b
mov eax, dword [0x589364]
cmp byte [eax], 0
je 0x54af2d
push 0
push 0x551c1c
lea edx, [ebp - 0x5b44]
mov eax, 0x800
call fcn.0040a308
push dword [ebp - 0x5b44]
push 0x551c38
lea eax, [ebp - 0x5b40]
mov edx, 3
call fcn.00404e6c
mov edx, dword [ebp - 0x5b40]
lea eax, [ebp - 0x5b3c]
call fcn.004054d0
mov eax, dword [ebp - 0x5b3c]
push eax
mov eax, dword [0x5892f4]
mov eax, dword [eax]
call fcn.0045e0f0
xor ecx, ecx
pop edx
call fcn.004b32f8
jmp 0x54af8b
push 0
push 0x551c50
lea edx, [ebp - 0x5b50]
mov eax, 0x800
call fcn.0040a308
push dword [ebp - 0x5b50]
push 0x551c74
lea eax, [ebp - 0x5b4c]
mov edx, 3
call fcn.00404e6c
mov edx, dword [ebp - 0x5b4c]
lea eax, [ebp - 0x5b48]
call fcn.004054d0
mov eax, dword [ebp - 0x5b48]
push eax
mov eax, dword [0x5892f4]
mov eax, dword [eax]
call fcn.0045e0f0
xor ecx, ecx
pop edx
call fcn.004b32f8
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54af9b
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5010]
call fcn.00404fac
mov edx, dword [ebp - 0xac]
cmp edx, 0x27
jbe 0x54afb7
call fcn.00403a58
mov ecx, dword [ebp + edx*4 - 0x4a94]
mov edx, dword [ebp - 0x98]
cmp edx, 0x7ff
jbe 0x54afd1
call fcn.00403a58
lea edx, [ebp + edx - 0x9b1]
call fcn.00402fc8
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54afed
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x4a94]
add dword [ebp - 0x98], eax
jno 0x54b001
call fcn.00403a60
jmp case.0x54a78a.16
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54b018
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x150]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54b03d
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54b09a
cmp byte [ebp - 0xa5], 0
jne 0x54b0da
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54b06a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54b0da
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54b08b
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54b098
call fcn.00403a60
jmp 0x54b0da
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54b0ac
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54b0da
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54b0cd
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54b0da
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54b0e9
cmp eax, dword [ebp + 0x18]
jle 0x54b0ee
call fcn.00403a58
imul eax, eax, 2
jno 0x54b0f8
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
cmp ax, 1
je 0x54b12f
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54b118
cmp eax, dword [ebp + 0x10]
jle 0x54b11d
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x54b169
lea eax, [ebp - 0x5b60]
call fcn.0041991c
lea edx, [ebp - 0x5b60]
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54b150
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x50b0]
call fcn.00415eac
xor eax, eax
mov dword [ebp - 0x154], eax
jmp 0x54b2b3
lea eax, [ebp - 0x5b64]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54b17e
cmp edx, dword [ebp + 0x18]
jle 0x54b183
call fcn.00403a58
imul edx, edx, 2
jno 0x54b18d
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.0041578c
mov edx, dword [ebp - 0x5b64]
mov eax, 0x551c10
call fcn.004050f0
test eax, eax
jle 0x54b213
lea eax, [ebp - 0x5b6c]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54b1c1
cmp edx, dword [ebp + 0x18]
jle 0x54b1c6
call fcn.00403a58
imul edx, edx, 2
jno 0x54b1d0
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00415eac
mov edx, dword [ebp - 0x5b6c]
lea ecx, [ebp - 0x5b68]
mov eax, dword [ebp - 4]
call fcn.0053f034
mov edx, dword [ebp - 0x5b68]
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54b205
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x50b0]
call fcn.00405358
jmp 0x54b253
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54b223
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x50b0]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54b239
cmp edx, dword [ebp + 0x18]
jle 0x54b23e
call fcn.00403a58
imul edx, edx, 2
jno 0x54b248
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00415eac
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54b263
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x50b0]
push eax
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54b27b
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x50b0]
mov ecx, 0x7fffffff
mov edx, 1
call fcn.00405698
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54b2a1
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x50b0]
call fcn.004054e0
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
je 0x54b49c
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 4]
call fcn.00549580
cmp eax, 0xd
je 0x54b2ea
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 4]
call fcn.00549580
cmp eax, 0xe
jne 0x54b49c
cmp dword [ebp - 0x18c], 0
jle 0x54b49c
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54b307
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x50b0]
call fcn.004054f0
mov edx, dword [ebp - 0xac]
cmp edx, 0x27
jbe 0x54b323
call fcn.00403a58
mov dword [ebp + edx*4 - 0x4a94], eax
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54b33a
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x4a94]
add eax, dword [ebp - 0x98]
jno 0x54b34e
call fcn.00403a60
cmp eax, 0x800
jle 0x54b421
mov eax, dword [0x589364]
cmp byte [eax], 0
je 0x54b3c3
push 0
push 0x551c1c
lea edx, [ebp - 0x5b78]
mov eax, 0x800
call fcn.0040a308
push dword [ebp - 0x5b78]
push 0x551c38
lea eax, [ebp - 0x5b74]
mov edx, 3
call fcn.00404e6c
mov edx, dword [ebp - 0x5b74]
lea eax, [ebp - 0x5b70]
call fcn.004054d0
mov eax, dword [ebp - 0x5b70]
push eax
mov eax, dword [0x5892f4]
mov eax, dword [eax]
call fcn.0045e0f0
xor ecx, ecx
pop edx
call fcn.004b32f8
jmp 0x54b421
push 0
push 0x551c50
lea edx, [ebp - 0x5b84]
mov eax, 0x800
call fcn.0040a308
push dword [ebp - 0x5b84]
push 0x551c74
lea eax, [ebp - 0x5b80]
mov edx, 3
call fcn.00404e6c
mov edx, dword [ebp - 0x5b80]
lea eax, [ebp - 0x5b7c]
call fcn.004054d0
mov eax, dword [ebp - 0x5b7c]
push eax
mov eax, dword [0x5892f4]
mov eax, dword [eax]
call fcn.0045e0f0
xor ecx, ecx
pop edx
call fcn.004b32f8
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54b431
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x50b0]
call fcn.004054e0
mov edx, dword [ebp - 0xac]
cmp edx, 0x27
jbe 0x54b44d
call fcn.00403a58
mov ecx, dword [ebp + edx*4 - 0x4a94]
mov edx, dword [ebp - 0x98]
cmp edx, 0x7ff
jbe 0x54b467
call fcn.00403a58
lea edx, [ebp + edx - 0x9b1]
call fcn.00402fc8
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54b483
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x4a94]
add dword [ebp - 0x98], eax
jno 0x54b497
call fcn.00403a60
jmp case.0x54a78a.16
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54b4ae
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x154]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54b4d3
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54b530
cmp byte [ebp - 0xa5], 0
jne 0x54b570
mov eax, dword [ebp - 0x98]
and eax, 0x80000001
jns 0x54b500
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54b570
mov eax, 2
sub eax, dword [ebp - 0xb0]
jno 0x54b521
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54b52e
call fcn.00403a60
jmp 0x54b570
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54b542
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54b570
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54b563
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54b570
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54b57f
cmp eax, dword [ebp + 0x18]
jle 0x54b584
call fcn.00403a58
imul eax, eax, 2
jno 0x54b58e
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412e18
mov word [ebp - 0x12a], ax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54b5b2
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x12a]
mov ecx, 2
call fcn.00402fc8
add dword [ebp - 0x98], 2
jno 0x54b5d7
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54b634
cmp byte [ebp - 0xa5], 0
jne 0x54b674
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54b604
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54b674
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54b625
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54b632
call fcn.00403a60
jmp 0x54b674
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54b646
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54b674
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54b667
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54b674
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54b683
cmp eax, dword [ebp + 0x18]
jle 0x54b688
call fcn.00403a58
imul eax, eax, 2
jno 0x54b692
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
movzx eax, ax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 1
jne 0x54b6bc
xor eax, eax
mov dword [ebp - 0x130], eax
jmp 0x54b84f
cmp dword [ebp - 0xb4], 0x100
je 0x54b6d5
cmp dword [ebp - 0xb4], 8
jne 0x54b81b
lea eax, [ebp - 0x5b88]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54b6ea
cmp edx, dword [ebp + 0x18]
jle 0x54b6ef
call fcn.00403a58
imul edx, edx, 2
jno 0x54b6f9
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.0041578c
mov edx, dword [ebp - 0x5b88]
mov eax, 0x551c10
call fcn.004050f0
test eax, eax
jle 0x54b78c
lea eax, [ebp - 0x5b90]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54b72d
cmp edx, dword [ebp + 0x18]
jle 0x54b732
call fcn.00403a58
imul edx, edx, 2
jno 0x54b73c
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00415eac
mov edx, dword [ebp - 0x5b90]
lea ecx, [ebp - 0x5b8c]
mov eax, dword [ebp - 4]
call fcn.0053f034
mov edx, dword [ebp - 0x5b8c]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54b770
cmp eax, dword [ebp + 0x18]
jle 0x54b775
call fcn.00403a58
imul eax, eax, 2
jno 0x54b77f
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.004168c0
jmp 0x54b7d9
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54b79b
cmp eax, dword [ebp + 0x18]
jle 0x54b7a0
call fcn.00403a58
imul eax, eax, 2
jno 0x54b7aa
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54b7bf
cmp edx, dword [ebp + 0x18]
jle 0x54b7c4
call fcn.00403a58
imul edx, edx, 2
jno 0x54b7ce
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00412510
lea eax, [ebp - 0x5b94]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54b7ee
cmp edx, dword [ebp + 0x18]
jle 0x54b7f3
call fcn.00403a58
imul edx, edx, 2
jno 0x54b7fd
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.0041578c
mov eax, dword [ebp - 0x5b94]
call fcn.00404fac
mov dword [ebp - 0x130], eax
jmp 0x54b84f
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54b82a
cmp eax, dword [ebp + 0x18]
jle 0x54b82f
call fcn.00403a58
imul eax, eax, 2
jno 0x54b839
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00414778
call fcn.00403228
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54b861
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x130]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54b886
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54b8e3
cmp byte [ebp - 0xa5], 0
jne 0x54b923
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54b8b3
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54b923
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54b8d4
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54b8e1
call fcn.00403a60
jmp 0x54b923
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54b8f5
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54b923
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54b916
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54b923
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54b932
cmp eax, dword [ebp + 0x18]
jle 0x54b937
call fcn.00403a58
imul eax, eax, 2
jno 0x54b941
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
movzx eax, ax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 1
jne 0x54b968
xor eax, eax
mov dword [ebp - 0x17c], eax
jmp 0x54b992
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54b977
cmp eax, dword [ebp + 0x18]
jle 0x54b97c
call fcn.00403a58
imul eax, eax, 2
jno 0x54b986
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54b9a4
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x17c]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54b9c9
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54ba26
cmp byte [ebp - 0xa5], 0
jne 0x54ba66
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54b9f6
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ba66
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54ba17
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54ba24
call fcn.00403a60
jmp 0x54ba66
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54ba38
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ba66
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54ba59
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54ba66
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54ba75
cmp eax, dword [ebp + 0x18]
jle 0x54ba7a
call fcn.00403a58
imul eax, eax, 2
jno 0x54ba84
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
movzx eax, ax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 1
jne 0x54baae
xor eax, eax
mov dword [ebp - 0x158], eax
jmp 0x54bb7e
test byte [ebp - 0xb3], 0x40
je 0x54bb08
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54bac6
cmp eax, dword [ebp + 0x18]
jle 0x54bacb
call fcn.00403a58
imul eax, eax, 2
jno 0x54bad5
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [ebp - 0xac]
cmp edx, 0x27
jbe 0x54baec
call fcn.00403a58
imul edx, edx, 3
jno 0x54baf6
call fcn.00403a60
mov esi, eax
lea edi, [ebp + edx*8 - 0x5880]
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
jmp 0x54bb57
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54bb17
cmp eax, dword [ebp + 0x18]
jle 0x54bb1c
call fcn.00403a58
imul eax, eax, 2
jno 0x54bb26
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [ebp - 0xac]
cmp edx, 0x27
jbe 0x54bb3d
call fcn.00403a58
imul edx, edx, 3
jno 0x54bb47
call fcn.00403a60
mov esi, eax
lea edi, [ebp + edx*8 - 0x5880]
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54bb67
call fcn.00403a58
imul eax, eax, 3
jno 0x54bb71
call fcn.00403a60
lea eax, [ebp + eax*8 - 0x5880]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54bb90
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x158]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54bbb5
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jg 0x54bc03
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54bbd5
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54bc03
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54bbf6
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54bc03
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54bc12
cmp eax, dword [ebp + 0x18]
jle 0x54bc17
call fcn.00403a58
imul eax, eax, 2
jno 0x54bc21
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412e18
mov byte [ebp - 0x111], al
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54bc44
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x111]
mov ecx, 1
call fcn.00402fc8
add dword [ebp - 0x98], 1
jno 0x54bc69
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jg 0x54bcb7
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54bc89
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54bcb7
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54bcaa
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54bcb7
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54bcc6
cmp eax, dword [ebp + 0x18]
jle 0x54bccb
call fcn.00403a58
imul eax, eax, 2
jno 0x54bcd5
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
movzx eax, ax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 1
jne 0x54bcfb
mov byte [ebp - 0x1a5], 1
jmp 0x54bd6a
lea eax, [ebp - 0x5b98]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54bd10
cmp edx, dword [ebp + 0x18]
jle 0x54bd15
call fcn.00403a58
imul edx, edx, 2
jno 0x54bd1f
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.0041578c
mov eax, dword [ebp - 0x5b98]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
je 0x54bd5c
mov eax, dword [ebp - 0x1a4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
sete byte [ebp - 0x1a5]
cmp byte [ebp - 0x1a5], 0
je 0x54bd7c
mov byte [ebp - 0x149], 0
jmp 0x54bdd0
lea eax, [ebp - 0x5b9c]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54bd91
cmp edx, dword [ebp + 0x18]
jle 0x54bd96
call fcn.00403a58
imul edx, edx, 2
jno 0x54bda0
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.0041578c
mov eax, dword [ebp - 0x5b9c]
mov edx, 1
dec edx
test eax, eax
je 0x54bdc0
cmp edx, dword [eax - 4]
jb 0x54bdc5
call fcn.00403a58
inc edx
mov al, byte [eax + edx - 1]
mov byte [ebp - 0x149], al
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54bde2
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x149]
mov ecx, 1
call fcn.00402fc8
add dword [ebp - 0x98], 1
jno 0x54be07
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54be64
cmp byte [ebp - 0xa5], 0
jne 0x54bea4
mov eax, dword [ebp - 0x98]
and eax, 0x80000001
jns 0x54be34
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54bea4
mov eax, 2
sub eax, dword [ebp - 0xb0]
jno 0x54be55
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54be62
call fcn.00403a60
jmp 0x54bea4
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54be76
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54bea4
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54be97
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54bea4
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54beb3
cmp eax, dword [ebp + 0x18]
jle 0x54beb8
call fcn.00403a58
imul eax, eax, 2
jno 0x54bec2
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
movzx eax, ax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 1
jne 0x54bee8
mov byte [ebp - 0x1b1], 1
jmp 0x54bf57
lea eax, [ebp - 0x5ba0]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54befd
cmp edx, dword [ebp + 0x18]
jle 0x54bf02
call fcn.00403a58
imul edx, edx, 2
jno 0x54bf0c
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.0041578c
mov eax, dword [ebp - 0x5ba0]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
je 0x54bf49
mov eax, dword [ebp - 0x1b0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
sete byte [ebp - 0x1b1]
cmp byte [ebp - 0x1b1], 0
je 0x54bf6b
mov word [ebp - 0x14c], 0
jmp 0x54bfc1
lea eax, [ebp - 0x5ba4]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54bf80
cmp edx, dword [ebp + 0x18]
jle 0x54bf85
call fcn.00403a58
imul edx, edx, 2
jno 0x54bf8f
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.0041578c
mov eax, dword [ebp - 0x5ba4]
mov edx, 1
dec edx
test eax, eax
je 0x54bfaf
cmp edx, dword [eax - 4]
jb 0x54bfb4
call fcn.00403a58
inc edx
movzx eax, byte [eax + edx - 1]
mov word [ebp - 0x14c], ax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54bfd3
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x14c]
mov ecx, 2
call fcn.00402fc8
add dword [ebp - 0x98], 2
jno 0x54bff8
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54c055
cmp byte [ebp - 0xa5], 0
jne 0x54c095
mov eax, dword [ebp - 0x98]
and eax, 0x80000007
jns 0x54c025
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54c095
mov eax, 8
sub eax, dword [ebp - 0xb0]
jno 0x54c046
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54c053
call fcn.00403a60
jmp 0x54c095
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54c067
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54c095
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54c088
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54c095
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54c0a4
cmp eax, dword [ebp + 0x18]
jle 0x54c0a9
call fcn.00403a58
imul eax, eax, 2
jno 0x54c0b3
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412e18
cdq
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], edx
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54c0dd
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x138]
mov ecx, 8
call fcn.00402fc8
add dword [ebp - 0x98], 8
jno 0x54c102
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54c15f
cmp byte [ebp - 0xa5], 0
jne 0x54c19f
mov eax, dword [ebp - 0x98]
and eax, 0x80000007
jns 0x54c12f
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54c19f
mov eax, 8
sub eax, dword [ebp - 0xb0]
jno 0x54c150
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54c15d
call fcn.00403a60
jmp 0x54c19f
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54c171
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54c19f
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54c192
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54c19f
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54c1ae
cmp eax, dword [ebp + 0x18]
jle 0x54c1b3
call fcn.00403a58
imul eax, eax, 2
jno 0x54c1bd
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00414778
fstp xword [ebp - 0x148]
wait
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54c1e1
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x148]
mov ecx, 0xa
call fcn.00402fc8
add dword [ebp - 0x98], 0xa
jno 0x54c206
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54c263
cmp byte [ebp - 0xa5], 0
jne 0x54c2a3
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54c233
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54c2a3
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54c254
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54c261
call fcn.00403a60
jmp 0x54c2a3
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54c275
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54c2a3
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54c296
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54c2a3
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54c2b2
cmp eax, dword [ebp + 0x18]
jle 0x54c2b7
call fcn.00403a58
imul eax, eax, 2
jno 0x54c2c1
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
cmp ax, 1
je 0x54c2f8
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54c2e1
cmp eax, dword [ebp + 0x10]
jle 0x54c2e6
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x54c305
xor eax, eax
mov dword [ebp - 0x160], eax
jmp 0x54c593
cmp byte [ebp - 0xa6], 0
je 0x54c4b7
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54c322
cmp eax, dword [ebp + 0x10]
jle 0x54c327
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00549f24
pop ecx
mov eax, dword [ebp - 0x94]
call fcn.00406234
push eax
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54c351
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x5920]
mov ecx, 1
mov edx, dword [0x54a214]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x54c380
call fcn.00403a60
test eax, eax
jl 0x54c482
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
xor eax, eax
push ebp
push 0x54c3fd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x54c3b7
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
call fcn.00412e18
mov edx, dword [ebp - 0xac]
cmp edx, 0x13
jbe 0x54c3d5
call fcn.00403a58
mov edx, dword [ebp + edx*4 - 0x5920]
mov ecx, dword [ebp - 0xb8]
test edx, edx
je 0x54c3eb
cmp ecx, dword [edx - 4]
jb 0x54c3f0
call fcn.00403a58
mov dword [edx + ecx*4], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54c470
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x54c399
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54c492
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5920]
xor edx, edx
test eax, eax
je 0x54c4a4
cmp edx, dword [eax - 4]
jb 0x54c4a9
call fcn.00403a58
lea eax, [eax + edx*4]
mov dword [ebp - 0x160], eax
jmp 0x54c593
xor eax, eax
push ebp
push 0x54c50f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54c4d4
cmp eax, dword [ebp + 0x18]
jle 0x54c4d9
call fcn.00403a58
imul eax, eax, 2
jno 0x54c4e3
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412e18
mov edx, dword [ebp - 0xac]
cmp edx, 0x27
jbe 0x54c4fe
call fcn.00403a58
mov dword [ebp + edx*4 - 0x4b5c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54c576
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54c586
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x4b5c]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54c5a5
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x160]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54c5ca
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54c627
cmp byte [ebp - 0xa5], 0
jne 0x54c667
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54c5f7
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54c667
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54c618
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54c625
call fcn.00403a60
jmp 0x54c667
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54c639
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54c667
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54c65a
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54c667
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54c676
cmp eax, dword [ebp + 0x18]
jle 0x54c67b
call fcn.00403a58
imul eax, eax, 2
jno 0x54c685
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
cmp ax, 1
je 0x54c6bc
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54c6a5
cmp eax, dword [ebp + 0x10]
jle 0x54c6aa
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x54c6c9
xor eax, eax
mov dword [ebp - 0x164], eax
jmp 0x54c844
cmp byte [ebp - 0xa6], 0
je 0x54c7e6
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54c6e6
cmp eax, dword [ebp + 0x10]
jle 0x54c6eb
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00549f24
pop ecx
mov eax, dword [ebp - 0x94]
call fcn.00406234
push eax
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54c715
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x5970]
mov ecx, 1
mov edx, dword [0x54a234]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x54c744
call fcn.00403a60
test eax, eax
jl 0x54c7b4
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x54c769
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
call fcn.00414778
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54c787
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5970]
mov edx, dword [ebp - 0xb8]
test eax, eax
je 0x54c79d
cmp edx, dword [eax - 4]
jb 0x54c7a2
call fcn.00403a58
fstp dword [eax + edx*4]
wait
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x54c759
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54c7c4
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5970]
xor edx, edx
test eax, eax
je 0x54c7d6
cmp edx, dword [eax - 4]
jb 0x54c7db
call fcn.00403a58
lea eax, [eax + edx*4]
mov dword [ebp - 0x164], eax
jmp 0x54c844
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54c7f5
cmp eax, dword [ebp + 0x18]
jle 0x54c7fa
call fcn.00403a58
imul eax, eax, 2
jno 0x54c804
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00414778
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54c81f
call fcn.00403a58
fstp dword [ebp + eax*4 - 0x4bfc]
wait
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54c837
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x4bfc]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54c856
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x164]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54c87b
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54c8d8
cmp byte [ebp - 0xa5], 0
jne 0x54c918
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54c8a8
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54c918
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54c8c9
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54c8d6
call fcn.00403a60
jmp 0x54c918
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54c8ea
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54c918
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54c90b
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54c918
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54c927
cmp eax, dword [ebp + 0x18]
jle 0x54c92c
call fcn.00403a58
imul eax, eax, 2
jno 0x54c936
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
cmp ax, 1
je 0x54c96d
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54c956
cmp eax, dword [ebp + 0x10]
jle 0x54c95b
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x54c97a
xor eax, eax
mov dword [ebp - 0x168], eax
jmp 0x54caf5
cmp byte [ebp - 0xa6], 0
je 0x54ca97
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54c997
cmp eax, dword [ebp + 0x10]
jle 0x54c99c
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00549f24
pop ecx
mov eax, dword [ebp - 0x94]
call fcn.00406234
push eax
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54c9c6
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x59c0]
mov ecx, 1
mov edx, dword [0x54a254]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x54c9f5
call fcn.00403a60
test eax, eax
jl 0x54ca65
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x54ca1a
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
call fcn.00414778
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54ca38
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x59c0]
mov edx, dword [ebp - 0xb8]
test eax, eax
je 0x54ca4e
cmp edx, dword [eax - 4]
jb 0x54ca53
call fcn.00403a58
fstp qword [eax + edx*8]
wait
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x54ca0a
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54ca75
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x59c0]
xor edx, edx
test eax, eax
je 0x54ca87
cmp edx, dword [eax - 4]
jb 0x54ca8c
call fcn.00403a58
lea eax, [eax + edx*8]
mov dword [ebp - 0x168], eax
jmp 0x54caf5
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54caa6
cmp eax, dword [ebp + 0x18]
jle 0x54caab
call fcn.00403a58
imul eax, eax, 2
jno 0x54cab5
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00414778
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54cad0
call fcn.00403a58
fstp qword [ebp + eax*8 - 0x4d40]
wait
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54cae8
call fcn.00403a58
lea eax, [ebp + eax*8 - 0x4d40]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54cb07
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x168]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54cb2c
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54cb89
cmp byte [ebp - 0xa5], 0
jne 0x54cbc9
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54cb59
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54cbc9
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54cb7a
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54cb87
call fcn.00403a60
jmp 0x54cbc9
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54cb9b
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54cbc9
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54cbbc
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54cbc9
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54cbd8
cmp eax, dword [ebp + 0x18]
jle 0x54cbdd
call fcn.00403a58
imul eax, eax, 2
jno 0x54cbe7
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
cmp ax, 1
je 0x54cc1e
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54cc07
cmp eax, dword [ebp + 0x10]
jle 0x54cc0c
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x54cc2b
xor eax, eax
mov dword [ebp - 0x16c], eax
jmp 0x54cda6
cmp byte [ebp - 0xa6], 0
je 0x54cd48
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54cc48
cmp eax, dword [ebp + 0x10]
jle 0x54cc4d
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00549f24
pop ecx
mov eax, dword [ebp - 0x94]
call fcn.00406234
push eax
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54cc77
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x5a10]
mov ecx, 1
mov edx, dword [0x54a274]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x54cca6
call fcn.00403a60
test eax, eax
jl 0x54cd16
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x54cccb
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
call fcn.00412e18
mov edx, dword [ebp - 0xac]
cmp edx, 0x13
jbe 0x54cce9
call fcn.00403a58
mov edx, dword [ebp + edx*4 - 0x5a10]
mov ecx, dword [ebp - 0xb8]
test edx, edx
je 0x54ccff
cmp ecx, dword [edx - 4]
jb 0x54cd04
call fcn.00403a58
mov word [edx + ecx*2], ax
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x54ccbb
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54cd26
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5a10]
xor edx, edx
test eax, eax
je 0x54cd38
cmp edx, dword [eax - 4]
jb 0x54cd3d
call fcn.00403a58
lea eax, [eax + edx*2]
mov dword [ebp - 0x16c], eax
jmp 0x54cda6
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54cd57
cmp eax, dword [ebp + 0x18]
jle 0x54cd5c
call fcn.00403a58
imul eax, eax, 2
jno 0x54cd66
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412e18
mov edx, dword [ebp - 0xac]
cmp edx, 0x27
jbe 0x54cd81
call fcn.00403a58
mov word [ebp + edx*2 - 0x4d90], ax
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54cd99
call fcn.00403a58
lea eax, [ebp + eax*2 - 0x4d90]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54cdb8
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x16c]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54cddd
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54ce3a
cmp byte [ebp - 0xa5], 0
jne 0x54ce7a
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54ce0a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ce7a
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54ce2b
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54ce38
call fcn.00403a60
jmp 0x54ce7a
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54ce4c
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ce7a
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54ce6d
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54ce7a
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54ce89
cmp eax, dword [ebp + 0x18]
jle 0x54ce8e
call fcn.00403a58
imul eax, eax, 2
jno 0x54ce98
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
cmp ax, 1
je 0x54cecf
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54ceb8
cmp eax, dword [ebp + 0x10]
jle 0x54cebd
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x54cedc
xor eax, eax
mov dword [ebp - 0x170], eax
jmp 0x54d154
cmp byte [ebp - 0xa6], 0
je 0x54d083
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54cef9
cmp eax, dword [ebp + 0x10]
jle 0x54cefe
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00549f24
pop ecx
mov eax, dword [ebp - 0x94]
call fcn.00406234
push eax
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54cf28
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x5a60]
mov ecx, 1
mov edx, dword [0x54a294]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x54cf57
call fcn.00403a60
test eax, eax
jl 0x54d04e
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
xor eax, eax
push ebp
push 0x54cfd9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x54cf8e
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
call fcn.00414778
call fcn.00403228
mov edx, dword [ebp - 0xac]
cmp edx, 0x13
jbe 0x54cfb1
call fcn.00403a58
mov edx, dword [ebp + edx*4 - 0x5a60]
mov ecx, dword [ebp - 0xb8]
test edx, edx
je 0x54cfc7
cmp ecx, dword [edx - 4]
jb 0x54cfcc
call fcn.00403a58
mov dword [edx + ecx*4], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54d03c
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x54cf70
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54d05e
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5a60]
xor edx, edx
test eax, eax
je 0x54d070
cmp edx, dword [eax - 4]
jb 0x54d075
call fcn.00403a58
lea eax, [eax + edx*4]
mov dword [ebp - 0x170], eax
jmp 0x54d154
xor eax, eax
push ebp
push 0x54d0e0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54d0a0
cmp eax, dword [ebp + 0x18]
jle 0x54d0a5
call fcn.00403a58
imul eax, eax, 2
jno 0x54d0af
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00414778
call fcn.00403228
mov edx, dword [ebp - 0xac]
cmp edx, 0x27
jbe 0x54d0cf
call fcn.00403a58
mov dword [ebp + edx*4 - 0x4e30], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54d137
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54d147
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x4e30]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54d166
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x170]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54d18b
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54d1e8
cmp byte [ebp - 0xa5], 0
jne 0x54d228
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54d1b8
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54d228
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54d1d9
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54d1e6
call fcn.00403a60
jmp 0x54d228
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54d1fa
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54d228
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54d21b
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54d228
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54d237
cmp eax, dword [ebp + 0x18]
jle 0x54d23c
call fcn.00403a58
imul eax, eax, 2
jno 0x54d246
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
cmp ax, 1
je 0x54d27d
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54d266
cmp eax, dword [ebp + 0x10]
jle 0x54d26b
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x54d287
xor eax, eax
mov dword [ebp - 0x17c], eax
jmp 0x54d2f8
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54d297
call fcn.00403a58
imul eax, eax, 2
jno 0x54d2a1
call fcn.00403a60
lea eax, [ebp + eax*8 - 0x54c0]
mov edx, dword [ebp - 0xac]
test edx, edx
jl 0x54d2b7
cmp edx, dword [ebp + 0x18]
jle 0x54d2bc
call fcn.00403a58
imul edx, edx, 2
jno 0x54d2c6
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00416a0c
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54d2e1
call fcn.00403a58
imul eax, eax, 2
jno 0x54d2eb
call fcn.00403a60
lea eax, [ebp + eax*8 - 0x54c0]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54d30a
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x17c]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54d32f
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54d38c
cmp byte [ebp - 0xa5], 0
jne 0x54d3cc
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54d35c
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54d3cc
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54d37d
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54d38a
call fcn.00403a60
jmp 0x54d3cc
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54d39e
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54d3cc
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54d3bf
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54d3cc
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54d3db
cmp eax, dword [ebp + 0x18]
jle 0x54d3e0
call fcn.00403a58
imul eax, eax, 2
jno 0x54d3ea
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
cmp ax, 1
je 0x54d421
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54d40a
cmp eax, dword [ebp + 0x10]
jle 0x54d40f
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x54d42e
xor eax, eax
mov dword [ebp - 0x15c], eax
jmp 0x54d5a6
cmp byte [ebp - 0xa6], 0
je 0x54d549
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54d44b
cmp eax, dword [ebp + 0x10]
jle 0x54d450
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00549f24
pop ecx
mov eax, dword [ebp - 0x94]
call fcn.00406234
push eax
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54d47a
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x58d0]
mov ecx, 1
mov edx, dword [0x54a1f4]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x54d4a9
call fcn.00403a60
test eax, eax
jl 0x54d518
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x54d4ce
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
call fcn.00412e18
mov edx, dword [ebp - 0xac]
cmp edx, 0x13
jbe 0x54d4ec
call fcn.00403a58
mov edx, dword [ebp + edx*4 - 0x58d0]
mov ecx, dword [ebp - 0xb8]
test edx, edx
je 0x54d502
cmp ecx, dword [edx - 4]
jb 0x54d507
call fcn.00403a58
mov byte [edx + ecx], al
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x54d4be
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54d528
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x58d0]
xor edx, edx
test eax, eax
je 0x54d53a
cmp edx, dword [eax - 4]
jb 0x54d53f
call fcn.00403a58
add eax, edx
mov dword [ebp - 0x15c], eax
jmp 0x54d5a6
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54d558
cmp eax, dword [ebp + 0x18]
jle 0x54d55d
call fcn.00403a58
imul eax, eax, 2
jno 0x54d567
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412e18
mov edx, dword [ebp - 0xac]
cmp edx, 0x27
jbe 0x54d582
call fcn.00403a58
mov byte [ebp + edx - 0x4abc], al
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54d599
call fcn.00403a58
lea eax, [ebp + eax - 0x4abc]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54d5b8
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x15c]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54d5dd
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54d63a
cmp byte [ebp - 0xa5], 0
jne 0x54d67a
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54d60a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54d67a
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54d62b
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54d638
call fcn.00403a60
jmp 0x54d67a
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54d64c
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54d67a
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54d66d
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54d67a
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54d689
cmp eax, dword [ebp + 0x18]
jle 0x54d68e
call fcn.00403a58
imul eax, eax, 2
jno 0x54d698
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
cmp ax, 1
je 0x54d6cf
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54d6b8
cmp eax, dword [ebp + 0x10]
jle 0x54d6bd
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x54d6dc
xor eax, eax
mov dword [ebp - 0x174], eax
jmp 0x54d862
cmp byte [ebp - 0xa6], 0
je 0x54d7fd
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54d6f9
cmp eax, dword [ebp + 0x10]
jle 0x54d6fe
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00549f24
pop ecx
mov eax, dword [ebp - 0x94]
call fcn.00406234
push eax
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54d728
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x5ab0]
mov ecx, 1
mov edx, dword [0x54a2b4]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x54d757
call fcn.00403a60
test eax, eax
jl 0x54d7cb
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x54d77c
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
call fcn.00412e18
cdq
mov ecx, dword [ebp - 0xac]
cmp ecx, 0x13
jbe 0x54d79b
call fcn.00403a58
mov ecx, dword [ebp + ecx*4 - 0x5ab0]
mov ebx, dword [ebp - 0xb8]
test ecx, ecx
je 0x54d7b1
cmp ebx, dword [ecx - 4]
jb 0x54d7b6
call fcn.00403a58
mov dword [ecx + ebx*8], eax
mov dword [ecx + ebx*8 + 4], edx
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x54d76c
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54d7db
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5ab0]
xor edx, edx
test eax, eax
je 0x54d7ed
cmp edx, dword [eax - 4]
jb 0x54d7f2
call fcn.00403a58
lea eax, [eax + edx*8]
mov dword [ebp - 0x174], eax
jmp 0x54d862
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54d80c
cmp eax, dword [ebp + 0x18]
jle 0x54d811
call fcn.00403a58
imul eax, eax, 2
jno 0x54d81b
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412e18
cdq
mov ecx, dword [ebp - 0xac]
cmp ecx, 0x27
jbe 0x54d837
call fcn.00403a58
mov dword [ebp + ecx*8 - 0x4f70], eax
mov dword [ebp + ecx*8 - 0x4f6c], edx
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54d855
call fcn.00403a58
lea eax, [ebp + eax*8 - 0x4f70]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54d874
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x174]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54d899
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x18c], 0
jle 0x54d8f6
cmp byte [ebp - 0xa5], 0
jne 0x54d936
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54d8c6
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54d936
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54d8e7
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54d8f4
call fcn.00403a60
jmp 0x54d936
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54d908
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54d936
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54d929
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54d936
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54d945
cmp eax, dword [ebp + 0x18]
jle 0x54d94a
call fcn.00403a58
imul eax, eax, 2
jno 0x54d954
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
cmp ax, 1
je 0x54d98b
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54d974
cmp eax, dword [ebp + 0x10]
jle 0x54d979
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x54d998
xor eax, eax
mov dword [ebp - 0x178], eax
jmp 0x54db1f
cmp byte [ebp - 0xa6], 0
je 0x54daad
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54d9b5
cmp eax, dword [ebp + 0x10]
jle 0x54d9ba
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
xor edx, edx
call fcn.00549f24
pop ecx
mov eax, dword [ebp - 0x94]
call fcn.00406234
push eax
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54d9e4
call fcn.00403a58
lea eax, [ebp + eax*4 - 0x5b00]
mov ecx, 1
mov edx, dword [0x54a2d4]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x54da13
call fcn.00403a60
test eax, eax
jl 0x54da7f
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x54da38
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
call fcn.00414778
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54da56
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5b00]
mov edx, dword [ebp - 0xb8]
imul edx, edx, 5
jno 0x54da6d
call fcn.00403a60
fstp xword [eax + edx*2]
wait
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x54da28
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54da8f
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5b00]
xor edx, edx
imul edx, edx, 5
jno 0x54daa2
call fcn.00403a60
lea eax, [eax + edx*2]
mov dword [ebp - 0x178], eax
jmp 0x54db1f
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54dabc
cmp eax, dword [ebp + 0x18]
jle 0x54dac1
call fcn.00403a58
imul eax, eax, 2
jno 0x54dacb
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00414778
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54dae6
call fcn.00403a58
imul eax, eax, 5
jno 0x54daf0
call fcn.00403a60
fstp xword [ebp + eax*2 - 0x5240]
wait
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54db08
call fcn.00403a58
imul eax, eax, 5
jno 0x54db12
call fcn.00403a60
lea eax, [ebp + eax*2 - 0x5240]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54db31
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x178]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54db56
call fcn.00403a60
jmp case.0x54a78a.16
cmp dword [ebp - 0x190], 0
jge 0x54db90
xor eax, eax
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x49f4], eax
lea edx, [ebp - 0x49b1]
lea eax, [ebp - 0x9b1]
mov ecx, 0x800
call fcn.00402fc8
jmp 0x54dbfe
mov eax, dword [ebp - 0x18c]
cmp eax, 7
jbe 0x54dba0
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x49d4]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 7
jbe 0x54dbbd
call fcn.00403a58
imul eax, eax, 0x100
jno 0x54dbca
call fcn.00403a60
lea edx, [ebp + eax*8 - 0x49b1]
lea eax, [ebp - 0x9b1]
mov ecx, 0x800
call fcn.00402fc8
mov eax, dword [ebp - 0xb0]
cmp eax, 7
jbe 0x54dbf1
call fcn.00403a58
mov edx, dword [ebp - 0x98]
mov dword [ebp + eax*4 - 0x49f4], edx
add dword [ebp - 0x190], 1
jno 0x54dc0c
call fcn.00403a60
add dword [ebp - 0x18c], 1
jno 0x54dc1a
call fcn.00403a60
mov eax, dword [ebp - 0x18c]
cmp eax, 7
jbe 0x54dc2a
call fcn.00403a58
mov edx, dword [ebp - 0x190]
mov dword [ebp + eax*4 - 0x49d4], edx
xor eax, eax
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x9b1]
xor ecx, ecx
mov edx, 0x800
call fcn.0040346c
sub dword [ebp - 0xac], 1
jno 0x54dc5f
call fcn.00403a60
jmp case.0x54a78a.16
mov eax, dword [ebp - 0x18c]
cmp eax, 7
jbe 0x54dc74
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x49d4]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 7
jbe 0x54dc91
call fcn.00403a58
mov edx, dword [ebp - 0x98]
mov dword [ebp + eax*4 - 0x49f4], edx
mov eax, dword [ebp - 0xb0]
cmp eax, 7
jbe 0x54dcae
call fcn.00403a58
imul eax, eax, 0x100
jno 0x54dcbb
call fcn.00403a60
lea edx, [ebp + eax*8 - 0x49b1]
lea eax, [ebp - 0x9b1]
mov ecx, 0x800
call fcn.00402fc8
mov eax, dword [ebp - 0xb0]
cmp eax, 7
jbe 0x54dce2
call fcn.00403a58
imul eax, eax, 0x100
jno 0x54dcef
call fcn.00403a60
lea eax, [ebp + eax*8 - 0x49b1]
mov dword [ebp - 0x9c], eax
sub dword [ebp - 0x18c], 1
jno 0x54dd0a
call fcn.00403a60
mov eax, dword [ebp - 0x18c]
cmp eax, 7
jbe 0x54dd1a
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x49d4]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
cmp eax, 7
jbe 0x54dd37
call fcn.00403a58
imul eax, eax, 0x100
jno 0x54dd44
call fcn.00403a60
lea eax, [ebp + eax*8 - 0x49b1]
lea edx, [ebp - 0x9b1]
mov ecx, 0x800
call fcn.00402fc8
mov eax, dword [ebp - 0xb4]
cmp eax, 7
jbe 0x54dd6b
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x49f4]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54dd8a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ddb8
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54ddab
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54ddb8
call fcn.00403a60
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54ddca
call fcn.00403a58
lea edx, [ebp + eax - 0x9b1]
lea eax, [ebp - 0x9c]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54ddef
call fcn.00403a60
sub dword [ebp - 0xac], 1
jno 0x54ddfd
call fcn.00403a60
jmp case.0x54a78a.16
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x551c80
mov eax, dword [ebp - 4]
call fcn.004e770c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5518c8
add dword [ebp - 0xac], 1
jno 0x54de2e
call fcn.00403a60
jmp 0x54a669
cmp dword [ebp - 0x18c], 0
je 0x54de7d
mov eax, dword [0x589364]
cmp byte [eax], 0
je 0x54de5c
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x551c90
mov eax, dword [ebp - 4]
call fcn.004e770c
jmp 0x54de70
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x551cb8
mov eax, dword [ebp - 4]
call fcn.004e770c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5518c8
lea edx, [ebp - 0x49b1]
lea eax, [ebp - 0x9b1]
mov ecx, 0x800
call fcn.00402fc8
push 0
push 0
push 0
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xa4]
mov cl, 1
mov edx, 0x551cdc
call fcn.004acb58
mov eax, dword [ebp - 0xc8]
xor edx, edx
call fcn.00405614
jne 0x54ded1
lea eax, [ebp - 0xc8]
mov edx, 0x551ce8
call fcn.00405358
lea edx, [ebp - 0x5ba8]
mov eax, dword [ebp - 0xa4]
call fcn.00409f90
mov edx, dword [ebp - 0x5ba8]
lea eax, [ebp - 0xa4]
call fcn.00405358
mov edx, dword [ebp - 0xa4]
mov eax, 0x551cf8
call fcn.00405810
dec eax
jne 0x54df44
lea eax, [ebp - 0x5bb0]
push eax
mov ecx, 0x7fffffff
mov edx, 2
mov eax, dword [ebp - 0xa4]
call fcn.00405698
mov eax, dword [ebp - 0x5bb0]
lea edx, [ebp - 0x5bac]
call fcn.00409f90
mov edx, dword [ebp - 0x5bac]
lea eax, [ebp - 0xa4]
call fcn.00405358
mov edx, dword [ebp - 0xa4]
mov eax, 0x551d00
call fcn.00405810
dec eax
jne 0x54df95
lea eax, [ebp - 0x5bb8]
push eax
mov ecx, 0x7fffffff
mov edx, 2
mov eax, dword [ebp - 0xa4]
call fcn.00405698
mov eax, dword [ebp - 0x5bb8]
lea edx, [ebp - 0x5bb4]
call fcn.00409f90
mov edx, dword [ebp - 0x5bb4]
lea eax, [ebp - 0xa4]
call fcn.00405358
lea edx, [ebp - 0x5bbc]
mov eax, dword [ebp - 0xa4]
call fcn.00409f90
mov eax, dword [ebp - 0x5bbc]
xor edx, edx
call fcn.00405614
jne 0x54dfd8
lea eax, [ebp - 0xcc]
mov edx, dword [ebp - 0xc8]
call fcn.00405358
lea eax, [ebp - 0xc8]
mov edx, 0x551ce8
call fcn.00405358
jmp 0x54dfe9
lea eax, [ebp - 0xcc]
mov edx, dword [ebp - 0xa4]
call fcn.00405358
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54e03b
mov eax, dword [ebp - 0xcc]
xor edx, edx
call fcn.00405614
jne 0x54e063
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x551d84
mov eax, dword [ebp - 4]
call fcn.004e770c
jmp 0x5518c8
xor eax, eax
mov dword [ebp - 0xbc], eax
xor eax, eax
mov dword [ebp - 0xac], eax
jmp 0x54e0cc
mov eax, dword [ebp - 0xac]
cmp eax, 0x3f
jbe 0x54e085
call fcn.00403a58
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*4 + 0x1e7c]
mov edx, dword [ebp - 0xcc]
call fcn.00405614
jne 0x54e0be
mov eax, dword [ebp - 0xac]
cmp eax, 0x3f
jbe 0x54e0ac
call fcn.00403a58
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*4 + 0x1f7c]
mov dword [ebp - 0xbc], eax
jmp 0x54e0ef
add dword [ebp - 0xac], 1
jno 0x54e0cc
call fcn.00403a60
mov eax, dword [ebp - 0xac]
cmp eax, 0x3f
jbe 0x54e0dc
call fcn.00403a58
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*4 + 0x1e7c]
xor edx, edx
call fcn.00405614
jne 0x54e075
cmp dword [ebp - 0xbc], 0
jne 0x54e17d
mov eax, dword [ebp - 0xac]
cmp eax, 0x3f
jbe 0x54e10c
call fcn.00403a58
mov edx, dword [ebp - 4]
lea eax, [edx + eax*4 + 0x1e7c]
mov edx, dword [ebp - 0xcc]
call fcn.00405330
lea eax, [ebp - 0x5bc0]
mov edx, dword [ebp - 0xcc]
call fcn.00404d70
mov eax, dword [ebp - 0x5bc0]
call fcn.00404fac
push eax
call sub.kernel32.dll_LoadLibraryA
mov edx, dword [ebp - 0xac]
cmp edx, 0x3f
jbe 0x54e153
call fcn.00403a58
mov ecx, dword [ebp - 4]
mov dword [ecx + edx*4 + 0x1f7c], eax
mov eax, dword [ebp - 0xac]
cmp eax, 0x3f
jbe 0x54e16d
call fcn.00403a58
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*4 + 0x1f7c]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jne 0x54e1b6
push 1
push 0
lea eax, [ebp - 0x5bc4]
mov ecx, dword [ebp - 0xcc]
mov edx, 0x551da8
call fcn.0040555c
mov edx, dword [ebp - 0x5bc4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
call fcn.004e770c
jmp 0x5518c8
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54e1c8
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54e1f6
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54e1e9
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54e1f6
call fcn.00403a60
sub esp, dword [ebp - 0x98]
mov dword [ebp - 0x9c], esp
mov eax, dword [ebp - 0x98]
sub eax, 1
jno 0x54e212
call fcn.00403a60
test eax, eax
jl 0x54e26a
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xac]
cmp eax, 0x7fff
jbe 0x54e239
call fcn.00403a58
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xac]
cmp ecx, 0x7ff
jbe 0x54e252
call fcn.00403a58
mov cl, byte [ebp + ecx - 0x9b1]
mov byte [edx + eax], cl
inc dword [ebp - 0xac]
dec dword [ebp - 0x194]
jne 0x54e227
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 4]
call fcn.00549580
cmp eax, 0x12
ja case.0x54e281.0
jmp dword [eax*4 + 0x54e288]
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0
je 0x55188c
call dword [ebp - 0xe4]
mov edx, eax
mov eax, dword [ebp + 8]
mov cl, 0xfc
call fcn.004165f0
jmp 0x54e74f
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je 0x55188c
call dword [ebp - 0xe8]
mov eax, dword [ebp + 8]
call fcn.00416808
jmp 0x54e74f
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
je 0x55188c
call dword [ebp - 0xec]
mov eax, dword [ebp + 8]
call fcn.00416808
jmp 0x54e74f
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
jne 0x54e3c6
mov eax, dword [ebp + 8]
call fcn.00419924
jmp 0x54e74f
call dword [ebp - 0xf0]
mov dword [ebp - 0x150], eax
lea eax, [ebp - 0x5bc8]
mov edx, dword [ebp - 0x150]
call fcn.00404cc4
mov edx, dword [ebp - 0x5bc8]
mov eax, dword [ebp + 8]
call fcn.00416844
jmp 0x54e74f
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0
jne 0x54e42a
mov eax, dword [ebp + 8]
call fcn.00419924
jmp 0x54e74f
call dword [ebp - 0xf4]
mov dword [ebp - 0x154], eax
lea eax, [ebp - 0x5bcc]
mov edx, dword [ebp - 0x154]
call fcn.00405460
mov edx, dword [ebp - 0x5bcc]
mov eax, dword [ebp + 8]
call fcn.004168c0
jmp 0x54e74f
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0
je 0x55188c
call dword [ebp - 0xf8]
movzx edx, ax
mov eax, dword [ebp + 8]
mov cl, 2
call fcn.004165f0
jmp 0x54e74f
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
je 0x55188c
call dword [ebp - 0xfc]
mov dword [ebp - 0x5bd4], eax
xor eax, eax
mov dword [ebp - 0x5bd0], eax
fild qword [ebp - 0x5bd4]
fstp qword [ebp - 0x128]
wait
fld qword [ebp - 0x128]
mov eax, dword [ebp + 8]
call fcn.00416808
jmp 0x54e74f
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x55188c
call dword [ebp - 0xd8]
xor edx, edx
mov dl, al
mov eax, dword [ebp + 8]
mov cl, 1
call fcn.004165f0
jmp 0x54e74f
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
je 0x55188c
call dword [ebp - 0xdc]
mov byte [ebp - 0x5bd7], al
mov byte [ebp - 0x5bd8], 1
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x5bd8]
call fcn.00416870
jmp 0x54e74f
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
je 0x55188c
call dword [ebp - 0xe0]
movzx edx, ax
mov eax, dword [ebp + 8]
mov cl, 2
call fcn.004165f0
jmp 0x54e74f
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je 0x55188c
call dword [ebp - 0x100]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], edx
fild qword [ebp - 0x138]
fstp qword [ebp - 0x128]
wait
fld qword [ebp - 0x128]
mov eax, dword [ebp + 8]
call fcn.00416808
jmp 0x54e74f
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0
je 0x55188c
call dword [ebp - 0x104]
mov eax, dword [ebp + 8]
call fcn.00416808
jmp 0x54e74f
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x55188c
call dword [ebp - 0x108]
jmp 0x54e74f
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
je 0x55188c
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 0x10c]
jmp 0x54e74f
mov eax, dword [ebp - 0xa0]
call fcn.00404fac
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
je 0x55188c
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 0x110]
jmp 0x54e74f
mov eax, dword [0x589364]
cmp byte [eax], 0
je 0x54e736
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x551dc0
mov eax, dword [ebp - 4]
call fcn.004e770c
jmp 0x5518c8
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x551dec
mov eax, dword [ebp - 4]
call fcn.004e770c
jmp 0x5518c8
lea eax, [ebp - 0xa4]
mov edx, dword [ebp - 0xd0]
call fcn.00405358
xor eax, eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x190], 0xffffffff
xor eax, eax
mov dword [ebp - 0x98], eax
xor eax, eax
mov dword [ebp - 0xac], eax
push 0
push 0
push 0
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xa4]
mov cl, 1
mov edx, 0x551e50
call fcn.004acb58
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x5bdc]
push eax
lea ecx, [ebp - 0xd4]
lea eax, [ebp - 0xc4]
mov edx, 0x551bc8
call fcn.004acd9c
mov eax, dword [ebp - 0x5bdc]
lea edx, [ebp - 0xc0]
call fcn.00409f90
mov eax, dword [ebp - 0xc0]
xor edx, edx
call fcn.00405614
jne 0x54e7f8
mov eax, dword [ebp - 0xd4]
mov edx, 0x551bd8
call fcn.00405614
je 0x54e7a1
mov eax, dword [ebp - 0xd4]
mov edx, 0x551be0
call fcn.00405614
je 0x54e81c
mov eax, dword [ebp - 0xd4]
mov edx, 0x551be8
call fcn.00405614
jne 0x54e855
mov eax, dword [ebp - 0xc0]
xor edx, edx
call fcn.00405614
jne 0x54e83e
lea eax, [ebp - 0xc0]
mov edx, dword [ebp - 0xd4]
call fcn.00405358
jmp 0x54e855
lea eax, [ebp - 0xc4]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xd4]
call fcn.0040555c
mov eax, dword [ebp - 0xc0]
xor edx, edx
call fcn.00405614
je 0x5518c8
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 4]
call fcn.00549580
mov dword [ebp - 0xb0], eax
mov byte [ebp - 0xa6], 0
mov edx, dword [ebp - 0xc0]
mov eax, 0x551bf0
call fcn.00405810
test eax, eax
jle 0x54e8a8
mov byte [ebp - 0xa6], 1
or dword [ebp - 0xb0], 0x100
mov eax, dword [ebp - 0xb0]
cmp eax, 0x14
jg 0x54e915
je 0x551669
cmp eax, 0x12
ja case.0x54e97b.265
jmp dword [eax*4 + 0x54e8c9]
cmp eax, 0x107
jg 0x54e96d
je 0x550a4e
cmp eax, 0x103
jg 0x54e94f
je 0x5500f6
sub eax, 0x15
je 0x55174a
sub eax, 0xec
je 0x54fc7e
dec eax
je 0x54febc
jmp case.0x54e97b.265
sub eax, 0x104
je 0x550330
dec eax
je 0x55047c
dec eax
je 0x55080e
jmp case.0x54e97b.265
add eax, 0xfffffef8
cmp eax, 0xa
ja case.0x54e97b.265
jmp dword [eax*4 + 0x54e982]
cmp dword [ebp - 0x18c], 0
jle 0x54ea72
cmp byte [ebp - 0xa5], 0
jne 0x54ea04
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54e9d6
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ea04
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54e9f7
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54ea04
call fcn.00403a60
lea edx, [ebp - 0x118]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54ea1c
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
lea eax, [ebp - 0x5bec]
mov edx, dword [ebp - 0x118]
mov cl, 0xfc
call fcn.004165f0
lea ecx, [ebp - 0x5bec]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54ea5d
cmp eax, dword [ebp + 0x10]
jle 0x54ea62
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp 0x54eab2
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54ea84
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54eab2
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54eaa5
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54eab2
call fcn.00403a60
add dword [ebp - 0x98], 4
jno 0x54eac0
call fcn.00403a60
jmp case.0x54e97b.265
cmp dword [ebp - 0x18c], 0
jle 0x54eb87
cmp byte [ebp - 0xa5], 0
jne 0x54eb1b
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54eaed
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54eb1b
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54eb0e
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54eb1b
call fcn.00403a60
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54eb33
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld dword [ebp - 0x11c]
lea eax, [ebp - 0x5bfc]
call fcn.00416808
lea ecx, [ebp - 0x5bfc]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54eb72
cmp eax, dword [ebp + 0x10]
jle 0x54eb77
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp 0x54ebc7
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54eb99
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ebc7
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54ebba
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54ebc7
call fcn.00403a60
add dword [ebp - 0x98], 4
jno 0x54ebd5
call fcn.00403a60
jmp case.0x54e97b.265
cmp dword [ebp - 0x18c], 0
jle 0x54ec9c
cmp byte [ebp - 0xa5], 0
jne 0x54ec30
mov eax, dword [ebp - 0x98]
and eax, 0x80000007
jns 0x54ec02
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ec30
mov eax, 8
sub eax, dword [ebp - 0xb0]
jno 0x54ec23
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54ec30
call fcn.00403a60
lea edx, [ebp - 0x128]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54ec48
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 8
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld qword [ebp - 0x128]
lea eax, [ebp - 0x5c0c]
call fcn.00416808
lea ecx, [ebp - 0x5c0c]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54ec87
cmp eax, dword [ebp + 0x10]
jle 0x54ec8c
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp 0x54ecdc
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54ecae
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ecdc
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54eccf
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54ecdc
call fcn.00403a60
add dword [ebp - 0x98], 8
jno 0x54ecea
call fcn.00403a60
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x54ed38
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54ed0a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ed38
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54ed2b
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54ed38
call fcn.00403a60
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54ed48
call fcn.00403a58
cmp dword [ebp + eax*4 - 0x4a94], 0
jle 0x54ee48
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54ed66
call fcn.00403a58
mov ecx, dword [ebp + eax*4 - 0x4a94]
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54ed85
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
call fcn.00402fc8
lea eax, [ebp - 0x5c10]
mov edx, dword [ebp - 0x150]
call fcn.00404cc4
mov edx, dword [ebp - 0x5c10]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54edb7
cmp eax, dword [ebp + 0x18]
jle 0x54edbc
call fcn.00403a58
imul eax, eax, 2
jno 0x54edc6
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.00416844
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54ede8
cmp eax, dword [ebp + 0x18]
jle 0x54eded
call fcn.00403a58
imul eax, eax, 2
jno 0x54edf7
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54ee0c
cmp eax, dword [ebp + 0x10]
jle 0x54ee11
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54ee2f
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x4a94]
add dword [ebp - 0x98], eax
jno 0x54ee43
call fcn.00403a60
jmp case.0x54e97b.265
add dword [ebp - 0x98], 4
jno 0x54ee56
call fcn.00403a60
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x54eea4
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54ee76
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54eea4
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54ee97
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54eea4
call fcn.00403a60
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54eeb4
call fcn.00403a58
cmp dword [ebp + eax*4 - 0x4a94], 0
jle 0x54ef79
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54eed1
cmp eax, dword [ebp + 0x18]
jle 0x54eed6
call fcn.00403a58
imul eax, eax, 2
jno 0x54eee0
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xac]
cmp edx, 0x27
jbe 0x54eef6
call fcn.00403a58
mov edx, dword [ebp + edx*4 - 0x5010]
call fcn.00416844
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54ef19
cmp eax, dword [ebp + 0x18]
jle 0x54ef1e
call fcn.00403a58
imul eax, eax, 2
jno 0x54ef28
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54ef3d
cmp eax, dword [ebp + 0x10]
jle 0x54ef42
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54ef60
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x4a94]
add dword [ebp - 0x98], eax
jno 0x54ef74
call fcn.00403a60
jmp case.0x54e97b.265
add dword [ebp - 0x98], 4
jno 0x54ef87
call fcn.00403a60
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x54efd5
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54efa7
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54efd5
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54efc8
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54efd5
call fcn.00403a60
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54efe5
call fcn.00403a58
cmp dword [ebp + eax*4 - 0x4a94], 0
jle 0x54f0e5
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54f003
call fcn.00403a58
mov ecx, dword [ebp + eax*4 - 0x4a94]
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54f022
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
call fcn.00402fc8
lea eax, [ebp - 0x5c14]
mov edx, dword [ebp - 0x154]
call fcn.00405460
mov edx, dword [ebp - 0x5c14]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f054
cmp eax, dword [ebp + 0x18]
jle 0x54f059
call fcn.00403a58
imul eax, eax, 2
jno 0x54f063
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.004168c0
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f085
cmp eax, dword [ebp + 0x18]
jle 0x54f08a
call fcn.00403a58
imul eax, eax, 2
jno 0x54f094
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f0a9
cmp eax, dword [ebp + 0x10]
jle 0x54f0ae
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54f0cc
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x4a94]
add dword [ebp - 0x98], eax
jno 0x54f0e0
call fcn.00403a60
jmp case.0x54e97b.265
add dword [ebp - 0x98], 4
jno 0x54f0f3
call fcn.00403a60
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x54f141
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54f113
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54f141
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54f134
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54f141
call fcn.00403a60
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54f151
call fcn.00403a58
cmp dword [ebp + eax*4 - 0x4a94], 0
jle 0x54f216
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f16e
cmp eax, dword [ebp + 0x18]
jle 0x54f173
call fcn.00403a58
imul eax, eax, 2
jno 0x54f17d
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xac]
cmp edx, 0x27
jbe 0x54f193
call fcn.00403a58
mov edx, dword [ebp + edx*4 - 0x50b0]
call fcn.004168c0
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f1b6
cmp eax, dword [ebp + 0x18]
jle 0x54f1bb
call fcn.00403a58
imul eax, eax, 2
jno 0x54f1c5
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f1da
cmp eax, dword [ebp + 0x10]
jle 0x54f1df
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
mov eax, dword [ebp - 0xac]
cmp eax, 0x27
jbe 0x54f1fd
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x4a94]
add dword [ebp - 0x98], eax
jno 0x54f211
call fcn.00403a60
jmp case.0x54e97b.265
add dword [ebp - 0x98], 4
jno 0x54f224
call fcn.00403a60
jmp case.0x54e97b.265
cmp dword [ebp - 0x18c], 0
jle 0x54f2ee
cmp byte [ebp - 0xa5], 0
jne 0x54f27f
mov eax, dword [ebp - 0x98]
and eax, 0x80000001
jns 0x54f251
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54f27f
mov eax, 2
sub eax, dword [ebp - 0xb0]
jno 0x54f272
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54f27f
call fcn.00403a60
lea edx, [ebp - 0x12a]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54f297
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 2
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
lea eax, [ebp - 0x5c24]
movzx edx, word [ebp - 0x12a]
mov cl, 2
call fcn.004165f0
lea ecx, [ebp - 0x5c24]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f2d9
cmp eax, dword [ebp + 0x10]
jle 0x54f2de
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp 0x54f32e
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54f300
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54f32e
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54f321
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54f32e
call fcn.00403a60
add dword [ebp - 0x98], 2
jno 0x54f33c
call fcn.00403a60
jmp case.0x54e97b.265
cmp dword [ebp - 0x18c], 0
jle 0x54f424
cmp byte [ebp - 0xa5], 0
jne 0x54f397
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54f369
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54f397
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54f38a
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54f397
call fcn.00403a60
lea edx, [ebp - 0x130]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54f3af
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x5bd4], eax
xor eax, eax
mov dword [ebp - 0x5bd0], eax
fild qword [ebp - 0x5bd4]
fstp qword [ebp - 0x188]
wait
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld qword [ebp - 0x188]
lea eax, [ebp - 0x5c34]
call fcn.00416808
lea ecx, [ebp - 0x5c34]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f40f
cmp eax, dword [ebp + 0x10]
jle 0x54f414
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp 0x54f464
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54f436
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54f464
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54f457
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54f464
call fcn.00403a60
add dword [ebp - 0x98], 4
jno 0x54f472
call fcn.00403a60
jmp case.0x54e97b.265
cmp dword [ebp - 0x18c], 0
jle 0x54f575
cmp byte [ebp - 0xa5], 0
jne 0x54f4cd
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54f49f
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54f4cd
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54f4c0
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54f4cd
call fcn.00403a60
lea edx, [ebp - 0x17c]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54f4e5
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f505
cmp eax, dword [ebp + 0x18]
jle 0x54f50a
call fcn.00403a58
imul eax, eax, 2
jno 0x54f514
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x17c]
call fcn.00412510
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f53c
cmp eax, dword [ebp + 0x18]
jle 0x54f541
call fcn.00403a58
imul eax, eax, 2
jno 0x54f54b
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f560
cmp eax, dword [ebp + 0x10]
jle 0x54f565
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp 0x54f5b5
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54f587
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54f5b5
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54f5a8
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54f5b5
call fcn.00403a60
add dword [ebp - 0x98], 4
jno 0x54f5c3
call fcn.00403a60
jmp case.0x54e97b.265
cmp dword [ebp - 0x18c], 0
jle 0x54f735
cmp byte [ebp - 0xa5], 0
jne 0x54f61e
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54f5f0
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54f61e
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54f611
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54f61e
call fcn.00403a60
lea edx, [ebp - 0x158]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54f636
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f656
cmp eax, dword [ebp + 0x18]
jle 0x54f65b
call fcn.00403a58
imul eax, eax, 2
jno 0x54f665
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
movzx eax, ax
mov dword [ebp - 0xb4], eax
test byte [ebp - 0xb3], 0x20
je 0x54f6e5
test byte [ebp - 0xb3], 0x40
je 0x54f6ba
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f69a
cmp eax, dword [ebp + 0x18]
jle 0x54f69f
call fcn.00403a58
imul eax, eax, 2
jno 0x54f6a9
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [ebp - 0x158]
mov dword [eax], edx
jmp 0x54f6e5
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f6c9
cmp eax, dword [ebp + 0x18]
jle 0x54f6ce
call fcn.00403a58
imul eax, eax, 2
jno 0x54f6d8
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x158]
mov dword [edx + eax*8 + 8], ecx
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f6fc
cmp eax, dword [ebp + 0x18]
jle 0x54f701
call fcn.00403a58
imul eax, eax, 2
jno 0x54f70b
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f720
cmp eax, dword [ebp + 0x10]
jle 0x54f725
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp 0x54f775
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54f747
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54f775
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54f768
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54f775
call fcn.00403a60
add dword [ebp - 0x98], 4
jno 0x54f783
call fcn.00403a60
jmp case.0x54e97b.265
cmp dword [ebp - 0x18c], 0
jle 0x54f801
lea edx, [ebp - 0x111]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54f7a9
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 1
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
lea eax, [ebp - 0x5c44]
xor edx, edx
mov dl, byte [ebp - 0x111]
mov cl, 1
call fcn.004165f0
lea ecx, [ebp - 0x5c44]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f7ec
cmp eax, dword [ebp + 0x10]
jle 0x54f7f1
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp 0x54f841
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54f813
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54f841
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54f834
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54f841
call fcn.00403a60
add dword [ebp - 0x98], 1
jno 0x54f84f
call fcn.00403a60
jmp case.0x54e97b.265
cmp dword [ebp - 0x18c], 0
jle 0x54f8dc
lea edx, [ebp - 0x149]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54f875
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 1
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov al, byte [ebp - 0x149]
mov byte [ebp - 0x5bd7], al
mov byte [ebp - 0x5bd8], 1
lea eax, [ebp - 0x5c54]
lea edx, [ebp - 0x5bd8]
call fcn.00416870
lea ecx, [ebp - 0x5c54]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f8c7
cmp eax, dword [ebp + 0x10]
jle 0x54f8cc
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp 0x54f91c
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54f8ee
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54f91c
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54f90f
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54f91c
call fcn.00403a60
add dword [ebp - 0x98], 1
jno 0x54f92a
call fcn.00403a60
jmp case.0x54e97b.265
cmp dword [ebp - 0x18c], 0
jle 0x54f9f4
cmp byte [ebp - 0xa5], 0
jne 0x54f985
mov eax, dword [ebp - 0x98]
and eax, 0x80000001
jns 0x54f957
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54f985
mov eax, 2
sub eax, dword [ebp - 0xb0]
jno 0x54f978
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54f985
call fcn.00403a60
lea edx, [ebp - 0x14c]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54f99d
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 2
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
lea eax, [ebp - 0x5c64]
movzx edx, word [ebp - 0x14c]
mov cl, 2
call fcn.004165f0
lea ecx, [ebp - 0x5c64]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54f9df
cmp eax, dword [ebp + 0x10]
jle 0x54f9e4
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp 0x54fa34
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54fa06
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54fa34
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54fa27
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54fa34
call fcn.00403a60
add dword [ebp - 0x98], 2
jno 0x54fa42
call fcn.00403a60
jmp case.0x54e97b.265
cmp dword [ebp - 0x18c], 0
jle 0x54fb16
cmp byte [ebp - 0xa5], 0
jne 0x54fa9d
mov eax, dword [ebp - 0x98]
and eax, 0x80000007
jns 0x54fa6f
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54fa9d
mov eax, 8
sub eax, dword [ebp - 0xb0]
jno 0x54fa90
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54fa9d
call fcn.00403a60
lea edx, [ebp - 0x138]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54fab5
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 8
call fcn.00402fc8
fild qword [ebp - 0x138]
fstp qword [ebp - 0x128]
wait
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld qword [ebp - 0x128]
lea eax, [ebp - 0x5c74]
call fcn.00416808
lea ecx, [ebp - 0x5c74]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54fb01
cmp eax, dword [ebp + 0x10]
jle 0x54fb06
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp 0x54fb56
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54fb28
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54fb56
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54fb49
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54fb56
call fcn.00403a60
add dword [ebp - 0x98], 8
jno 0x54fb64
call fcn.00403a60
jmp case.0x54e97b.265
cmp dword [ebp - 0x18c], 0
jle 0x54fc2b
cmp byte [ebp - 0xa5], 0
jne 0x54fbbf
mov eax, dword [ebp - 0x98]
and eax, 0x80000007
jns 0x54fb91
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54fbbf
mov eax, 8
sub eax, dword [ebp - 0xb0]
jno 0x54fbb2
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54fbbf
call fcn.00403a60
lea edx, [ebp - 0x148]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54fbd7
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 0xa
call fcn.00402fc8
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld xword [ebp - 0x148]
lea eax, [ebp - 0x5c84]
call fcn.00416808
lea ecx, [ebp - 0x5c84]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54fc16
cmp eax, dword [ebp + 0x10]
jle 0x54fc1b
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp 0x54fc6b
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54fc3d
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54fc6b
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54fc5e
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54fc6b
call fcn.00403a60
add dword [ebp - 0x98], 0xa
jno 0x54fc79
call fcn.00403a60
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x54fcc7
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54fc99
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54fcc7
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54fcba
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54fcc7
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54fcd6
cmp eax, dword [ebp + 0x10]
jle 0x54fcdb
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x54fd00
add dword [ebp - 0x98], 4
jno 0x54fcfb
call fcn.00403a60
jmp case.0x54e97b.265
cmp byte [ebp - 0xa6], 0
je 0x54fdff
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54fd1d
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5920]
call fcn.00406234
push eax
lea eax, [ebp - 0x94]
mov ecx, 1
mov edx, dword [0x549af0]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x54fd58
call fcn.00403a60
test eax, eax
jl 0x54fdc9
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x54fd7d
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xac]
cmp edx, 0x13
jbe 0x54fd96
call fcn.00403a58
mov edx, dword [ebp + edx*4 - 0x5920]
mov ecx, dword [ebp - 0xb8]
test edx, edx
je 0x54fdac
cmp ecx, dword [edx - 4]
jb 0x54fdb1
call fcn.00403a58
mov edx, dword [edx + ecx*4]
mov cl, 0xfc
call fcn.004165f0
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x54fd6d
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54fdd9
cmp eax, dword [ebp + 0x10]
jle 0x54fdde
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00549f24
pop ecx
add dword [ebp - 0x98], 4
jno 0x54fdfa
call fcn.00403a60
jmp case.0x54e97b.265
lea edx, [ebp - 0x160]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x54fe17
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x54fe36
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54fe45
cmp eax, dword [ebp + 0x18]
jle 0x54fe4a
call fcn.00403a58
imul eax, eax, 2
jno 0x54fe54
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x160]
mov edx, dword [edx]
mov cl, 0xfc
call fcn.004165f0
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54fe80
cmp eax, dword [ebp + 0x18]
jle 0x54fe85
call fcn.00403a58
imul eax, eax, 2
jno 0x54fe8f
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54fea4
cmp eax, dword [ebp + 0x10]
jle 0x54fea9
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x54ff05
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x54fed7
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x54ff05
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x54fef8
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x54ff05
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x54ff14
cmp eax, dword [ebp + 0x10]
jle 0x54ff19
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x54ff3e
add dword [ebp - 0x98], 4
jno 0x54ff39
call fcn.00403a60
jmp case.0x54e97b.265
cmp byte [ebp - 0xa6], 0
je 0x55003b
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54ff5b
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5970]
call fcn.00406234
push eax
lea eax, [ebp - 0x94]
mov ecx, 1
mov edx, dword [0x549af0]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x54ff96
call fcn.00403a60
test eax, eax
jl 0x550005
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x54ffbb
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5970]
mov edx, dword [ebp - 0xb8]
test eax, eax
je 0x54ffd1
cmp edx, dword [eax - 4]
jb 0x54ffd6
call fcn.00403a58
fld dword [eax + edx*4]
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x54ffe9
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
call fcn.00416808
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x54ffab
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550015
cmp eax, dword [ebp + 0x10]
jle 0x55001a
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00549f24
pop ecx
add dword [ebp - 0x98], 4
jno 0x550036
call fcn.00403a60
jmp case.0x54e97b.265
lea edx, [ebp - 0x164]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x550053
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x550072
call fcn.00403a60
mov eax, dword [ebp - 0x164]
fld dword [eax]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550089
cmp eax, dword [ebp + 0x18]
jle 0x55008e
call fcn.00403a58
imul eax, eax, 2
jno 0x550098
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00416808
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5500ba
cmp eax, dword [ebp + 0x18]
jle 0x5500bf
call fcn.00403a58
imul eax, eax, 2
jno 0x5500c9
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5500de
cmp eax, dword [ebp + 0x10]
jle 0x5500e3
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x55013f
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x550111
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x55013f
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x550132
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x55013f
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x55014e
cmp eax, dword [ebp + 0x10]
jle 0x550153
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x550178
add dword [ebp - 0x98], 4
jno 0x550173
call fcn.00403a60
jmp case.0x54e97b.265
cmp byte [ebp - 0xa6], 0
je 0x550275
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x550195
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x59c0]
call fcn.00406234
push eax
lea eax, [ebp - 0x94]
mov ecx, 1
mov edx, dword [0x549af0]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x5501d0
call fcn.00403a60
test eax, eax
jl 0x55023f
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x5501f5
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x59c0]
mov edx, dword [ebp - 0xb8]
test eax, eax
je 0x55020b
cmp edx, dword [eax - 4]
jb 0x550210
call fcn.00403a58
fld qword [eax + edx*8]
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x550223
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
call fcn.00416808
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x5501e5
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x55024f
cmp eax, dword [ebp + 0x10]
jle 0x550254
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00549f24
pop ecx
add dword [ebp - 0x98], 4
jno 0x550270
call fcn.00403a60
jmp case.0x54e97b.265
lea edx, [ebp - 0x168]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x55028d
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x5502ac
call fcn.00403a60
mov eax, dword [ebp - 0x168]
fld qword [eax]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5502c3
cmp eax, dword [ebp + 0x18]
jle 0x5502c8
call fcn.00403a58
imul eax, eax, 2
jno 0x5502d2
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00416808
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5502f4
cmp eax, dword [ebp + 0x18]
jle 0x5502f9
call fcn.00403a58
imul eax, eax, 2
jno 0x550303
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550318
cmp eax, dword [ebp + 0x10]
jle 0x55031d
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x550379
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x55034b
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x550379
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x55036c
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x550379
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550388
cmp eax, dword [ebp + 0x10]
jle 0x55038d
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x5503b2
add dword [ebp - 0x98], 4
jno 0x5503ad
call fcn.00403a60
jmp case.0x54e97b.265
lea edx, [ebp - 0x150]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x5503ca
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x5503e9
call fcn.00403a60
lea eax, [ebp - 0x5c88]
mov edx, dword [ebp - 0x150]
call fcn.00404cc4
mov edx, dword [ebp - 0x5c88]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x55040f
cmp eax, dword [ebp + 0x18]
jle 0x550414
call fcn.00403a58
imul eax, eax, 2
jno 0x55041e
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.00416844
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550440
cmp eax, dword [ebp + 0x18]
jle 0x550445
call fcn.00403a58
imul eax, eax, 2
jno 0x55044f
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550464
cmp eax, dword [ebp + 0x10]
jle 0x550469
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x5504c5
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x550497
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x5504c5
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x5504b8
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x5504c5
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5504d4
cmp eax, dword [ebp + 0x10]
jle 0x5504d9
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x5504fe
add dword [ebp - 0x98], 4
jno 0x5504f9
call fcn.00403a60
jmp case.0x54e97b.265
add dword [ebp - 0x98], 4
jno 0x55050c
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x55051b
cmp eax, dword [ebp + 0x18]
jle 0x550520
call fcn.00403a58
imul eax, eax, 2
jno 0x55052a
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xac]
cmp edx, 0x27
jbe 0x550540
call fcn.00403a58
mov edx, dword [ebp + edx*4 - 0x5010]
call fcn.00416844
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550563
cmp eax, dword [ebp + 0x18]
jle 0x550568
call fcn.00403a58
imul eax, eax, 2
jno 0x550572
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550587
cmp eax, dword [ebp + 0x10]
jle 0x55058c
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x5505e8
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x5505ba
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x5505e8
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x5505db
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x5505e8
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5505f7
cmp eax, dword [ebp + 0x10]
jle 0x5505fc
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x550621
add dword [ebp - 0x98], 4
jno 0x55061c
call fcn.00403a60
jmp case.0x54e97b.265
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x550639
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x550658
call fcn.00403a60
lea eax, [ebp - 0x5c8c]
mov edx, dword [ebp - 0x154]
call fcn.00405460
mov edx, dword [ebp - 0x5c8c]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x55067e
cmp eax, dword [ebp + 0x18]
jle 0x550683
call fcn.00403a58
imul eax, eax, 2
jno 0x55068d
call fcn.00403a60
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.004168c0
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5506af
cmp eax, dword [ebp + 0x18]
jle 0x5506b4
call fcn.00403a58
imul eax, eax, 2
jno 0x5506be
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5506d3
cmp eax, dword [ebp + 0x10]
jle 0x5506d8
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x550734
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x550706
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x550734
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x550727
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x550734
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550743
cmp eax, dword [ebp + 0x10]
jle 0x550748
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x55076d
add dword [ebp - 0x98], 4
jno 0x550768
call fcn.00403a60
jmp case.0x54e97b.265
add dword [ebp - 0x98], 4
jno 0x55077b
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x55078a
cmp eax, dword [ebp + 0x18]
jle 0x55078f
call fcn.00403a58
imul eax, eax, 2
jno 0x550799
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xac]
cmp edx, 0x27
jbe 0x5507af
call fcn.00403a58
mov edx, dword [ebp + edx*4 - 0x50b0]
call fcn.004168c0
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5507d2
cmp eax, dword [ebp + 0x18]
jle 0x5507d7
call fcn.00403a58
imul eax, eax, 2
jno 0x5507e1
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5507f6
cmp eax, dword [ebp + 0x10]
jle 0x5507fb
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x550857
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x550829
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x550857
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x55084a
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x550857
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550866
cmp eax, dword [ebp + 0x10]
jle 0x55086b
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x550890
add dword [ebp - 0x98], 4
jno 0x55088b
call fcn.00403a60
jmp case.0x54e97b.265
cmp byte [ebp - 0xa6], 0
je 0x550990
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x5508ad
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5a10]
call fcn.00406234
push eax
lea eax, [ebp - 0x94]
mov ecx, 1
mov edx, dword [0x549af0]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x5508e8
call fcn.00403a60
test eax, eax
jl 0x55095a
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x55090d
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xac]
cmp edx, 0x13
jbe 0x550926
call fcn.00403a58
mov edx, dword [ebp + edx*4 - 0x5a10]
mov ecx, dword [ebp - 0xb8]
test edx, edx
je 0x55093c
cmp ecx, dword [edx - 4]
jb 0x550941
call fcn.00403a58
movzx edx, word [edx + ecx*2]
mov cl, 2
call fcn.004165f0
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x5508fd
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x55096a
cmp eax, dword [ebp + 0x10]
jle 0x55096f
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00549f24
pop ecx
add dword [ebp - 0x98], 4
jno 0x55098b
call fcn.00403a60
jmp case.0x54e97b.265
lea edx, [ebp - 0x16c]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x5509a8
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x5509c7
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5509d6
cmp eax, dword [ebp + 0x18]
jle 0x5509db
call fcn.00403a58
imul eax, eax, 2
jno 0x5509e5
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x16c]
movzx edx, word [edx]
mov cl, 2
call fcn.004165f0
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550a12
cmp eax, dword [ebp + 0x18]
jle 0x550a17
call fcn.00403a58
imul eax, eax, 2
jno 0x550a21
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550a36
cmp eax, dword [ebp + 0x10]
jle 0x550a3b
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x550a97
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x550a69
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x550a97
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x550a8a
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x550a97
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550aa6
cmp eax, dword [ebp + 0x10]
jle 0x550aab
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x550ad0
add dword [ebp - 0x98], 4
jno 0x550acb
call fcn.00403a60
jmp case.0x54e97b.265
cmp byte [ebp - 0xa6], 0
je 0x550bcf
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x550aed
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5a60]
call fcn.00406234
push eax
lea eax, [ebp - 0x94]
mov ecx, 1
mov edx, dword [0x549af0]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x550b28
call fcn.00403a60
test eax, eax
jl 0x550b99
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x550b4d
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xac]
cmp edx, 0x13
jbe 0x550b66
call fcn.00403a58
mov edx, dword [ebp + edx*4 - 0x5a60]
mov ecx, dword [ebp - 0xb8]
test edx, edx
je 0x550b7c
cmp ecx, dword [edx - 4]
jb 0x550b81
call fcn.00403a58
mov edx, dword [edx + ecx*4]
mov cl, 4
call fcn.004165f0
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x550b3d
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550ba9
cmp eax, dword [ebp + 0x10]
jle 0x550bae
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00549f24
pop ecx
add dword [ebp - 0x98], 4
jno 0x550bca
call fcn.00403a60
jmp case.0x54e97b.265
lea edx, [ebp - 0x170]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x550be7
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x550c06
call fcn.00403a60
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov dword [ebp - 0x5bd4], eax
xor eax, eax
mov dword [ebp - 0x5bd0], eax
fild qword [ebp - 0x5bd4]
fstp qword [ebp - 0x188]
wait
fld qword [ebp - 0x188]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550c3e
cmp eax, dword [ebp + 0x18]
jle 0x550c43
call fcn.00403a58
imul eax, eax, 2
jno 0x550c4d
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00416808
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550c6f
cmp eax, dword [ebp + 0x18]
jle 0x550c74
call fcn.00403a58
imul eax, eax, 2
jno 0x550c7e
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550c93
cmp eax, dword [ebp + 0x10]
jle 0x550c98
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x550cf4
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x550cc6
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x550cf4
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x550ce7
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x550cf4
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550d03
cmp eax, dword [ebp + 0x10]
jle 0x550d08
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x550d2d
add dword [ebp - 0x98], 4
jno 0x550d28
call fcn.00403a60
jmp case.0x54e97b.265
lea edx, [ebp - 0x17c]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x550d45
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x550d64
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550d73
cmp eax, dword [ebp + 0x18]
jle 0x550d78
call fcn.00403a58
imul eax, eax, 2
jno 0x550d82
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x17c]
call fcn.00412510
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550daa
cmp eax, dword [ebp + 0x18]
jle 0x550daf
call fcn.00403a58
imul eax, eax, 2
jno 0x550db9
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550dce
cmp eax, dword [ebp + 0x10]
jle 0x550dd3
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x550e2f
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x550e01
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x550e2f
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x550e22
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x550e2f
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550e3e
cmp eax, dword [ebp + 0x10]
jle 0x550e43
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x550e68
add dword [ebp - 0x98], 4
jno 0x550e63
call fcn.00403a60
jmp case.0x54e97b.265
lea edx, [ebp - 0x158]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x550e80
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x550e9f
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550eae
cmp eax, dword [ebp + 0x18]
jle 0x550eb3
call fcn.00403a58
imul eax, eax, 2
jno 0x550ebd
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418e70
movzx eax, ax
mov dword [ebp - 0xb4], eax
test byte [ebp - 0xb3], 0x20
je 0x550f3d
test byte [ebp - 0xb3], 0x40
je 0x550f12
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550ef2
cmp eax, dword [ebp + 0x18]
jle 0x550ef7
call fcn.00403a58
imul eax, eax, 2
jno 0x550f01
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [ebp - 0x158]
mov dword [eax], edx
jmp 0x550f3d
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550f21
cmp eax, dword [ebp + 0x18]
jle 0x550f26
call fcn.00403a58
imul eax, eax, 2
jno 0x550f30
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x158]
mov dword [edx + eax*8 + 8], ecx
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550f54
cmp eax, dword [ebp + 0x18]
jle 0x550f59
call fcn.00403a58
imul eax, eax, 2
jno 0x550f63
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550f78
cmp eax, dword [ebp + 0x10]
jle 0x550f7d
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x550fd9
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x550fab
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x550fd9
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x550fcc
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x550fd9
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x550fe8
cmp eax, dword [ebp + 0x10]
jle 0x550fed
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x551012
add dword [ebp - 0x98], 4
jno 0x55100d
call fcn.00403a60
jmp case.0x54e97b.265
cmp byte [ebp - 0xa6], 0
je 0x551112
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x55102f
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x58d0]
call fcn.00406234
push eax
lea eax, [ebp - 0x94]
mov ecx, 1
mov edx, dword [0x549af0]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x55106a
call fcn.00403a60
test eax, eax
jl 0x5510dc
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x55108f
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xac]
cmp edx, 0x13
jbe 0x5510a8
call fcn.00403a58
mov edx, dword [ebp + edx*4 - 0x58d0]
mov ecx, dword [ebp - 0xb8]
test edx, edx
je 0x5510be
cmp ecx, dword [edx - 4]
jb 0x5510c3
call fcn.00403a58
movzx edx, byte [edx + ecx]
mov cl, 1
call fcn.004165f0
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x55107f
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5510ec
cmp eax, dword [ebp + 0x10]
jle 0x5510f1
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00549f24
pop ecx
add dword [ebp - 0x98], 4
jno 0x55110d
call fcn.00403a60
jmp case.0x54e97b.265
lea edx, [ebp - 0x15c]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x55112a
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x551149
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x551158
cmp eax, dword [ebp + 0x18]
jle 0x55115d
call fcn.00403a58
imul eax, eax, 2
jno 0x551167
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x15c]
movzx edx, byte [edx]
mov cl, 1
call fcn.004165f0
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x551194
cmp eax, dword [ebp + 0x18]
jle 0x551199
call fcn.00403a58
imul eax, eax, 2
jno 0x5511a3
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5511b8
cmp eax, dword [ebp + 0x10]
jle 0x5511bd
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x551219
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x5511eb
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x551219
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x55120c
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x551219
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x551228
cmp eax, dword [ebp + 0x10]
jle 0x55122d
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x551252
add dword [ebp - 0x98], 4
jno 0x55124d
call fcn.00403a60
jmp case.0x54e97b.265
cmp byte [ebp - 0xa6], 0
je 0x551356
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x55126f
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5ab0]
call fcn.00406234
push eax
lea eax, [ebp - 0x94]
mov ecx, 1
mov edx, dword [0x549af0]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x5512aa
call fcn.00403a60
test eax, eax
jl 0x551320
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x5512cf
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5ab0]
mov edx, dword [ebp - 0xb8]
test eax, eax
je 0x5512e5
cmp edx, dword [eax - 4]
jb 0x5512ea
call fcn.00403a58
lea eax, [eax + edx*8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x551304
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
call fcn.0041670c
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x5512bf
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x551330
cmp eax, dword [ebp + 0x10]
jle 0x551335
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00549f24
pop ecx
add dword [ebp - 0x98], 4
jno 0x551351
call fcn.00403a60
jmp case.0x54e97b.265
lea edx, [ebp - 0x174]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x55136e
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x55138d
call fcn.00403a60
mov eax, dword [ebp - 0x174]
mov edx, dword [eax]
mov dword [ebp - 0x138], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x134], edx
fild qword [ebp - 0x138]
fstp qword [ebp - 0x128]
wait
fld qword [ebp - 0x128]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5513c6
cmp eax, dword [ebp + 0x18]
jle 0x5513cb
call fcn.00403a58
imul eax, eax, 2
jno 0x5513d5
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00416808
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5513f7
cmp eax, dword [ebp + 0x18]
jle 0x5513fc
call fcn.00403a58
imul eax, eax, 2
jno 0x551406
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x55141b
cmp eax, dword [ebp + 0x10]
jle 0x551420
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp case.0x54e97b.265
cmp byte [ebp - 0xa5], 0
jne 0x55147c
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x55144e
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x55147c
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x55146f
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x55147c
call fcn.00403a60
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x55148b
cmp eax, dword [ebp + 0x10]
jle 0x551490
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov edx, 0x551bfc
call fcn.00405614
jne 0x5514b5
add dword [ebp - 0x98], 4
jno 0x5514b0
call fcn.00403a60
jmp case.0x54e97b.265
cmp byte [ebp - 0xa6], 0
je 0x5515ae
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x5514d2
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5b00]
call fcn.00406234
push eax
lea eax, [ebp - 0x94]
mov ecx, 1
mov edx, dword [0x549af0]
call fcn.004063f0
add esp, 4
mov eax, dword [ebp - 0x94]
call fcn.00406234
sub eax, 1
jno 0x55150d
call fcn.00403a60
test eax, eax
jl 0x551578
inc eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xac]
cmp eax, 0x13
jbe 0x551532
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x5b00]
mov edx, dword [ebp - 0xb8]
imul edx, edx, 5
jno 0x551549
call fcn.00403a60
fld xword [eax + edx*2]
mov eax, dword [ebp - 0xb8]
imul eax, eax, 2
jno 0x55155c
call fcn.00403a60
mov edx, dword [ebp - 0x94]
lea eax, [edx + eax*8]
call fcn.00416808
inc dword [ebp - 0xb8]
dec dword [ebp - 0x194]
jne 0x551522
push ebp
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x551588
cmp eax, dword [ebp + 0x10]
jle 0x55158d
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + eax*4]
mov dl, 1
call fcn.00549f24
pop ecx
add dword [ebp - 0x98], 4
jno 0x5515a9
call fcn.00403a60
jmp case.0x54e97b.265
lea edx, [ebp - 0x178]
mov eax, dword [ebp - 0x98]
cmp eax, 0x7ff
jbe 0x5515c6
call fcn.00403a58
lea eax, [ebp + eax - 0x9b1]
mov ecx, 4
call fcn.00402fc8
add dword [ebp - 0x98], 4
jno 0x5515e5
call fcn.00403a60
mov eax, dword [ebp - 0x178]
fld xword [eax]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x5515fc
cmp eax, dword [ebp + 0x18]
jle 0x551601
call fcn.00403a58
imul eax, eax, 2
jno 0x55160b
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00416808
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x55162d
cmp eax, dword [ebp + 0x18]
jle 0x551632
call fcn.00403a58
imul eax, eax, 2
jno 0x55163c
call fcn.00403a60
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0xac]
test eax, eax
jl 0x551651
cmp eax, dword [ebp + 0x10]
jle 0x551656
call fcn.00403a58
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 4]
call fcn.004e85b8
jmp case.0x54e97b.265
cmp dword [ebp - 0x190], 0
jge 0x551688
xor eax, eax
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x49f4], eax
jmp 0x5516c2
mov eax, dword [ebp - 0x18c]
cmp eax, 7
jbe 0x551698
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x49d4]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 7
jbe 0x5516b5
call fcn.00403a58
mov edx, dword [ebp - 0x98]
mov dword [ebp + eax*4 - 0x49f4], edx
add dword [ebp - 0x190], 1
jno 0x5516d0
call fcn.00403a60
add dword [ebp - 0x18c], 1
jno 0x5516de
call fcn.00403a60
mov eax, dword [ebp - 0x18c]
cmp eax, 7
jbe 0x5516ee
call fcn.00403a58
mov edx, dword [ebp - 0x190]
mov dword [ebp + eax*4 - 0x49d4], edx
xor eax, eax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x190]
cmp eax, 7
jbe 0x551713
call fcn.00403a58
imul eax, eax, 0x100
jno 0x551720
call fcn.00403a60
lea eax, [ebp + eax*8 - 0x49b1]
lea edx, [ebp - 0x9b1]
mov ecx, 0x800
call fcn.00402fc8
sub dword [ebp - 0xac], 1
jno 0x551745
call fcn.00403a60
jmp case.0x54e97b.265
mov eax, dword [ebp - 0x18c]
cmp eax, 7
jbe 0x55175a
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x49d4]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 7
jbe 0x551777
call fcn.00403a58
mov edx, dword [ebp - 0x98]
mov dword [ebp + eax*4 - 0x49f4], edx
sub dword [ebp - 0x18c], 1
jno 0x551792
call fcn.00403a60
mov eax, dword [ebp - 0x18c]
cmp eax, 7
jbe 0x5517a2
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x49d4]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
cmp eax, 7
jbe 0x5517bf
call fcn.00403a58
mov eax, dword [ebp + eax*4 - 0x49f4]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
and eax, 0x80000003
jns 0x5517de
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x55180c
mov eax, 4
sub eax, dword [ebp - 0xb0]
jno 0x5517ff
call fcn.00403a60
add dword [ebp - 0x98], eax
jno 0x55180c
call fcn.00403a60
add dword [ebp - 0x98], 4
jno 0x55181a
call fcn.00403a60
mov eax, dword [ebp - 0xb4]
cmp eax, 7
jbe 0x55182a
call fcn.00403a58
mov edx, dword [ebp - 0x98]
mov dword [ebp + eax*4 - 0x49f4], edx
mov eax, dword [ebp - 0xb4]
cmp eax, 7
jbe 0x551847
call fcn.00403a58
imul eax, eax, 0x100
jno 0x551854
call fcn.00403a60
lea eax, [ebp + eax*8 - 0x49b1]
lea edx, [ebp - 0x9b1]
mov ecx, 0x800
call fcn.00402fc8
sub dword [ebp - 0xac], 1
jno case.0x54e97b.265
call fcn.00403a60
add dword [ebp - 0xac], 1
jno 0x551887
call fcn.00403a60
jmp 0x54e7a1
push 1
push 0
lea eax, [ebp - 0x5c94]
mov ecx, dword [ebp - 0xa0]
mov edx, 0x551e60
call fcn.00404df8
mov edx, dword [ebp - 0x5c94]
lea eax, [ebp - 0x5c90]
call fcn.004054d0
mov edx, dword [ebp - 0x5c90]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
call fcn.004e770c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x551b9b
lea eax, [ebp - 0x5c94]
call fcn.00404acc
lea eax, [ebp - 0x5c90]
mov edx, 2
call fcn.0040530c
lea eax, [ebp - 0x5c88]
call fcn.00404acc
lea eax, [ebp - 0x5c84]
mov edx, dword [0x40113c]
mov ecx, 7
call fcn.004059e0
lea eax, [ebp - 0x5c14]
call fcn.004052f4
lea eax, [ebp - 0x5c10]
call fcn.00404acc
lea eax, [ebp - 0x5c0c]
mov edx, dword [0x40113c]
mov ecx, 3
call fcn.004059e0
lea eax, [ebp - 0x5bdc]
call fcn.004052f4
lea eax, [ebp - 0x5bcc]
call fcn.004052f4
lea eax, [ebp - 0x5bc8]
call fcn.00404acc
lea eax, [ebp - 0x5bc4]
call fcn.004052f4
lea eax, [ebp - 0x5bc0]
call fcn.00404acc
lea eax, [ebp - 0x5bbc]
mov edx, 6
call fcn.0040530c
lea eax, [ebp - 0x5ba4]
mov edx, 5
call fcn.00404af0
lea eax, [ebp - 0x5b90]
mov edx, 2
call fcn.0040530c
lea eax, [ebp - 0x5b88]
mov edx, 3
call fcn.00404af0
lea eax, [ebp - 0x5b7c]
call fcn.004052f4
lea eax, [ebp - 0x5b78]
mov edx, 2
call fcn.00404af0
lea eax, [ebp - 0x5b70]
mov edx, 3
call fcn.0040530c
lea eax, [ebp - 0x5b64]
call fcn.00404acc
lea eax, [ebp - 0x5b60]
call fcn.004120f8
lea eax, [ebp - 0x5b50]
mov edx, 2
call fcn.00404af0
lea eax, [ebp - 0x5b48]
call fcn.004052f4
lea eax, [ebp - 0x5b44]
mov edx, 2
call fcn.00404af0
lea eax, [ebp - 0x5b3c]
call fcn.004052f4
lea eax, [ebp - 0x5b38]
mov edx, 3
call fcn.00404af0
lea eax, [ebp - 0x5b2c]
call fcn.004120f8
lea eax, [ebp - 0x5b1c]
mov edx, 7
call fcn.0040530c
lea eax, [ebp - 0x5b00]
mov ecx, 0x14
mov edx, dword [0x54a2d4]
call fcn.004059e0
lea eax, [ebp - 0x5ab0]
mov ecx, 0x14
mov edx, dword [0x54a2b4]
call fcn.004059e0
lea eax, [ebp - 0x5a60]
mov ecx, 0x14
mov edx, dword [0x54a294]
call fcn.004059e0
lea eax, [ebp - 0x5a10]
mov ecx, 0x14
mov edx, dword [0x54a274]
call fcn.004059e0
lea eax, [ebp - 0x59c0]
mov ecx, 0x14
mov edx, dword [0x54a254]
call fcn.004059e0
lea eax, [ebp - 0x5970]
mov ecx, 0x14
mov edx, dword [0x54a234]
call fcn.004059e0
lea eax, [ebp - 0x5920]
mov ecx, 0x14
mov edx, dword [0x54a214]
call fcn.004059e0
lea eax, [ebp - 0x58d0]
mov ecx, 0x14
mov edx, dword [0x54a1f4]
call fcn.004059e0
lea eax, [ebp - 0x54c0]
mov ecx, 0x28
mov edx, dword [0x40114c]
call fcn.004059e0
lea eax, [ebp - 0x50b0]
mov ecx, 0x28
mov edx, dword [0x40112c]
call fcn.004059e0
lea eax, [ebp - 0x5010]
mov ecx, 0x28
mov edx, dword [0x401120]
call fcn.004059e0
lea eax, [ebp - 0xd4]
mov edx, 6
call fcn.0040530c
lea eax, [ebp - 0xa4]
call fcn.004052f4
lea eax, [ebp - 0xa0]
call fcn.00404acc
lea eax, [ebp - 0x94]
mov edx, dword [0x549af0]
call fcn.004063fc
lea eax, [ebp - 0x90]
mov edx, dword [0x4e2e5c]
call fcn.00405994
ret