Function at 0x5239d4
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0xb27
push 0
push 0
dec ecx
jne 0x5239dd
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x10]
call fcn.00405128
lea eax, [ebp - 0x14]
call fcn.00405a20
mov ecx, 0x28
lea eax, [ebp - 0x4f60]
mov edx, dword [0x4010f0]
call fcn.00405a70
mov ecx, 0x28
lea eax, [ebp - 0x5000]
mov edx, dword [0x4010fc]
call fcn.00405a70
mov ecx, 0x28
lea eax, [ebp - 0x5410]
mov edx, dword [0x40111c]
call fcn.00405a70
xor eax, eax
push ebp
push 0x52884d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
xor edx, edx
mov cl, 1
call fcn.00416704
mov byte [ebp - 0x15], 0
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.00409df4
mov eax, dword [ebp - 0x2c]
call fcn.0040566c
mov dword [ebp - 4], eax
lea eax, [ebp - 0x57d4]
push eax
mov edx, dword [ebp - 4]
sub edx, 4
jno 0x523a8d
call fcn.00403bec
mov ecx, 5
mov eax, dword [ebp - 0x2c]
call fcn.00405814
mov eax, dword [ebp - 0x57d4]
mov edx, 0x528864
call fcn.00405790
je 0x523ae3
lea eax, [ebp - 0x57d8]
push eax
mov edx, dword [ebp - 4]
sub edx, 4
jno 0x523ac0
call fcn.00403bec
mov ecx, 5
mov eax, dword [ebp - 0x2c]
call fcn.00405814
mov eax, dword [ebp - 0x57d8]
mov edx, 0x528874
call fcn.00405790
jne 0x523b90
mov byte [ebp - 0x15], 1
lea eax, [ebp - 0x57e0]
push eax
mov ecx, dword [ebp - 4]
sub ecx, 5
jno 0x523afb
call fcn.00403bec
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00405814
mov eax, dword [ebp - 0x57e0]
lea edx, [ebp - 0x57dc]
call fcn.0040a058
mov edx, dword [ebp - 0x57dc]
lea eax, [ebp - 0x14]
call fcn.004054e4
mov eax, dword [ebp - 0x14]
call fcn.0040566c
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
dec eax
test edx, edx
je 0x523b42
cmp eax, dword [edx - 4]
jb 0x523b47
call fcn.00403be4
inc eax
cmp word [edx + eax*2 - 2], 0x3a
jne 0x523b90
lea eax, [ebp - 0x57e8]
push eax
mov ecx, dword [ebp - 4]
sub ecx, 1
jno 0x523b64
call fcn.00403bec
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00405814
mov eax, dword [ebp - 0x57e8]
lea edx, [ebp - 0x57e4]
call fcn.0040a058
mov edx, dword [ebp - 0x57e4]
lea eax, [ebp - 0x14]
call fcn.004054e4
lea eax, [ebp - 0x904]
xor ecx, ecx
mov edx, 0x800
call fcn.004035f8
lea eax, [ebp - 0x49e4]
xor ecx, ecx
mov edx, 0xa0
call fcn.004035f8
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jbe 0x523bc6
call fcn.00403be4
xor edx, edx
mov dword [ebp + eax*4 - 0x4944], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 8
jne 0x523bb9
xor eax, eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf8], 0xffffffff
xor eax, eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x3c]
mov edx, dword [ebp - 0x14]
call fcn.004054e4
xor eax, eax
push ebp
push 0x525fd3
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x1c], eax
push 0
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x14]
mov cx, 0x29
mov eax, dword [ebp - 0xc]
call fcn.004de6f0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x57ec]
push eax
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0x30]
mov edx, 0x528884
call fcn.004aef68
mov eax, dword [ebp - 0x57ec]
lea edx, [ebp - 0x2c]
call fcn.0040a058
mov eax, dword [ebp - 0x2c]
xor edx, edx
call fcn.00405790
jne 0x523c6a
mov eax, dword [ebp - 0x40]
mov edx, 0x528894
call fcn.00405790
je 0x523c22
mov eax, dword [ebp - 0x40]
mov edx, 0x52889c
call fcn.00405790
je 0x523c88
mov eax, dword [ebp - 0x40]
mov edx, 0x5288a4
call fcn.00405790
jne 0x523caf
mov eax, dword [ebp - 0x2c]
xor edx, edx
call fcn.00405790
jne 0x523ca1
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0x40]
call fcn.004054e4
jmp 0x523caf
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
call fcn.004056d8
mov eax, dword [ebp - 0x2c]
xor edx, edx
call fcn.00405790
je 0x525e69
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
call fcn.0052348c
cmp eax, 0x12
jg 0x523d2d
je case.0x523d95.274
cmp eax, 0x11
ja case.0x523d95.265
jmp dword [eax*4 + 0x523ce5]
cmp eax, 0x107
jg 0x523d87
je 0x5255ad
cmp eax, 0x102
jg 0x523d67
je 0x525211
sub eax, 0x14
je 0x525be2
dec eax
je 0x525cd6
sub eax, 0xec
je 0x5250de
jmp case.0x523d95.265
sub eax, 0x103
je 0x525345
dec eax
sub eax, 2
jb case.0x523cde.4
je 0x525479
jmp case.0x523d95.265
add eax, 0xfffffef8
cmp eax, 0xa
ja case.0x523d95.265
jmp dword [eax*4 + 0x523d9c]
cmp dword [ebp - 0xf4], 0
jle 0x523e0a
cmp byte [ebp - 0x15], 0
jne 0x523e3b
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x523de6
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x523e3b
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x523dfe
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x523e08
call fcn.00403bec
jmp 0x523e3b
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x523e19
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x523e3b
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x523e31
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x523e3b
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x523e47
cmp eax, dword [ebp + 0x18]
jle 0x523e4c
call fcn.00403be4
imul eax, eax, 2
jno 0x523e56
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412f2c
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x523e76
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0x84]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x523e98
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x523edf
cmp byte [ebp - 0x15], 0
jne 0x523f10
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x523ebb
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x523f10
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x523ed3
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x523edd
call fcn.00403bec
jmp 0x523f10
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x523eee
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x523f10
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x523f06
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x523f10
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x523f1c
cmp eax, dword [ebp + 0x18]
jle 0x523f21
call fcn.00403be4
imul eax, eax, 2
jno 0x523f2b
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.0041488c
fstp dword [ebp - 0x88]
wait
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x523f4c
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0x88]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x523f6e
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x523fb5
cmp byte [ebp - 0x15], 0
jne 0x523fe6
mov eax, dword [ebp - 4]
and eax, 0x80000007
jns 0x523f91
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x523fe6
mov eax, 8
sub eax, dword [ebp - 0x20]
jno 0x523fa9
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x523fb3
call fcn.00403bec
jmp 0x523fe6
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x523fc4
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x523fe6
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x523fdc
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x523fe6
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x523ff2
cmp eax, dword [ebp + 0x18]
jle 0x523ff7
call fcn.00403be4
imul eax, eax, 2
jno 0x524001
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.0041488c
fstp qword [ebp - 0x90]
wait
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x524022
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0x90]
mov ecx, 8
call fcn.00402f98
add dword [ebp - 4], 8
jno 0x524044
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x52408b
cmp byte [ebp - 0x15], 0
jne 0x5240bc
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x524067
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5240bc
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52407f
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x524089
call fcn.00403bec
jmp 0x5240bc
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x52409a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5240bc
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5240b2
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5240bc
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5240c8
cmp eax, dword [ebp + 0x18]
jle 0x5240cd
call fcn.00403be4
imul eax, eax, 2
jno 0x5240d7
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
cmp ax, 1
jne 0x52411f
lea eax, [ebp - 0x57fc]
call fcn.004199a4
lea edx, [ebp - 0x57fc]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x524106
call fcn.00403be4
lea eax, [ebp + eax*4 - 0x4f60]
call fcn.004158a0
xor eax, eax
mov dword [ebp - 0xb8], eax
jmp 0x524219
lea eax, [ebp - 0x5800]
mov edx, dword [ebp - 0x1c]
test edx, edx
jl 0x524131
cmp edx, dword [ebp + 0x18]
jle 0x524136
call fcn.00403be4
imul edx, edx, 2
jno 0x524140
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004158a0
mov edx, dword [ebp - 0x5800]
mov eax, 0x5288b0
call fcn.0040527c
test eax, eax
jle 0x5241c0
lea eax, [ebp - 0x5808]
mov edx, dword [ebp - 0x1c]
test edx, edx
jl 0x524171
cmp edx, dword [ebp + 0x18]
jle 0x524176
call fcn.00403be4
imul edx, edx, 2
jno 0x524180
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00415fc0
mov edx, dword [ebp - 0x5808]
lea ecx, [ebp - 0x5804]
mov eax, dword [ebp - 0xc]
call fcn.0051ba94
mov edx, dword [ebp - 0x5804]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x5241b2
call fcn.00403be4
lea eax, [ebp + eax*4 - 0x4f60]
call fcn.00404efc
jmp 0x5241fa
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x5241cd
call fcn.00403be4
lea eax, [ebp + eax*4 - 0x4f60]
mov edx, dword [ebp - 0x1c]
test edx, edx
jl 0x5241e0
cmp edx, dword [ebp + 0x18]
jle 0x5241e5
call fcn.00403be4
imul edx, edx, 2
jno 0x5241ef
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004158a0
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x524207
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x4f60]
call fcn.00405138
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
je 0x5243a0
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
call fcn.0052348c
cmp eax, 4
je 0x52424a
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
call fcn.0052348c
cmp eax, 5
jne 0x5243a0
cmp dword [ebp - 0xf4], 0
jle 0x5243a0
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x524264
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x4f60]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0
je 0x524297
mov eax, dword [ebp - 0x104]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x5242a4
call fcn.00403be4
mov edx, dword [ebp - 0x104]
mov dword [ebp + eax*4 - 0x49e4], edx
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x5242be
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x49e4]
add eax, dword [ebp - 4]
jno 0x5242cf
call fcn.00403bec
cmp eax, 0x800
jle 0x524334
push 0
push 0x5288bc
lea edx, [ebp - 0x5814]
mov eax, 0x800
call fcn.0040a398
push dword [ebp - 0x5814]
push 0x5288d8
lea eax, [ebp - 0x5810]
mov edx, 3
call fcn.00404ff8
mov edx, dword [ebp - 0x5810]
lea eax, [ebp - 0x580c]
call fcn.0040564c
mov eax, dword [ebp - 0x580c]
push eax
mov eax, dword [0x550240]
mov eax, dword [eax]
call fcn.0045f5d4
xor ecx, ecx
pop edx
call fcn.0054ac10
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x524341
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x4f60]
call fcn.00405138
mov edx, dword [ebp - 0x1c]
cmp edx, 0x27
jbe 0x52435a
call fcn.00403be4
mov ecx, dword [ebp + edx*4 - 0x49e4]
mov edx, dword [ebp - 4]
cmp edx, 0x7ff
jbe 0x524371
call fcn.00403be4
lea edx, [ebp + edx - 0x904]
call fcn.00402f98
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x52438a
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x49e4]
add dword [ebp - 4], eax
jno 0x52439b
call fcn.00403bec
jmp case.0x523cde.16
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5243af
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xb8]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x5243d1
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x524418
cmp byte [ebp - 0x15], 0
jne 0x524449
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x5243f4
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x524449
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52440c
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x524416
call fcn.00403bec
jmp 0x524449
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x524427
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x524449
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52443f
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x524449
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x524455
cmp eax, dword [ebp + 0x18]
jle 0x52445a
call fcn.00403be4
imul eax, eax, 2
jno 0x524464
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
cmp ax, 1
jne 0x5244ac
lea eax, [ebp - 0x5824]
call fcn.004199a4
lea edx, [ebp - 0x5824]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x524493
call fcn.00403be4
lea eax, [ebp + eax*4 - 0x5000]
call fcn.00415fc0
xor eax, eax
mov dword [ebp - 0xbc], eax
jmp 0x5245a6
lea eax, [ebp - 0x5828]
mov edx, dword [ebp - 0x1c]
test edx, edx
jl 0x5244be
cmp edx, dword [ebp + 0x18]
jle 0x5244c3
call fcn.00403be4
imul edx, edx, 2
jno 0x5244cd
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004158a0
mov edx, dword [ebp - 0x5828]
mov eax, 0x5288b0
call fcn.0040527c
test eax, eax
jle 0x52454d
lea eax, [ebp - 0x5830]
mov edx, dword [ebp - 0x1c]
test edx, edx
jl 0x5244fe
cmp edx, dword [ebp + 0x18]
jle 0x524503
call fcn.00403be4
imul edx, edx, 2
jno 0x52450d
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00415fc0
mov edx, dword [ebp - 0x5830]
lea ecx, [ebp - 0x582c]
mov eax, dword [ebp - 0xc]
call fcn.0051ba94
mov edx, dword [ebp - 0x582c]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x52453f
call fcn.00403be4
lea eax, [ebp + eax*4 - 0x5000]
call fcn.004054e4
jmp 0x524587
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x52455a
call fcn.00403be4
lea eax, [ebp + eax*4 - 0x5000]
mov edx, dword [ebp - 0x1c]
test edx, edx
jl 0x52456d
cmp edx, dword [ebp + 0x18]
jle 0x524572
call fcn.00403be4
imul edx, edx, 2
jno 0x52457c
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00415fc0
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x524594
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x5000]
call fcn.0040565c
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
je 0x524700
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
call fcn.0052348c
cmp eax, 0xd
je 0x5245d7
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
call fcn.0052348c
cmp eax, 0xe
jne 0x524700
cmp dword [ebp - 0xf4], 0
jle 0x524700
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x5245f1
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x5000]
call fcn.0040566c
mov edx, dword [ebp - 0x1c]
cmp edx, 0x27
jbe 0x52460a
call fcn.00403be4
mov dword [ebp + edx*4 - 0x49e4], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x52461e
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x49e4]
add eax, dword [ebp - 4]
jno 0x52462f
call fcn.00403bec
cmp eax, 0x800
jle 0x524694
push 0
push 0x5288bc
lea edx, [ebp - 0x583c]
mov eax, 0x800
call fcn.0040a398
push dword [ebp - 0x583c]
push 0x5288d8
lea eax, [ebp - 0x5838]
mov edx, 3
call fcn.00404ff8
mov edx, dword [ebp - 0x5838]
lea eax, [ebp - 0x5834]
call fcn.0040564c
mov eax, dword [ebp - 0x5834]
push eax
mov eax, dword [0x550240]
mov eax, dword [eax]
call fcn.0045f5d4
xor ecx, ecx
pop edx
call fcn.0054ac10
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x5246a1
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x5000]
call fcn.0040565c
mov edx, dword [ebp - 0x1c]
cmp edx, 0x27
jbe 0x5246ba
call fcn.00403be4
mov ecx, dword [ebp + edx*4 - 0x49e4]
mov edx, dword [ebp - 4]
cmp edx, 0x7ff
jbe 0x5246d1
call fcn.00403be4
lea edx, [ebp + edx - 0x904]
call fcn.00402f98
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x5246ea
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x49e4]
add dword [ebp - 4], eax
jno 0x5246fb
call fcn.00403bec
jmp case.0x523cde.16
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x52470f
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xbc]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x524731
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x524778
cmp byte [ebp - 0x15], 0
jne 0x5247a9
mov eax, dword [ebp - 4]
and eax, 0x80000001
jns 0x524754
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5247a9
mov eax, 2
sub eax, dword [ebp - 0x20]
jno 0x52476c
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x524776
call fcn.00403bec
jmp 0x5247a9
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x524787
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5247a9
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52479f
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5247a9
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5247b5
cmp eax, dword [ebp + 0x18]
jle 0x5247ba
call fcn.00403be4
imul eax, eax, 2
jno 0x5247c4
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412f2c
mov word [ebp - 0x92], ax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5247e5
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0x92]
mov ecx, 2
call fcn.00402f98
add dword [ebp - 4], 2
jno 0x524807
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x52484e
cmp byte [ebp - 0x15], 0
jne 0x52487f
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x52482a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x52487f
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x524842
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x52484c
call fcn.00403bec
jmp 0x52487f
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x52485d
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x52487f
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x524875
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x52487f
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52488b
cmp eax, dword [ebp + 0x18]
jle 0x524890
call fcn.00403be4
imul eax, eax, 2
jno 0x52489a
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
movzx eax, ax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jne 0x5248be
xor eax, eax
mov dword [ebp - 0x98], eax
jmp 0x524a3c
cmp dword [ebp - 0x24], 0x100
je 0x5248d7
cmp dword [ebp - 0x24], 0x48
je 0x5248d7
cmp dword [ebp - 0x24], 8
jne 0x524a0b
lea eax, [ebp - 0x5840]
mov edx, dword [ebp - 0x1c]
test edx, edx
jl 0x5248e9
cmp edx, dword [ebp + 0x18]
jle 0x5248ee
call fcn.00403be4
imul edx, edx, 2
jno 0x5248f8
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004158a0
mov edx, dword [ebp - 0x5840]
mov eax, 0x5288b0
call fcn.0040527c
test eax, eax
jle 0x524985
lea eax, [ebp - 0x5848]
mov edx, dword [ebp - 0x1c]
test edx, edx
jl 0x524929
cmp edx, dword [ebp + 0x18]
jle 0x52492e
call fcn.00403be4
imul edx, edx, 2
jno 0x524938
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00415fc0
mov edx, dword [ebp - 0x5848]
lea ecx, [ebp - 0x5844]
mov eax, dword [ebp - 0xc]
call fcn.0051ba94
mov edx, dword [ebp - 0x5844]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x524969
cmp eax, dword [ebp + 0x18]
jle 0x52496e
call fcn.00403be4
imul eax, eax, 2
jno 0x524978
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.004169d4
jmp 0x5249cc
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x524991
cmp eax, dword [ebp + 0x18]
jle 0x524996
call fcn.00403be4
imul eax, eax, 2
jno 0x5249a0
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x1c]
test edx, edx
jl 0x5249b2
cmp edx, dword [ebp + 0x18]
jle 0x5249b7
call fcn.00403be4
imul edx, edx, 2
jno 0x5249c1
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00412624
lea eax, [ebp - 0x584c]
mov edx, dword [ebp - 0x1c]
test edx, edx
jl 0x5249de
cmp edx, dword [ebp + 0x18]
jle 0x5249e3
call fcn.00403be4
imul edx, edx, 2
jno 0x5249ed
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.004158a0
mov eax, dword [ebp - 0x584c]
call fcn.00405138
mov dword [ebp - 0x98], eax
jmp 0x524a3c
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x524a17
cmp eax, dword [ebp + 0x18]
jle 0x524a1c
call fcn.00403be4
imul eax, eax, 2
jno 0x524a26
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.0041488c
call fcn.004033b4
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x524a4b
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0x98]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x524a6d
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x524ab4
cmp byte [ebp - 0x15], 0
jne 0x524ae5
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x524a90
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x524ae5
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x524aa8
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x524ab2
call fcn.00403bec
jmp 0x524ae5
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x524ac3
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x524ae5
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x524adb
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x524ae5
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x524af1
cmp eax, dword [ebp + 0x18]
jle 0x524af6
call fcn.00403be4
imul eax, eax, 2
jno 0x524b00
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
movzx eax, ax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jne 0x524b21
xor eax, eax
mov dword [ebp - 0xe4], eax
jmp 0x524b48
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x524b2d
cmp eax, dword [ebp + 0x18]
jle 0x524b32
call fcn.00403be4
imul eax, eax, 2
jno 0x524b3c
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x524b57
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xe4]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x524b79
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x524bc0
cmp byte [ebp - 0x15], 0
jne 0x524bf1
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x524b9c
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x524bf1
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x524bb4
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x524bbe
call fcn.00403bec
jmp 0x524bf1
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x524bcf
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x524bf1
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x524be7
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x524bf1
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x524bfd
cmp eax, dword [ebp + 0x18]
jle 0x524c02
call fcn.00403be4
imul eax, eax, 2
jno 0x524c0c
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
movzx eax, ax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jne 0x524c30
xor eax, eax
mov dword [ebp - 0xc0], eax
jmp 0x524cee
test byte [ebp - 0x23], 0x40
je 0x524c81
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x524c42
cmp eax, dword [ebp + 0x18]
jle 0x524c47
call fcn.00403be4
imul eax, eax, 2
jno 0x524c51
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [ebp - 0x1c]
cmp edx, 0x27
jbe 0x524c65
call fcn.00403be4
imul edx, edx, 3
jno 0x524c6f
call fcn.00403bec
mov esi, eax
lea edi, [ebp + edx*8 - 0x57d0]
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
jmp 0x524cca
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x524c8d
cmp eax, dword [ebp + 0x18]
jle 0x524c92
call fcn.00403be4
imul eax, eax, 2
jno 0x524c9c
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [ebp - 0x1c]
cmp edx, 0x27
jbe 0x524cb0
call fcn.00403be4
imul edx, edx, 3
jno 0x524cba
call fcn.00403bec
mov esi, eax
lea edi, [ebp + edx*8 - 0x57d0]
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x524cd7
call fcn.00403be4
imul eax, eax, 3
jno 0x524ce1
call fcn.00403bec
lea eax, [ebp + eax*8 - 0x57d0]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x524cfd
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xc0]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x524d1f
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jg 0x524d5e
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x524d3c
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x524d5e
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x524d54
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x524d5e
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x524d6a
cmp eax, dword [ebp + 0x18]
jle 0x524d6f
call fcn.00403be4
imul eax, eax, 2
jno 0x524d79
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412f2c
mov byte [ebp - 0x7d], al
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x524d96
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0x7d]
mov ecx, 1
call fcn.00402f98
add dword [ebp - 4], 1
jno 0x524db5
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jg 0x524df4
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x524dd2
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x524df4
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x524dea
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x524df4
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x524e00
cmp eax, dword [ebp + 0x18]
jle 0x524e05
call fcn.00403be4
imul eax, eax, 2
jno 0x524e0f
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412f2c
mov byte [ebp - 0xb1], al
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x524e2f
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xb1]
mov ecx, 1
call fcn.00402f98
add dword [ebp - 4], 1
jno 0x524e51
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x524e98
cmp byte [ebp - 0x15], 0
jne 0x524ec9
mov eax, dword [ebp - 4]
and eax, 0x80000001
jns 0x524e74
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x524ec9
mov eax, 2
sub eax, dword [ebp - 0x20]
jno 0x524e8c
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x524e96
call fcn.00403bec
jmp 0x524ec9
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x524ea7
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x524ec9
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x524ebf
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x524ec9
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x524ed5
cmp eax, dword [ebp + 0x18]
jle 0x524eda
call fcn.00403be4
imul eax, eax, 2
jno 0x524ee4
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412f2c
mov word [ebp - 0xb4], ax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x524f05
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xb4]
mov ecx, 2
call fcn.00402f98
add dword [ebp - 4], 2
jno 0x524f27
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x524f6e
cmp byte [ebp - 0x15], 0
jne 0x524f9f
mov eax, dword [ebp - 4]
and eax, 0x80000007
jns 0x524f4a
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x524f9f
mov eax, 8
sub eax, dword [ebp - 0x20]
jno 0x524f62
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x524f6c
call fcn.00403bec
jmp 0x524f9f
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x524f7d
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x524f9f
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x524f95
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x524f9f
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x524fab
cmp eax, dword [ebp + 0x18]
jle 0x524fb0
call fcn.00403be4
imul eax, eax, 2
jno 0x524fba
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412f2c
cdq
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x524fe1
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xa0]
mov ecx, 8
call fcn.00402f98
add dword [ebp - 4], 8
jno 0x525003
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x52504a
cmp byte [ebp - 0x15], 0
jne 0x52507b
mov eax, dword [ebp - 4]
and eax, 0x80000007
jns 0x525026
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x52507b
mov eax, 8
sub eax, dword [ebp - 0x20]
jno 0x52503e
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x525048
call fcn.00403bec
jmp 0x52507b
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x525059
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x52507b
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x525071
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x52507b
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x525087
cmp eax, dword [ebp + 0x18]
jle 0x52508c
call fcn.00403be4
imul eax, eax, 2
jno 0x525096
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.0041488c
fstp xword [ebp - 0xb0]
wait
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5250b7
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xb0]
mov ecx, 0xa
call fcn.00402f98
add dword [ebp - 4], 0xa
jno 0x5250d9
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x525120
cmp byte [ebp - 0x15], 0
jne 0x525151
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x5250fc
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x525151
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x525114
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x52511e
call fcn.00403bec
jmp 0x525151
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x52512f
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x525151
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x525147
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x525151
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52515d
cmp eax, dword [ebp + 0x18]
jle 0x525162
call fcn.00403be4
imul eax, eax, 2
jno 0x52516c
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
cmp ax, 1
jne 0x525187
xor eax, eax
mov dword [ebp - 0xc8], eax
jmp 0x5251db
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x525193
cmp eax, dword [ebp + 0x18]
jle 0x525198
call fcn.00403be4
imul eax, eax, 2
jno 0x5251a2
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412f2c
mov edx, dword [ebp - 0x1c]
cmp edx, 0x27
jbe 0x5251ba
call fcn.00403be4
mov dword [ebp + edx*4 - 0x4aac], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x5251ce
call fcn.00403be4
lea eax, [ebp + eax*4 - 0x4aac]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5251ea
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xc8]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x52520c
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x525253
cmp byte [ebp - 0x15], 0
jne 0x525284
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x52522f
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x525284
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x525247
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x525251
call fcn.00403bec
jmp 0x525284
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x525262
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x525284
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52527a
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x525284
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x525290
cmp eax, dword [ebp + 0x18]
jle 0x525295
call fcn.00403be4
imul eax, eax, 2
jno 0x52529f
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
cmp ax, 1
jne 0x5252ba
xor eax, eax
mov dword [ebp - 0xcc], eax
jmp 0x52530f
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5252c6
cmp eax, dword [ebp + 0x18]
jle 0x5252cb
call fcn.00403be4
imul eax, eax, 2
jno 0x5252d5
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.0041488c
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x5252ed
call fcn.00403be4
fstp dword [ebp + eax*4 - 0x4b4c]
wait
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x525302
call fcn.00403be4
lea eax, [ebp + eax*4 - 0x4b4c]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x52531e
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xcc]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x525340
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x525387
cmp byte [ebp - 0x15], 0
jne 0x5253b8
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x525363
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5253b8
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52537b
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x525385
call fcn.00403bec
jmp 0x5253b8
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x525396
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5253b8
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5253ae
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5253b8
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5253c4
cmp eax, dword [ebp + 0x18]
jle 0x5253c9
call fcn.00403be4
imul eax, eax, 2
jno 0x5253d3
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
cmp ax, 1
jne 0x5253ee
xor eax, eax
mov dword [ebp - 0xd0], eax
jmp 0x525443
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5253fa
cmp eax, dword [ebp + 0x18]
jle 0x5253ff
call fcn.00403be4
imul eax, eax, 2
jno 0x525409
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.0041488c
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x525421
call fcn.00403be4
fstp qword [ebp + eax*8 - 0x4c90]
wait
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x525436
call fcn.00403be4
lea eax, [ebp + eax*8 - 0x4c90]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x525452
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xd0]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x525474
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x5254bb
cmp byte [ebp - 0x15], 0
jne 0x5254ec
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x525497
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5254ec
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5254af
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5254b9
call fcn.00403bec
jmp 0x5254ec
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x5254ca
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5254ec
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5254e2
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5254ec
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5254f8
cmp eax, dword [ebp + 0x18]
jle 0x5254fd
call fcn.00403be4
imul eax, eax, 2
jno 0x525507
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
cmp ax, 1
jne 0x525522
xor eax, eax
mov dword [ebp - 0xd4], eax
jmp 0x525577
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52552e
cmp eax, dword [ebp + 0x18]
jle 0x525533
call fcn.00403be4
imul eax, eax, 2
jno 0x52553d
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412f2c
mov edx, dword [ebp - 0x1c]
cmp edx, 0x27
jbe 0x525555
call fcn.00403be4
mov word [ebp + edx*2 - 0x4ce0], ax
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x52556a
call fcn.00403be4
lea eax, [ebp + eax*2 - 0x4ce0]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x525586
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xd4]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x5255a8
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x5255ef
cmp byte [ebp - 0x15], 0
jne 0x525620
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x5255cb
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x525620
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5255e3
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5255ed
call fcn.00403bec
jmp 0x525620
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x5255fe
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x525620
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x525616
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x525620
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52562c
cmp eax, dword [ebp + 0x18]
jle 0x525631
call fcn.00403be4
imul eax, eax, 2
jno 0x52563b
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
cmp ax, 1
jne 0x525656
xor eax, eax
mov dword [ebp - 0xd8], eax
jmp 0x5256af
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x525662
cmp eax, dword [ebp + 0x18]
jle 0x525667
call fcn.00403be4
imul eax, eax, 2
jno 0x525671
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.0041488c
call fcn.004033b4
mov edx, dword [ebp - 0x1c]
cmp edx, 0x27
jbe 0x52568e
call fcn.00403be4
mov dword [ebp + edx*4 - 0x4d80], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x5256a2
call fcn.00403be4
lea eax, [ebp + eax*4 - 0x4d80]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5256be
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xd8]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x5256e0
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x525727
cmp byte [ebp - 0x15], 0
jne 0x525758
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x525703
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x525758
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52571b
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x525725
call fcn.00403bec
jmp 0x525758
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x525736
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x525758
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52574e
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x525758
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x525764
cmp eax, dword [ebp + 0x18]
jle 0x525769
call fcn.00403be4
imul eax, eax, 2
jno 0x525773
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
cmp ax, 1
jne 0x52578e
xor eax, eax
mov dword [ebp - 0xe4], eax
jmp 0x5257f6
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x52579b
call fcn.00403be4
imul eax, eax, 2
jno 0x5257a5
call fcn.00403bec
lea eax, [ebp + eax*8 - 0x5410]
mov edx, dword [ebp - 0x1c]
test edx, edx
jl 0x5257b8
cmp edx, dword [ebp + 0x18]
jle 0x5257bd
call fcn.00403be4
imul edx, edx, 2
jno 0x5257c7
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea edx, [ecx + edx*8]
call fcn.00416b20
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x5257df
call fcn.00403be4
imul eax, eax, 2
jno 0x5257e9
call fcn.00403bec
lea eax, [ebp + eax*8 - 0x5410]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x525805
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xe4]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x525827
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x52586e
cmp byte [ebp - 0x15], 0
jne 0x52589f
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x52584a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x52589f
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x525862
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x52586c
call fcn.00403bec
jmp 0x52589f
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x52587d
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x52589f
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x525895
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x52589f
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5258ab
cmp eax, dword [ebp + 0x18]
jle 0x5258b0
call fcn.00403be4
imul eax, eax, 2
jno 0x5258ba
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
cmp ax, 1
jne 0x5258d5
xor eax, eax
mov dword [ebp - 0xc4], eax
jmp 0x525929
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5258e1
cmp eax, dword [ebp + 0x18]
jle 0x5258e6
call fcn.00403be4
imul eax, eax, 2
jno 0x5258f0
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412f2c
mov edx, dword [ebp - 0x1c]
cmp edx, 0x27
jbe 0x525908
call fcn.00403be4
mov byte [ebp + edx - 0x4a0c], al
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x52591c
call fcn.00403be4
lea eax, [ebp + eax - 0x4a0c]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x525938
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xc4]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x52595a
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x5259a1
cmp byte [ebp - 0x15], 0
jne 0x5259d2
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x52597d
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5259d2
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x525995
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x52599f
call fcn.00403bec
jmp 0x5259d2
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x5259b0
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5259d2
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5259c8
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5259d2
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5259de
cmp eax, dword [ebp + 0x18]
jle 0x5259e3
call fcn.00403be4
imul eax, eax, 2
jno 0x5259ed
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
cmp ax, 1
jne 0x525a08
xor eax, eax
mov dword [ebp - 0xdc], eax
jmp 0x525a64
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x525a14
cmp eax, dword [ebp + 0x18]
jle 0x525a19
call fcn.00403be4
imul eax, eax, 2
jno 0x525a23
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00412f2c
cdq
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0x27
jbe 0x525a3c
call fcn.00403be4
mov dword [ebp + ecx*8 - 0x4ec0], eax
mov dword [ebp + ecx*8 - 0x4ebc], edx
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x525a57
call fcn.00403be4
lea eax, [ebp + eax*8 - 0x4ec0]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x525a73
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xdc]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x525a95
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf4], 0
jle 0x525adc
cmp byte [ebp - 0x15], 0
jne 0x525b0d
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x525ab8
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x525b0d
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x525ad0
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x525ada
call fcn.00403bec
jmp 0x525b0d
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x525aeb
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x525b0d
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x525b03
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x525b0d
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x525b19
cmp eax, dword [ebp + 0x18]
jle 0x525b1e
call fcn.00403be4
imul eax, eax, 2
jno 0x525b28
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
cmp ax, 1
jne 0x525b43
xor eax, eax
mov dword [ebp - 0xe0], eax
jmp 0x525bac
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x525b4f
cmp eax, dword [ebp + 0x18]
jle 0x525b54
call fcn.00403be4
imul eax, eax, 2
jno 0x525b5e
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.0041488c
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x525b76
call fcn.00403be4
imul eax, eax, 5
jno 0x525b80
call fcn.00403bec
fstp xword [ebp + eax*2 - 0x5190]
wait
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x525b95
call fcn.00403be4
imul eax, eax, 5
jno 0x525b9f
call fcn.00403bec
lea eax, [ebp + eax*2 - 0x5190]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x525bbb
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 0xe0]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x525bdd
call fcn.00403bec
jmp case.0x523cde.16
cmp dword [ebp - 0xf8], 0
jge 0x525c14
xor eax, eax
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x4944], eax
lea edx, [ebp - 0x4904]
lea eax, [ebp - 0x904]
mov ecx, 0x800
call fcn.00402f98
jmp 0x525c76
mov eax, dword [ebp - 0xf4]
cmp eax, 7
jbe 0x525c24
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x4924]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, 7
jbe 0x525c3b
call fcn.00403be4
imul eax, eax, 0x100
jno 0x525c48
call fcn.00403bec
lea edx, [ebp + eax*8 - 0x4904]
lea eax, [ebp - 0x904]
mov ecx, 0x800
call fcn.00402f98
mov eax, dword [ebp - 0x20]
cmp eax, 7
jbe 0x525c6c
call fcn.00403be4
mov edx, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x4944], edx
add dword [ebp - 0xf8], 1
jno 0x525c84
call fcn.00403bec
add dword [ebp - 0xf4], 1
jno 0x525c92
call fcn.00403bec
mov eax, dword [ebp - 0xf4]
cmp eax, 7
jbe 0x525ca2
call fcn.00403be4
mov edx, dword [ebp - 0xf8]
mov dword [ebp + eax*4 - 0x4924], edx
xor eax, eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x904]
xor ecx, ecx
mov edx, 0x800
call fcn.004035f8
sub dword [ebp - 0x1c], 1
jno 0x525cd1
call fcn.00403bec
jmp case.0x523cde.16
mov eax, dword [ebp - 0xf4]
cmp eax, 7
jbe 0x525ce6
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x4924]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, 7
jbe 0x525cfd
call fcn.00403be4
mov edx, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x4944], edx
mov eax, dword [ebp - 0x20]
cmp eax, 7
jbe 0x525d14
call fcn.00403be4
imul eax, eax, 0x100
jno 0x525d21
call fcn.00403bec
lea edx, [ebp + eax*8 - 0x4904]
lea eax, [ebp - 0x904]
mov ecx, 0x800
call fcn.00402f98
mov eax, dword [ebp - 0x20]
cmp eax, 7
jbe 0x525d45
call fcn.00403be4
imul eax, eax, 0x100
jno 0x525d52
call fcn.00403bec
lea eax, [ebp + eax*8 - 0x4904]
mov dword [ebp - 8], eax
sub dword [ebp - 0xf4], 1
jno 0x525d6a
call fcn.00403bec
mov eax, dword [ebp - 0xf4]
cmp eax, 7
jbe 0x525d7a
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x4924]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, 7
jbe 0x525d91
call fcn.00403be4
imul eax, eax, 0x100
jno 0x525d9e
call fcn.00403bec
lea eax, [ebp + eax*8 - 0x4904]
lea edx, [ebp - 0x904]
mov ecx, 0x800
call fcn.00402f98
mov eax, dword [ebp - 0x24]
cmp eax, 7
jbe 0x525dc2
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x4944]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x525ddb
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x525dfd
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x525df3
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x525dfd
call fcn.00403bec
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x525e0c
call fcn.00403be4
lea edx, [ebp + eax - 0x904]
lea eax, [ebp - 8]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x525e2b
call fcn.00403bec
sub dword [ebp - 0x1c], 1
jno 0x525e36
call fcn.00403bec
jmp case.0x523cde.16
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x5288ec
mov eax, dword [ebp - 0xc]
call fcn.004e07c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x52869a
add dword [ebp - 0x1c], 1
jno 0x525e64
call fcn.00403bec
jmp 0x523c22
cmp dword [ebp - 0xf4], 0
je 0x525e93
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x5288fc
mov eax, dword [ebp - 0xc]
call fcn.004e07c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x52869a
lea edx, [ebp - 0x4904]
lea eax, [ebp - 0x904]
mov ecx, 0x800
call fcn.00402f98
push 0
push 0
push 0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x14]
mov cl, 1
mov edx, 0x528924
call fcn.004aed24
mov eax, dword [ebp - 0x34]
xor edx, edx
call fcn.00405790
jne 0x525edb
lea eax, [ebp - 0x34]
mov edx, 0x528930
call fcn.004054e4
lea edx, [ebp - 0x5850]
mov eax, dword [ebp - 0x14]
call fcn.0040a058
mov edx, dword [ebp - 0x5850]
lea eax, [ebp - 0x14]
call fcn.004054e4
mov edx, dword [ebp - 0x14]
mov eax, 0x528940
call fcn.0040598c
dec eax
jne 0x525f3f
lea eax, [ebp - 0x5858]
push eax
mov ecx, 0x3b9ac9ff
mov edx, 2
mov eax, dword [ebp - 0x14]
call fcn.00405814
mov eax, dword [ebp - 0x5858]
lea edx, [ebp - 0x5854]
call fcn.0040a058
mov edx, dword [ebp - 0x5854]
lea eax, [ebp - 0x14]
call fcn.004054e4
mov edx, dword [ebp - 0x14]
mov eax, 0x528948
call fcn.0040598c
dec eax
jne 0x525f87
lea eax, [ebp - 0x5860]
push eax
mov ecx, 0x3b9ac9ff
mov edx, 2
mov eax, dword [ebp - 0x14]
call fcn.00405814
mov eax, dword [ebp - 0x5860]
lea edx, [ebp - 0x585c]
call fcn.0040a058
mov edx, dword [ebp - 0x585c]
lea eax, [ebp - 0x14]
call fcn.004054e4
lea edx, [ebp - 0x5864]
mov eax, dword [ebp - 0x14]
call fcn.0040a058
mov eax, dword [ebp - 0x5864]
xor edx, edx
call fcn.00405790
jne 0x525fbe
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x34]
call fcn.004054e4
lea eax, [ebp - 0x34]
mov edx, 0x528930
call fcn.004054e4
jmp 0x525fc9
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x14]
call fcn.004054e4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x525ffb
mov eax, dword [ebp - 0x38]
xor edx, edx
call fcn.00405790
jne 0x526020
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x528974
mov eax, dword [ebp - 0xc]
call fcn.004e07c8
jmp 0x52869a
xor eax, eax
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x526074
mov eax, dword [ebp - 0x1c]
cmp eax, 0x1f
jbe 0x526039
call fcn.00403be4
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + eax*4 + 0x610]
mov edx, dword [ebp - 0x38]
call fcn.00405790
jne 0x526069
mov eax, dword [ebp - 0x1c]
cmp eax, 0x1f
jbe 0x52605a
call fcn.00403be4
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + eax*4 + 0x690]
mov dword [ebp - 0x28], eax
jmp 0x526094
add dword [ebp - 0x1c], 1
jno 0x526074
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
cmp eax, 0x1f
jbe 0x526081
call fcn.00403be4
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + eax*4 + 0x610]
xor edx, edx
call fcn.00405790
jne 0x52602c
cmp dword [ebp - 0x28], 0
jne 0x526109
mov eax, dword [ebp - 0x1c]
cmp eax, 0x1f
jbe 0x5260a7
call fcn.00403be4
mov edx, dword [ebp - 0xc]
lea eax, [edx + eax*4 + 0x610]
mov edx, dword [ebp - 0x38]
call fcn.004054bc
lea eax, [ebp - 0x5868]
mov edx, dword [ebp - 0x38]
call fcn.00404efc
mov eax, dword [ebp - 0x5868]
call fcn.00405138
push eax
call sub.kernel32.dll_LoadLibraryA
mov edx, dword [ebp - 0x1c]
cmp edx, 0x1f
jbe 0x5260e5
call fcn.00403be4
mov ecx, dword [ebp - 0xc]
mov dword [ecx + edx*4 + 0x690], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0x1f
jbe 0x5260fc
call fcn.00403be4
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + eax*4 + 0x690]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x52613c
push 0
push 0
lea eax, [ebp - 0x586c]
mov ecx, dword [ebp - 0x38]
mov edx, 0x528998
call fcn.004056d8
mov edx, dword [ebp - 0x586c]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xc]
call fcn.004e07c8
jmp 0x52869a
sub esp, dword [ebp - 4]
mov dword [ebp - 8], esp
mov eax, dword [ebp - 4]
sub eax, 1
jno 0x52614f
call fcn.00403bec
test eax, eax
jl 0x526198
inc eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x1c]
cmp eax, 0x7fff
jbe 0x526170
call fcn.00403be4
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0x7ff
jbe 0x526183
call fcn.00403be4
mov cl, byte [ebp + ecx - 0x904]
mov byte [edx + eax], cl
inc dword [ebp - 0x1c]
dec dword [ebp - 0xfc]
jne 0x526161
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
call fcn.0052348c
cmp eax, 0x12
ja case.0x5261ac.0
jmp dword [eax*4 + 0x5261b3]
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
je 0x528661
call dword [ebp - 0x50]
mov edx, eax
mov eax, dword [ebp + 8]
mov cl, 0xfc
call fcn.00416704
jmp 0x526573
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
je 0x528661
call dword [ebp - 0x54]
mov eax, dword [ebp + 8]
call fcn.0041691c
jmp 0x526573
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x528661
call dword [ebp - 0x58]
mov eax, dword [ebp + 8]
call fcn.0041691c
jmp 0x526573
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jne 0x5262b8
mov eax, dword [ebp + 8]
call fcn.004199ac
jmp 0x526573
call dword [ebp - 0x5c]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x5870]
mov edx, dword [ebp - 0xb8]
call fcn.00404e50
mov edx, dword [ebp - 0x5870]
mov eax, dword [ebp + 8]
call fcn.00416958
jmp 0x526573
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
jne 0x52630d
mov eax, dword [ebp + 8]
call fcn.004199ac
jmp 0x526573
call dword [ebp - 0x60]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x5874]
mov edx, dword [ebp - 0xbc]
call fcn.004055dc
mov edx, dword [ebp - 0x5874]
mov eax, dword [ebp + 8]
call fcn.004169d4
jmp 0x526573
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
je 0x528661
call dword [ebp - 0x64]
movzx edx, ax
mov eax, dword [ebp + 8]
mov cl, 2
call fcn.00416704
jmp 0x526573
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
je 0x528661
call dword [ebp - 0x68]
mov dword [ebp - 0x587c], eax
xor eax, eax
mov dword [ebp - 0x5878], eax
fild qword [ebp - 0x587c]
fstp qword [ebp - 0x90]
wait
fld qword [ebp - 0x90]
mov eax, dword [ebp + 8]
call fcn.0041691c
jmp 0x526573
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x528661
call dword [ebp - 0x44]
xor edx, edx
mov dl, al
mov eax, dword [ebp + 8]
mov cl, 1
call fcn.00416704
jmp 0x526573
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
je 0x528661
call dword [ebp - 0x48]
mov byte [ebp - 0x587f], al
mov byte [ebp - 0x5880], 1
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x5880]
call fcn.00416984
jmp 0x526573
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
je 0x528661
call dword [ebp - 0x4c]
movzx edx, ax
mov eax, dword [ebp + 8]
mov cl, 2
call fcn.00416704
jmp 0x526573
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
je 0x528661
call dword [ebp - 0x6c]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
fild qword [ebp - 0xa0]
fstp qword [ebp - 0x90]
wait
fld qword [ebp - 0x90]
mov eax, dword [ebp + 8]
call fcn.0041691c
jmp 0x526573
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x528661
call dword [ebp - 0x70]
mov eax, dword [ebp + 8]
call fcn.0041691c
jmp 0x526573
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x528661
call dword [ebp - 0x74]
jmp 0x526573
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
je 0x528661
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 0x78]
jmp 0x526573
mov eax, dword [ebp - 0x10]
call fcn.00405138
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x528661
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 0x7c]
jmp 0x526573
push 0
push 0
mov ecx, dword [ebp + 0xc]
mov edx, 0x5289b0
mov eax, dword [ebp - 0xc]
call fcn.004e07c8
jmp 0x52869a
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x3c]
call fcn.004054e4
xor eax, eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf8], 0xffffffff
xor eax, eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
push 0
push 0
push 0
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x14]
mov cl, 1
mov edx, 0x5289dc
call fcn.004aed24
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x5884]
push eax
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0x30]
mov edx, 0x528884
call fcn.004aef68
mov eax, dword [ebp - 0x5884]
lea edx, [ebp - 0x2c]
call fcn.0040a058
mov eax, dword [ebp - 0x2c]
xor edx, edx
call fcn.00405790
jne 0x5265fb
mov eax, dword [ebp - 0x40]
mov edx, 0x528894
call fcn.00405790
je 0x5265b3
mov eax, dword [ebp - 0x40]
mov edx, 0x52889c
call fcn.00405790
je 0x526619
mov eax, dword [ebp - 0x40]
mov edx, 0x5288a4
call fcn.00405790
jne 0x526640
mov eax, dword [ebp - 0x2c]
xor edx, edx
call fcn.00405790
jne 0x526632
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0x40]
call fcn.004054e4
jmp 0x526640
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
call fcn.004056d8
mov eax, dword [ebp - 0x2c]
xor edx, edx
call fcn.00405790
je 0x52869a
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xc]
call fcn.0052348c
cmp eax, 0x14
jg 0x5266c2
je 0x528483
cmp eax, 0x12
ja case.0x526728.265
jmp dword [eax*4 + 0x526676]
cmp eax, 0x107
jg 0x52671a
je 0x527e8f
cmp eax, 0x103
jg 0x5266fc
je 0x527950
sub eax, 0x15
je 0x528552
sub eax, 0xec
je 0x527788
dec eax
je 0x52786d
jmp case.0x526728.265
sub eax, 0x104
je 0x527a33
dec eax
je 0x527b25
dec eax
je 0x527da9
jmp case.0x526728.265
add eax, 0xfffffef8
cmp eax, 0xa
ja case.0x526728.265
jmp dword [eax*4 + 0x52672f]
cmp dword [ebp - 0xf4], 0
jle 0x526807
cmp byte [ebp - 0x15], 0
jne 0x52679f
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x52677d
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x52679f
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x526795
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x52679f
call fcn.00403bec
lea edx, [ebp - 0x84]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5267b4
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
lea eax, [ebp - 0x5894]
mov edx, dword [ebp - 0x84]
mov cl, 0xfc
call fcn.00416704
lea ecx, [ebp - 0x5894]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5267f2
cmp eax, dword [ebp + 0x10]
jle 0x5267f7
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp 0x526838
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x526816
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x526838
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52682e
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x526838
call fcn.00403bec
add dword [ebp - 4], 4
jno 0x526843
call fcn.00403bec
jmp case.0x526728.265
cmp dword [ebp - 0xf4], 0
jle 0x5268f2
cmp byte [ebp - 0x15], 0
jne 0x52688c
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x52686a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x52688c
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x526882
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x52688c
call fcn.00403bec
lea edx, [ebp - 0x88]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5268a1
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld dword [ebp - 0x88]
lea eax, [ebp - 0x58a4]
call fcn.0041691c
lea ecx, [ebp - 0x58a4]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5268dd
cmp eax, dword [ebp + 0x10]
jle 0x5268e2
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp 0x526923
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x526901
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x526923
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x526919
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x526923
call fcn.00403bec
add dword [ebp - 4], 4
jno 0x52692e
call fcn.00403bec
jmp case.0x526728.265
cmp dword [ebp - 0xf4], 0
jle 0x5269dd
cmp byte [ebp - 0x15], 0
jne 0x526977
mov eax, dword [ebp - 4]
and eax, 0x80000007
jns 0x526955
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x526977
mov eax, 8
sub eax, dword [ebp - 0x20]
jno 0x52696d
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x526977
call fcn.00403bec
lea edx, [ebp - 0x90]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x52698c
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 8
call fcn.00402f98
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld qword [ebp - 0x90]
lea eax, [ebp - 0x58b4]
call fcn.0041691c
lea ecx, [ebp - 0x58b4]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5269c8
cmp eax, dword [ebp + 0x10]
jle 0x5269cd
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp 0x526a0e
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x5269ec
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x526a0e
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x526a04
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x526a0e
call fcn.00403bec
add dword [ebp - 4], 8
jno 0x526a19
call fcn.00403bec
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x526a55
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x526a33
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x526a55
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x526a4b
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x526a55
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x526a62
call fcn.00403be4
cmp dword [ebp + eax*4 - 0x49e4], 0
jle 0x526b4d
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x526a7d
call fcn.00403be4
mov ecx, dword [ebp + eax*4 - 0x49e4]
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x526a99
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
call fcn.00402f98
lea eax, [ebp - 0x58b8]
mov edx, dword [ebp - 0xb8]
call fcn.00404e50
mov edx, dword [ebp - 0x58b8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x526ac8
cmp eax, dword [ebp + 0x18]
jle 0x526acd
call fcn.00403be4
imul eax, eax, 2
jno 0x526ad7
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.00416958
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x526af6
cmp eax, dword [ebp + 0x18]
jle 0x526afb
call fcn.00403be4
imul eax, eax, 2
jno 0x526b05
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x526b17
cmp eax, dword [ebp + 0x10]
jle 0x526b1c
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x526b37
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x49e4]
add dword [ebp - 4], eax
jno 0x526b48
call fcn.00403bec
jmp case.0x526728.265
add dword [ebp - 4], 4
jno 0x526b58
call fcn.00403bec
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x526b94
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x526b72
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x526b94
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x526b8a
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x526b94
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x526ba1
call fcn.00403be4
cmp dword [ebp + eax*4 - 0x49e4], 0
jle 0x526c54
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x526bbb
cmp eax, dword [ebp + 0x18]
jle 0x526bc0
call fcn.00403be4
imul eax, eax, 2
jno 0x526bca
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x1c]
cmp edx, 0x27
jbe 0x526bdd
call fcn.00403be4
mov edx, dword [ebp + edx*4 - 0x4f60]
call fcn.00416958
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x526bfd
cmp eax, dword [ebp + 0x18]
jle 0x526c02
call fcn.00403be4
imul eax, eax, 2
jno 0x526c0c
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x526c1e
cmp eax, dword [ebp + 0x10]
jle 0x526c23
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x526c3e
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x49e4]
add dword [ebp - 4], eax
jno 0x526c4f
call fcn.00403bec
jmp case.0x526728.265
add dword [ebp - 4], 4
jno 0x526c5f
call fcn.00403bec
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x526c9b
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x526c79
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x526c9b
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x526c91
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x526c9b
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x526ca8
call fcn.00403be4
cmp dword [ebp + eax*4 - 0x49e4], 0
jle 0x526d93
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x526cc3
call fcn.00403be4
mov ecx, dword [ebp + eax*4 - 0x49e4]
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x526cdf
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
call fcn.00402f98
lea eax, [ebp - 0x58bc]
mov edx, dword [ebp - 0xbc]
call fcn.004055dc
mov edx, dword [ebp - 0x58bc]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x526d0e
cmp eax, dword [ebp + 0x18]
jle 0x526d13
call fcn.00403be4
imul eax, eax, 2
jno 0x526d1d
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.004169d4
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x526d3c
cmp eax, dword [ebp + 0x18]
jle 0x526d41
call fcn.00403be4
imul eax, eax, 2
jno 0x526d4b
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x526d5d
cmp eax, dword [ebp + 0x10]
jle 0x526d62
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x526d7d
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x49e4]
add dword [ebp - 4], eax
jno 0x526d8e
call fcn.00403bec
jmp case.0x526728.265
add dword [ebp - 4], 4
jno 0x526d9e
call fcn.00403bec
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x526dda
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x526db8
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x526dda
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x526dd0
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x526dda
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x526de7
call fcn.00403be4
cmp dword [ebp + eax*4 - 0x49e4], 0
jle 0x526e9a
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x526e01
cmp eax, dword [ebp + 0x18]
jle 0x526e06
call fcn.00403be4
imul eax, eax, 2
jno 0x526e10
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x1c]
cmp edx, 0x27
jbe 0x526e23
call fcn.00403be4
mov edx, dword [ebp + edx*4 - 0x5000]
call fcn.004169d4
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x526e43
cmp eax, dword [ebp + 0x18]
jle 0x526e48
call fcn.00403be4
imul eax, eax, 2
jno 0x526e52
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x526e64
cmp eax, dword [ebp + 0x10]
jle 0x526e69
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jbe 0x526e84
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x49e4]
add dword [ebp - 4], eax
jno 0x526e95
call fcn.00403bec
jmp case.0x526728.265
add dword [ebp - 4], 4
jno 0x526ea5
call fcn.00403bec
jmp case.0x526728.265
cmp dword [ebp - 0xf4], 0
jle 0x526f57
cmp byte [ebp - 0x15], 0
jne 0x526eee
mov eax, dword [ebp - 4]
and eax, 0x80000001
jns 0x526ecc
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x526eee
mov eax, 2
sub eax, dword [ebp - 0x20]
jno 0x526ee4
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x526eee
call fcn.00403bec
lea edx, [ebp - 0x92]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x526f03
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 2
call fcn.00402f98
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
lea eax, [ebp - 0x58cc]
movzx edx, word [ebp - 0x92]
mov cl, 2
call fcn.00416704
lea ecx, [ebp - 0x58cc]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x526f42
cmp eax, dword [ebp + 0x10]
jle 0x526f47
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp 0x526f88
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x526f66
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x526f88
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x526f7e
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x526f88
call fcn.00403bec
add dword [ebp - 4], 2
jno 0x526f93
call fcn.00403bec
jmp case.0x526728.265
cmp dword [ebp - 0xf4], 0
jle 0x527063
cmp byte [ebp - 0x15], 0
jne 0x526fdc
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x526fba
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x526fdc
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x526fd2
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x526fdc
call fcn.00403bec
lea edx, [ebp - 0x98]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x526ff1
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x587c], eax
xor eax, eax
mov dword [ebp - 0x5878], eax
fild qword [ebp - 0x587c]
fstp qword [ebp - 0xf0]
wait
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld qword [ebp - 0xf0]
lea eax, [ebp - 0x58dc]
call fcn.0041691c
lea ecx, [ebp - 0x58dc]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52704e
cmp eax, dword [ebp + 0x10]
jle 0x527053
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp 0x527094
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527072
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x527094
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52708a
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x527094
call fcn.00403bec
add dword [ebp - 4], 4
jno 0x52709f
call fcn.00403bec
jmp case.0x526728.265
cmp dword [ebp - 0xf4], 0
jle 0x527184
cmp byte [ebp - 0x15], 0
jne 0x5270e8
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x5270c6
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5270e8
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5270de
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5270e8
call fcn.00403bec
lea edx, [ebp - 0xe4]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5270fd
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52711a
cmp eax, dword [ebp + 0x18]
jle 0x52711f
call fcn.00403be4
imul eax, eax, 2
jno 0x527129
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xe4]
call fcn.00412624
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52714e
cmp eax, dword [ebp + 0x18]
jle 0x527153
call fcn.00403be4
imul eax, eax, 2
jno 0x52715d
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52716f
cmp eax, dword [ebp + 0x10]
jle 0x527174
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp 0x5271b5
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527193
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5271b5
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5271ab
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5271b5
call fcn.00403bec
add dword [ebp - 4], 4
jno 0x5271c0
call fcn.00403bec
jmp case.0x526728.265
cmp dword [ebp - 0xf4], 0
jle 0x527305
cmp byte [ebp - 0x15], 0
jne 0x527209
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x5271e7
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x527209
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5271ff
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x527209
call fcn.00403bec
lea edx, [ebp - 0xc0]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x52721e
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52723b
cmp eax, dword [ebp + 0x18]
jle 0x527240
call fcn.00403be4
imul eax, eax, 2
jno 0x52724a
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
movzx eax, ax
mov dword [ebp - 0x24], eax
test byte [ebp - 0x23], 0x20
je 0x5272bb
test byte [ebp - 0x23], 0x40
je 0x527293
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527273
cmp eax, dword [ebp + 0x18]
jle 0x527278
call fcn.00403be4
imul eax, eax, 2
jno 0x527282
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [ebp - 0xc0]
mov dword [eax], edx
jmp 0x5272bb
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52729f
cmp eax, dword [ebp + 0x18]
jle 0x5272a4
call fcn.00403be4
imul eax, eax, 2
jno 0x5272ae
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0xc0]
mov dword [edx + eax*8 + 8], ecx
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5272cf
cmp eax, dword [ebp + 0x18]
jle 0x5272d4
call fcn.00403be4
imul eax, eax, 2
jno 0x5272de
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5272f0
cmp eax, dword [ebp + 0x10]
jle 0x5272f5
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp 0x527336
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527314
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x527336
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52732c
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x527336
call fcn.00403bec
add dword [ebp - 4], 4
jno 0x527341
call fcn.00403bec
jmp case.0x526728.265
cmp dword [ebp - 0xf4], 0
jle 0x5273b3
lea edx, [ebp - 0x7d]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x527361
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 1
call fcn.00402f98
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
lea eax, [ebp - 0x58ec]
xor edx, edx
mov dl, byte [ebp - 0x7d]
mov cl, 1
call fcn.00416704
lea ecx, [ebp - 0x58ec]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52739e
cmp eax, dword [ebp + 0x10]
jle 0x5273a3
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp 0x5273e4
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x5273c2
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5273e4
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5273da
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5273e4
call fcn.00403bec
add dword [ebp - 4], 1
jno 0x5273ef
call fcn.00403bec
jmp case.0x526728.265
cmp dword [ebp - 0xf4], 0
jle 0x527476
lea edx, [ebp - 0xb1]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x527412
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 1
call fcn.00402f98
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov al, byte [ebp - 0xb1]
mov byte [ebp - 0x587f], al
mov byte [ebp - 0x5880], 1
lea eax, [ebp - 0x58fc]
lea edx, [ebp - 0x5880]
call fcn.00416984
lea ecx, [ebp - 0x58fc]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527461
cmp eax, dword [ebp + 0x10]
jle 0x527466
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp 0x5274a7
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527485
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5274a7
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52749d
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5274a7
call fcn.00403bec
add dword [ebp - 4], 1
jno 0x5274b2
call fcn.00403bec
jmp case.0x526728.265
cmp dword [ebp - 0xf4], 0
jle 0x527564
cmp byte [ebp - 0x15], 0
jne 0x5274fb
mov eax, dword [ebp - 4]
and eax, 0x80000001
jns 0x5274d9
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5274fb
mov eax, 2
sub eax, dword [ebp - 0x20]
jno 0x5274f1
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5274fb
call fcn.00403bec
lea edx, [ebp - 0xb4]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x527510
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 2
call fcn.00402f98
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
lea eax, [ebp - 0x590c]
movzx edx, word [ebp - 0xb4]
mov cl, 2
call fcn.00416704
lea ecx, [ebp - 0x590c]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52754f
cmp eax, dword [ebp + 0x10]
jle 0x527554
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp 0x527595
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527573
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x527595
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52758b
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x527595
call fcn.00403bec
add dword [ebp - 4], 2
jno 0x5275a0
call fcn.00403bec
jmp case.0x526728.265
cmp dword [ebp - 0xf4], 0
jle 0x52765c
cmp byte [ebp - 0x15], 0
jne 0x5275e9
mov eax, dword [ebp - 4]
and eax, 0x80000007
jns 0x5275c7
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5275e9
mov eax, 8
sub eax, dword [ebp - 0x20]
jno 0x5275df
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5275e9
call fcn.00403bec
lea edx, [ebp - 0xa0]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5275fe
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 8
call fcn.00402f98
fild qword [ebp - 0xa0]
fstp qword [ebp - 0x90]
wait
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld qword [ebp - 0x90]
lea eax, [ebp - 0x591c]
call fcn.0041691c
lea ecx, [ebp - 0x591c]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527647
cmp eax, dword [ebp + 0x10]
jle 0x52764c
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp 0x52768d
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x52766b
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x52768d
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x527683
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x52768d
call fcn.00403bec
add dword [ebp - 4], 8
jno 0x527698
call fcn.00403bec
jmp case.0x526728.265
cmp dword [ebp - 0xf4], 0
jle 0x527747
cmp byte [ebp - 0x15], 0
jne 0x5276e1
mov eax, dword [ebp - 4]
and eax, 0x80000007
jns 0x5276bf
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5276e1
mov eax, 8
sub eax, dword [ebp - 0x20]
jno 0x5276d7
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5276e1
call fcn.00403bec
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5276f6
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 0xa
call fcn.00402f98
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
fld xword [ebp - 0xb0]
lea eax, [ebp - 0x592c]
call fcn.0041691c
lea ecx, [ebp - 0x592c]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527732
cmp eax, dword [ebp + 0x10]
jle 0x527737
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp 0x527778
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527756
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x527778
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52776e
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x527778
call fcn.00403bec
add dword [ebp - 4], 0xa
jno 0x527783
call fcn.00403bec
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x5277bf
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x52779d
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5277bf
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5277b5
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5277bf
call fcn.00403bec
lea edx, [ebp - 0xc8]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5277d4
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x5277f0
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5277fc
cmp eax, dword [ebp + 0x18]
jle 0x527801
call fcn.00403be4
imul eax, eax, 2
jno 0x52780b
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xc8]
mov edx, dword [edx]
mov cl, 0xfc
call fcn.00416704
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527834
cmp eax, dword [ebp + 0x18]
jle 0x527839
call fcn.00403be4
imul eax, eax, 2
jno 0x527843
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527855
cmp eax, dword [ebp + 0x10]
jle 0x52785a
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x5278a4
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527882
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5278a4
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52789a
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5278a4
call fcn.00403bec
lea edx, [ebp - 0xcc]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5278b9
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x5278d5
call fcn.00403bec
mov eax, dword [ebp - 0xcc]
fld dword [eax]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5278e9
cmp eax, dword [ebp + 0x18]
jle 0x5278ee
call fcn.00403be4
imul eax, eax, 2
jno 0x5278f8
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.0041691c
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527917
cmp eax, dword [ebp + 0x18]
jle 0x52791c
call fcn.00403be4
imul eax, eax, 2
jno 0x527926
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527938
cmp eax, dword [ebp + 0x10]
jle 0x52793d
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x527987
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527965
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x527987
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x52797d
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x527987
call fcn.00403bec
lea edx, [ebp - 0xd0]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x52799c
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x5279b8
call fcn.00403bec
mov eax, dword [ebp - 0xd0]
fld qword [eax]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5279cc
cmp eax, dword [ebp + 0x18]
jle 0x5279d1
call fcn.00403be4
imul eax, eax, 2
jno 0x5279db
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.0041691c
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5279fa
cmp eax, dword [ebp + 0x18]
jle 0x5279ff
call fcn.00403be4
imul eax, eax, 2
jno 0x527a09
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527a1b
cmp eax, dword [ebp + 0x10]
jle 0x527a20
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x527a6a
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527a48
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x527a6a
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x527a60
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x527a6a
call fcn.00403bec
lea edx, [ebp - 0xb8]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x527a7f
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x527a9b
call fcn.00403bec
lea eax, [ebp - 0x5930]
mov edx, dword [ebp - 0xb8]
call fcn.00404e50
mov edx, dword [ebp - 0x5930]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527abe
cmp eax, dword [ebp + 0x18]
jle 0x527ac3
call fcn.00403be4
imul eax, eax, 2
jno 0x527acd
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.00416958
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527aec
cmp eax, dword [ebp + 0x18]
jle 0x527af1
call fcn.00403be4
imul eax, eax, 2
jno 0x527afb
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527b0d
cmp eax, dword [ebp + 0x10]
jle 0x527b12
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x527b5c
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527b3a
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x527b5c
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x527b52
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x527b5c
call fcn.00403bec
add dword [ebp - 4], 4
jno 0x527b67
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527b73
cmp eax, dword [ebp + 0x18]
jle 0x527b78
call fcn.00403be4
imul eax, eax, 2
jno 0x527b82
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x1c]
cmp edx, 0x27
jbe 0x527b95
call fcn.00403be4
mov edx, dword [ebp + edx*4 - 0x4f60]
call fcn.00416958
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527bb5
cmp eax, dword [ebp + 0x18]
jle 0x527bba
call fcn.00403be4
imul eax, eax, 2
jno 0x527bc4
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527bd6
cmp eax, dword [ebp + 0x10]
jle 0x527bdb
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x527c25
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527c03
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x527c25
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x527c1b
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x527c25
call fcn.00403bec
lea edx, [ebp - 0xbc]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x527c3a
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x527c56
call fcn.00403bec
lea eax, [ebp - 0x5934]
mov edx, dword [ebp - 0xbc]
call fcn.004055dc
mov edx, dword [ebp - 0x5934]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527c79
cmp eax, dword [ebp + 0x18]
jle 0x527c7e
call fcn.00403be4
imul eax, eax, 2
jno 0x527c88
call fcn.00403bec
mov ecx, dword [ebp + 0x1c]
lea eax, [ecx + eax*8]
call fcn.004169d4
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527ca7
cmp eax, dword [ebp + 0x18]
jle 0x527cac
call fcn.00403be4
imul eax, eax, 2
jno 0x527cb6
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527cc8
cmp eax, dword [ebp + 0x10]
jle 0x527ccd
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x527d17
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527cf5
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x527d17
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x527d0d
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x527d17
call fcn.00403bec
add dword [ebp - 4], 4
jno 0x527d22
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527d2e
cmp eax, dword [ebp + 0x18]
jle 0x527d33
call fcn.00403be4
imul eax, eax, 2
jno 0x527d3d
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x1c]
cmp edx, 0x27
jbe 0x527d50
call fcn.00403be4
mov edx, dword [ebp + edx*4 - 0x5000]
call fcn.004169d4
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527d70
cmp eax, dword [ebp + 0x18]
jle 0x527d75
call fcn.00403be4
imul eax, eax, 2
jno 0x527d7f
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527d91
cmp eax, dword [ebp + 0x10]
jle 0x527d96
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x527de0
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527dbe
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x527de0
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x527dd6
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x527de0
call fcn.00403bec
lea edx, [ebp - 0xd4]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x527df5
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x527e11
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527e1d
cmp eax, dword [ebp + 0x18]
jle 0x527e22
call fcn.00403be4
imul eax, eax, 2
jno 0x527e2c
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xd4]
movzx edx, word [edx]
mov cl, 2
call fcn.00416704
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527e56
cmp eax, dword [ebp + 0x18]
jle 0x527e5b
call fcn.00403be4
imul eax, eax, 2
jno 0x527e65
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527e77
cmp eax, dword [ebp + 0x10]
jle 0x527e7c
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x527ec6
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527ea4
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x527ec6
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x527ebc
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x527ec6
call fcn.00403bec
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x527edb
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x527ef7
call fcn.00403bec
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax]
mov dword [ebp - 0x587c], eax
xor eax, eax
mov dword [ebp - 0x5878], eax
fild qword [ebp - 0x587c]
fstp qword [ebp - 0xf0]
wait
fld qword [ebp - 0xf0]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527f2c
cmp eax, dword [ebp + 0x18]
jle 0x527f31
call fcn.00403be4
imul eax, eax, 2
jno 0x527f3b
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.0041691c
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527f5a
cmp eax, dword [ebp + 0x18]
jle 0x527f5f
call fcn.00403be4
imul eax, eax, 2
jno 0x527f69
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x527f7b
cmp eax, dword [ebp + 0x10]
jle 0x527f80
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x527fca
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x527fa8
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x527fca
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x527fc0
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x527fca
call fcn.00403bec
lea edx, [ebp - 0xe4]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x527fdf
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x527ffb
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x528007
cmp eax, dword [ebp + 0x18]
jle 0x52800c
call fcn.00403be4
imul eax, eax, 2
jno 0x528016
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xe4]
call fcn.00412624
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52803b
cmp eax, dword [ebp + 0x18]
jle 0x528040
call fcn.00403be4
imul eax, eax, 2
jno 0x52804a
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52805c
cmp eax, dword [ebp + 0x10]
jle 0x528061
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x5280ab
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x528089
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5280ab
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5280a1
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5280ab
call fcn.00403bec
lea edx, [ebp - 0xc0]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5280c0
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x5280dc
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x5280e8
cmp eax, dword [ebp + 0x18]
jle 0x5280ed
call fcn.00403be4
imul eax, eax, 2
jno 0x5280f7
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.00418f84
movzx eax, ax
mov dword [ebp - 0x24], eax
test byte [ebp - 0x23], 0x20
je 0x528168
test byte [ebp - 0x23], 0x40
je 0x528140
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x528120
cmp eax, dword [ebp + 0x18]
jle 0x528125
call fcn.00403be4
imul eax, eax, 2
jno 0x52812f
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [ebp - 0xc0]
mov dword [eax], edx
jmp 0x528168
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52814c
cmp eax, dword [ebp + 0x18]
jle 0x528151
call fcn.00403be4
imul eax, eax, 2
jno 0x52815b
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0xc0]
mov dword [edx + eax*8 + 8], ecx
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52817c
cmp eax, dword [ebp + 0x18]
jle 0x528181
call fcn.00403be4
imul eax, eax, 2
jno 0x52818b
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52819d
cmp eax, dword [ebp + 0x10]
jle 0x5281a2
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x5281ec
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x5281ca
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5281ec
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5281e2
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5281ec
call fcn.00403bec
lea edx, [ebp - 0xc4]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x528201
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x52821d
call fcn.00403bec
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x528229
cmp eax, dword [ebp + 0x18]
jle 0x52822e
call fcn.00403be4
imul eax, eax, 2
jno 0x528238
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0xc4]
movzx edx, byte [edx]
mov cl, 1
call fcn.00416704
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x528262
cmp eax, dword [ebp + 0x18]
jle 0x528267
call fcn.00403be4
imul eax, eax, 2
jno 0x528271
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x528283
cmp eax, dword [ebp + 0x10]
jle 0x528288
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x5282d2
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x5282b0
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5282d2
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5282c8
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5282d2
call fcn.00403bec
lea edx, [ebp - 0xdc]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5282e7
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x528303
call fcn.00403bec
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax]
mov dword [ebp - 0xa0], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x9c], edx
fild qword [ebp - 0xa0]
fstp qword [ebp - 0x90]
wait
fld qword [ebp - 0x90]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x528339
cmp eax, dword [ebp + 0x18]
jle 0x52833e
call fcn.00403be4
imul eax, eax, 2
jno 0x528348
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.0041691c
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x528367
cmp eax, dword [ebp + 0x18]
jle 0x52836c
call fcn.00403be4
imul eax, eax, 2
jno 0x528376
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x528388
cmp eax, dword [ebp + 0x10]
jle 0x52838d
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp case.0x526728.265
cmp byte [ebp - 0x15], 0
jne 0x5283d7
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x5283b5
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5283d7
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5283cd
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5283d7
call fcn.00403bec
lea edx, [ebp - 0xe0]
mov eax, dword [ebp - 4]
cmp eax, 0x7ff
jbe 0x5283ec
call fcn.00403be4
lea eax, [ebp + eax - 0x904]
mov ecx, 4
call fcn.00402f98
add dword [ebp - 4], 4
jno 0x528408
call fcn.00403bec
mov eax, dword [ebp - 0xe0]
fld xword [eax]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52841c
cmp eax, dword [ebp + 0x18]
jle 0x528421
call fcn.00403be4
imul eax, eax, 2
jno 0x52842b
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + eax*8]
call fcn.0041691c
mov eax, dword [ebp + 0xc]
push eax
push 1
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52844a
cmp eax, dword [ebp + 0x18]
jle 0x52844f
call fcn.00403be4
imul eax, eax, 2
jno 0x528459
call fcn.00403bec
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*8]
mov eax, dword [ebp - 0x1c]
test eax, eax
jl 0x52846b
cmp eax, dword [ebp + 0x10]
jle 0x528470
call fcn.00403be4
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xc]
call fcn.004e1638
jmp case.0x526728.265
cmp dword [ebp - 0xf8], 0
jge 0x52849f
xor eax, eax
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x4944], eax
jmp 0x5284d0
mov eax, dword [ebp - 0xf4]
cmp eax, 7
jbe 0x5284af
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x4924]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, 7
jbe 0x5284c6
call fcn.00403be4
mov edx, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x4944], edx
add dword [ebp - 0xf8], 1
jno 0x5284de
call fcn.00403bec
add dword [ebp - 0xf4], 1
jno 0x5284ec
call fcn.00403bec
mov eax, dword [ebp - 0xf4]
cmp eax, 7
jbe 0x5284fc
call fcn.00403be4
mov edx, dword [ebp - 0xf8]
mov dword [ebp + eax*4 - 0x4924], edx
xor eax, eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xf8]
cmp eax, 7
jbe 0x52851e
call fcn.00403be4
imul eax, eax, 0x100
jno 0x52852b
call fcn.00403bec
lea eax, [ebp + eax*8 - 0x4904]
lea edx, [ebp - 0x904]
mov ecx, 0x800
call fcn.00402f98
sub dword [ebp - 0x1c], 1
jno 0x52854d
call fcn.00403bec
jmp case.0x526728.265
mov eax, dword [ebp - 0xf4]
cmp eax, 7
jbe 0x528562
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x4924]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, 7
jbe 0x528579
call fcn.00403be4
mov edx, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x4944], edx
sub dword [ebp - 0xf4], 1
jno 0x528591
call fcn.00403bec
mov eax, dword [ebp - 0xf4]
cmp eax, 7
jbe 0x5285a1
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x4924]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, 7
jbe 0x5285b8
call fcn.00403be4
mov eax, dword [ebp + eax*4 - 0x4944]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
and eax, 0x80000003
jns 0x5285d1
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x5285f3
mov eax, 4
sub eax, dword [ebp - 0x20]
jno 0x5285e9
call fcn.00403bec
add dword [ebp - 4], eax
jno 0x5285f3
call fcn.00403bec
add dword [ebp - 4], 4
jno 0x5285fe
call fcn.00403bec
mov eax, dword [ebp - 0x24]
cmp eax, 7
jbe 0x52860b
call fcn.00403be4
mov edx, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x4944], edx
mov eax, dword [ebp - 0x24]
cmp eax, 7
jbe 0x528622
call fcn.00403be4
imul eax, eax, 0x100
jno 0x52862f
call fcn.00403bec
lea eax, [ebp + eax*8 - 0x4904]
lea edx, [ebp - 0x904]
mov ecx, 0x800
call fcn.00402f98
sub dword [ebp - 0x1c], 1
jno case.0x526728.265
call fcn.00403bec
add dword [ebp - 0x1c], 1
jno 0x52865c
call fcn.00403bec
jmp 0x5265b3
push 0
push 0
lea eax, [ebp - 0x593c]
mov ecx, dword [ebp - 0x10]
mov edx, 0x5289ec
call fcn.00404f84
mov edx, dword [ebp - 0x593c]
lea eax, [ebp - 0x5938]
call fcn.0040564c
mov edx, dword [ebp - 0x5938]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xc]
call fcn.004e07c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x528857
lea eax, [ebp - 0x593c]
call fcn.00404c58
lea eax, [ebp - 0x5938]
mov edx, 2
call fcn.00405498
lea eax, [ebp - 0x5930]
call fcn.00404c58
lea eax, [ebp - 0x592c]
mov edx, dword [0x40110c]
mov ecx, 7
call fcn.00405b5c
lea eax, [ebp - 0x58bc]
call fcn.00405480
lea eax, [ebp - 0x58b8]
call fcn.00404c58
lea eax, [ebp - 0x58b4]
mov edx, dword [0x40110c]
mov ecx, 3
call fcn.00405b5c
lea eax, [ebp - 0x5884]
call fcn.00405480
lea eax, [ebp - 0x5874]
call fcn.00405480
lea eax, [ebp - 0x5870]
call fcn.00404c58
lea eax, [ebp - 0x586c]
call fcn.00405480
lea eax, [ebp - 0x5868]
call fcn.00404c58
lea eax, [ebp - 0x5864]
mov edx, 6
call fcn.00405498
lea eax, [ebp - 0x584c]
call fcn.00404c58
lea eax, [ebp - 0x5848]
mov edx, 2
call fcn.00405498
lea eax, [ebp - 0x5840]
mov edx, 3
call fcn.00404c7c
lea eax, [ebp - 0x5834]
mov edx, 3
call fcn.00405498
lea eax, [ebp - 0x5828]
call fcn.00404c58
lea eax, [ebp - 0x5824]
call fcn.0041220c
lea eax, [ebp - 0x5814]
mov edx, 2
call fcn.00404c7c
lea eax, [ebp - 0x580c]
mov edx, 3
call fcn.00405498
lea eax, [ebp - 0x5800]
call fcn.00404c58
lea eax, [ebp - 0x57fc]
call fcn.0041220c
lea eax, [ebp - 0x57ec]
mov edx, 7
call fcn.00405498
lea eax, [ebp - 0x5410]
mov ecx, 0x28
mov edx, dword [0x40111c]
call fcn.00405b5c
lea eax, [ebp - 0x5000]
mov ecx, 0x28
mov edx, dword [0x4010fc]
call fcn.00405b5c
lea eax, [ebp - 0x4f60]
mov ecx, 0x28
mov edx, dword [0x4010f0]
call fcn.00405b5c
lea eax, [ebp - 0x40]
mov edx, 6
call fcn.00405498
lea eax, [ebp - 0x14]
call fcn.00405480
lea eax, [ebp - 0x10]
call fcn.00404c58
ret