Function at 0x508a94
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffef8
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x50c6f1
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x6c]
add eax, 0xa8
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x60]
mov dword [ebp - 0x44], eax
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 1
jne 0x508ae3
imul eax, dword [ebp - 0x24], 0xdc
mov dword [ebp - 0x50], eax
mov eax, 0xb
sub eax, dword [ebp - 0x78]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x18]
mov edx, 0x50c710
call fcn.0040a01c
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
mov byte [ebp - 9], 0
mov eax, dword [0x5349e0]
mov dword [0x534864], eax
mov eax, dword [0x534974]
mov dword [0x534874], eax
mov eax, dword [0x534884]
add eax, 0xda
cmp eax, dword [0x53490c]
jge 0x508b77
mov eax, dword [0x53487c]
mov dword [0x53489c], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x54]
shl eax, 2
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xf
jne 0x508b5b
mov eax, dword [0x534a28]
mov dword [0x5348fc], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jge 0x508b97
inc dword [ebp - 0x50]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x50], 0
jl 0x508b88
mov eax, dword [0x534a08]
mov dword [0x5349d0], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx]
cmp edx, 0
jne 0x508e20
cmp eax, 0
jne 0x508e20
mov edx, 0x53497c
mov eax, 0x5349e8
call fcn.00503608
mov dword [ebp - 0x28], eax
mov eax, dword [0x5348ac]
sub eax, dword [0x534934]
mov edx, dword [0x5348a4]
sub edx, dword [0x534934]
cmp eax, edx
jle 0x508c02
mov eax, dword [0x5348d4]
call fcn.004071f4
mov dword [0x5348d4], eax
mov eax, dword [0x5349e0]
mov dword [0x5348dc], eax
jmp 0x508c22
mov eax, 0xc5
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x34], 0x2a
mov dword [ebp - 0x54], eax
inc dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xd
jne 0x508c12
mov eax, dword [ebp - 0x5c]
add eax, 0x90
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x60]
add eax, 4
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.00407638
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x24]
imul dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x64], eax
mov byte [ebp - 9], 1
mov eax, dword [ebp - 0x68]
sub eax, 0xec
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x5349d8]
add eax, 0xbf
cmp eax, dword [0x534a40]
jge 0x508cf1
xor eax, eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0xe
jge 0x508cd7
inc dword [ebp - 0x58]
mov eax, dword [0x534a38]
mov dword [0x534a40], eax
mov eax, dword [0x5349d8]
mov dword [0x534a50], eax
mov eax, dword [0x534a50]
cmp eax, dword [0x534a40]
jle 0x508cd7
push 0x534864
push 0x5349f8
lea ecx, [ebp - 0x78]
lea edx, [ebp - 0x68]
lea eax, [ebp - 0x40]
call fcn.00505f50
mov dword [0x5348e4], eax
jmp 0x508cd7
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 8
jge 0x508cf1
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x40], 8
jl 0x508ce2
mov eax, 0x1b
sub eax, dword [0x534a00]
cmp eax, 0x20
jge 0x508d39
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x3c]
jle 0x508d2c
xor eax, eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 3
jge 0x508d53
inc dword [ebp - 0x78]
lea eax, [ebp - 0x10]
mov edx, 0x50c734
call fcn.0040a01c
cmp dword [ebp - 0x78], 3
jl 0x508d14
jmp 0x508d53
fild dword [ebp - 0x64]
call fcn.00407638
mov dword [ebp - 0x38], eax
jmp 0x508d53
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.00407638
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x24]
cmp eax, edx
jle 0x508d87
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x508d87
inc dword [ebp - 0x20]
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
cmp dword [ebp - 0x20], 4
jl 0x508d73
inc dword [ebp - 0x60]
cmp dword [ebp - 0x60], 7
jne 0x508d58
imul eax, dword [0x534934], 0x33
mov dword [0x53497c], eax
jmp 0x50c6d6
xor eax, eax
push ebp
push 0x50c53c
push dword fs:[eax]
mov dword fs:[eax], esp
push 0xf0000000
push 1
push 0
push 0
lea eax, [ebp - 0x84]
push eax
call dword [0x534910]
test eax, eax
je 0x50c3de
mov eax, dword [0x5348ec]
call fcn.004071f4
mov dword [0x5348ec], eax
mov eax, dword [0x5349d0]
mov dword [0x534904], eax
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x34]
sub eax, 0x20
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x70]
sub eax, 0xb2
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
xor eax, eax
push ebp
push 0x50c308
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x88]
push eax
push 0
push 0
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 0x84]
push eax
call dword [0x534928]
test eax, eax
je 0x50c1ee
mov eax, dword [ebp - 0x5c]
add eax, 0x54
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x2c]
add eax, 0xd9
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x64]
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0xb
jge 0x508f27
inc dword [ebp - 0x78]
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 4
jge 0x508f21
inc dword [ebp - 0x6c]
lea eax, [ebp - 0x10]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.0040abd8
cmp dword [ebp - 0x6c], 4
jl 0x508f02
cmp dword [ebp - 0x78], 0xb
jl 0x508ef4
lea eax, [ebp - 0x10]
mov edx, 0x50c754
call fcn.0040a01c
xor eax, eax
mov dword [ebp - 0x40], eax
mov eax, 0xe2
sub eax, dword [ebp - 0x70]
mov dword [ebp - 0x48], eax
jmp 0x508f4f
xor eax, eax
push ebp
push 0x50c0dd
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
jge 0x508f91
inc dword [ebp - 0x6c]
lea eax, [ebp - 0x10]
mov edx, 0x50c7a8
call fcn.0040a01c
imul eax, dword [ebp - 0x5c], 0xe5
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
add eax, 0x18
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x6c], 0
jl 0x508f68
mov eax, dword [ebp - 0x3c]
imul dword [ebp - 0x68]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x78]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x18]
mov edx, 0x50c7cc
call fcn.0040a01c
mov eax, dword [0x5349f8]
add eax, 0xe6
cmp eax, dword [0x5349d0]
jge 0x508fe3
xor eax, eax
mov dword [ebp - 0x74], eax
mov eax, dword [0x534964]
mov dword [0x53486c], eax
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 4
jne 0x508fd0
push 0xf0000000
push 0x18
push 0
push 0
lea eax, [ebp - 0x7c]
push eax
call dword [0x534910]
test eax, eax
je 0x50bf0a
mov eax, dword [0x5349d0]
call fcn.004071f4
mov dword [0x5349d0], eax
mov eax, dword [0x534984]
mov dword [0x5349d8], eax
mov eax, dword [0x5349d0]
cmp eax, dword [0x5349d8]
jge 0x5090cf
xor eax, eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x10]
mov edx, 0x50c7f4
call fcn.0040a01c
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 0xd
jne 0x50902f
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x509068
mov eax, dword [ebp - 0xa8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0xd5
jle 0x509081
mov eax, dword [ebp - 0x64]
add eax, 0xcf
mov dword [ebp - 0x38], eax
jmp 0x50908c
mov eax, dword [ebp - 0x54]
add eax, 0xe5
mov dword [ebp - 0x50], eax
xor eax, eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xd
jge 0x5090c6
inc dword [ebp - 0x6c]
lea eax, [ebp - 0x10]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.0040abd8
cmp dword [ebp - 0x6c], 0xd
jl 0x50909c
jmp 0x5090c6
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x68]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x34]
push eax
push 0x5349bc
mov ecx, 0x5348dc
lea edx, [ebp - 0x70]
mov eax, 0x534884
call fcn.004f80d8
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 1
jge 0x50912e
inc dword [ebp - 0x60]
xor eax, eax
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.0040abd8
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], 1
jne 0x509100
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x78]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x60], 1
jl 0x5090f8
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xf
jge 0x50916b
inc dword [ebp - 0x24]
mov eax, dword [0x534974]
add eax, 4
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.00407638
mov dword [0x534a30], eax
cmp dword [ebp - 0x24], 0xf
jl 0x509144
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
je 0x50918e
mov eax, dword [ebp - 0xac]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x3b
jle 0x5091a3
call fcn.004f88d8
mov dword [0x53493c], eax
jmp 0x5091b3
mov eax, dword [0x5349b4]
sub eax, dword [0x5348f4]
mov dword [0x534984], eax
mov eax, dword [0x534a00]
add eax, 0x93
cmp eax, dword [0x5348dc]
jge 0x5091e0
xor eax, eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x10]
mov edx, 0x50c824
call fcn.0040a01c
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 0xd
jne 0x5091ca
imul eax, dword [ebp - 0x78], 0x9b
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.00407638
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x48], eax
imul eax, dword [ebp - 0x24], 0x6d
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x54]
add eax, 0x6d
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x60], eax
xor eax, eax
push ebp
push 0x50be2b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [0x53494c]
mov eax, dword [0x534964]
call fcn.0050899c
mov eax, 0xea
sub eax, dword [ebp - 0x74]
cmp eax, 0x1b
jge 0x509319
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x4c]
jne 0x509291
mov eax, 0x79
sub eax, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
jmp 0x5092ca
xor eax, eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 3
jge 0x5092c0
inc dword [ebp - 0x70]
mov ecx, dword [0x5348cc]
mov edx, dword [0x534a38]
mov eax, dword [0x53497c]
call fcn.00505c84
mov dword [0x534a00], eax
cmp dword [ebp - 0x70], 3
jl 0x50929c
imul eax, dword [ebp - 0x50], 0xcf
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x18]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.0040abd8
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 9
jge 0x509319
inc dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xf
jge 0x509319
inc dword [ebp - 0x6c]
mov eax, dword [0x53488c]
call fcn.004071f4
mov dword [0x53488c], eax
cmp dword [ebp - 0x6c], 0xf
jl 0x5092f9
jmp 0x509319
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x64]
jne 0x509348
xor eax, eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 0xe
jne 0x509334
inc dword [ebp - 0x60]
cmp dword [ebp - 0x60], 9
jne 0x509324
mov eax, dword [0x53497c]
mov dword [0x5348fc], eax
mov eax, dword [0x5348cc]
mov dword [0x53492c], eax
mov eax, dword [0x5348fc]
cmp eax, dword [0x53492c]
jle 0x50938e
mov eax, dword [ebp - 0x24]
add eax, 0xa4
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [0x5348c4]
push eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [0x5349ac]
mov eax, dword [0x5348b4]
call fcn.00502054
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx]
sub eax, 0x80
sbb edx, 0
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
mov eax, dword [ebp - 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
mov eax, pe_nt_image_headers32
call fcn.00406e0c
mov dword [ebp - 0x90], eax
imul eax, dword [ebp - 0x58], 0xe9
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.00407638
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 9
jge 0x509450
inc dword [ebp - 0x6c]
mov eax, dword [0x534974]
mov dword [0x53486c], eax
mov eax, dword [ebp - 0x24]
add eax, 0xb
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x6c], 9
jl 0x50942b
mov eax, dword [0x5348ac]
mov dword [0x53493c], eax
mov eax, dword [0x534a08]
mov dword [0x53495c], eax
mov eax, dword [0x5349b4]
mov dword [0x53496c], eax
mov eax, dword [0x53496c]
cmp eax, dword [0x53495c]
jge 0x5094af
mov eax, dword [0x534a00]
mov dword [0x5349c4], eax
mov eax, dword [0x5349c4]
cmp eax, dword [0x53495c]
jge 0x5094af
xor eax, eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0xf
jge 0x5094af
inc dword [ebp - 0x70]
mov eax, dword [ebp - 0x54]
imul dword [ebp - 0x40]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x70], 0xf
jl 0x50949d
xor eax, eax
push ebp
push 0x50bc9d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x534a08]
mov dword [0x534864], eax
mov eax, dword [0x53487c]
call fcn.004071f4
mov dword [0x53487c], eax
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.0040abd8
mov eax, dword [ebp - 0x44]
add eax, 0xff
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x14]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.0040abd8
xor eax, eax
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
call fcn.0040a01c
lea eax, [ebp - 0x5c]
push eax
push 0x53496c
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x50]
lea eax, [ebp - 0x40]
call fcn.00505f50
mov dword [0x534874], eax
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0xd
jge 0x509576
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
add eax, 0xf3
mov dword [ebp - 0x4c], eax
jmp 0x509576
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], 0xc
jne 0x50951b
mov eax, dword [0x534984]
mov dword [0x534a08], eax
xor eax, eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 4
jge 0x5095cf
inc dword [ebp - 0x74]
push 0x5348fc
push 0x5348c4
mov ecx, 0x53498c
mov edx, 0x5349e8
mov eax, 0x5349c4
call fcn.004f80d8
mov dword [0x53495c], eax
mov eax, dword [0x5348bc]
call fcn.004071f4
mov dword [0x5348bc], eax
cmp dword [ebp - 0x74], 4
jl 0x509594
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xb
jge 0x5095f5
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x2c]
imul dword [ebp - 0x6c]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x40], 0xb
jl 0x5095da
mov eax, dword [ebp - 0x1c]
mov edx, 0x50c848
call fcn.0040aba0
jne 0x50960e
mov eax, dword [0x534a48]
mov dword [0x53487c], eax
mov eax, dword [ebp - 0x58]
add eax, 0x8c
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x90]
mov ecx, 0x80
mov eax, dword [ebp - 8]
call fcn.004a8730
xor eax, eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 8
jge 0x509660
inc dword [ebp - 0x70]
mov eax, dword [0x53487c]
call fcn.004071f4
mov dword [0x53487c], eax
cmp dword [ebp - 0x70], 8
jl 0x509648
mov eax, dword [ebp - 0x5c]
add eax, 0x53
mov dword [ebp - 0x34], eax
mov eax, dword [0x53489c]
mov dword [0x5348e4], eax
mov eax, dword [ebp - 0x38]
add eax, 0xd4
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x78], eax
mov eax, dword [0x534884]
push eax
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [0x53493c]
push eax
mov ecx, dword [0x534a00]
mov edx, dword [0x5348d4]
mov eax, dword [0x534964]
call fcn.00502054
mov eax, 0x5c
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx]
sub eax, 0x84
sbb edx, 0
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
mov eax, dword [ebp - 8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
lea eax, [ebp - 0x10]
mov edx, 0x50c86c
call fcn.0040a01c
imul eax, dword [ebp - 0x44], 0xe2
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x3c]
jge 0x509778
mov eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x5c]
jne 0x50975c
xor eax, eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 2
jge 0x509781
inc dword [ebp - 0x68]
mov eax, dword [0x5349e8]
mov dword [0x534874], eax
cmp dword [ebp - 0x68], 2
jl 0x509747
jmp 0x509781
mov eax, dword [ebp - 0x38]
add eax, 0x3d
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x3c], eax
jmp 0x509781
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x60], eax
imul eax, dword [ebp - 0x58], 0xb7
mov dword [ebp - 0x20], eax
mov eax, dword [0x53493c]
add eax, 0xcb
mov dword [0x534904], eax
lea eax, [ebp - 0x14]
mov edx, 0x50c89c
call fcn.0040a01c
lea edx, [ebp - 0xa4]
mov ecx, 4
mov eax, dword [ebp - 8]
call fcn.004a8730
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x50]
cmp eax, 0xff
jge 0x5097e3
mov eax, dword [ebp - 0x74]
imul dword [ebp - 0x28]
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 5
jge 0x50981e
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x2c]
add eax, 0x8c
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
cmp dword [ebp - 0x40], 5
jl 0x5097ee
xor eax, eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0xc
jge 0x509857
inc dword [ebp - 0x68]
mov eax, dword [0x53486c]
call fcn.004071f4
mov dword [0x53486c], eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.0040abd8
cmp dword [ebp - 0x68], 0xc
jl 0x509829
mov eax, dword [0x53490c]
mov dword [0x5348c4], eax
mov eax, dword [0x53486c]
cmp eax, dword [0x5348c4]
jle 0x509873
xor eax, eax
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x50], eax
mov eax, dword [0x53486c]
mov dword [0x5349bc], eax
jmp 0x50988d
mov dword [ebp - 0x8c], 0x80
mov eax, dword [ebp - 0x68]
add eax, 0xb
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [0x5348a4]
mov eax, dword [ebp - 0x38]
call fcn.004fb1d0
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 9
jge 0x509912
inc dword [ebp - 0x4c]
mov eax, dword [0x5349bc]
add eax, 0x7e
cmp eax, dword [0x534974]
jge 0x50990c
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xb
jge 0x50990c
inc dword [ebp - 0x6c]
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x6c]
mov eax, dword [0x534944]
call fcn.004fb1d0
cmp dword [ebp - 0x6c], 0xb
jl 0x5098ef
cmp dword [ebp - 0x4c], 9
jl 0x5098d1
imul eax, dword [ebp - 0x50], 0xe5
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [0x534a08]
mov eax, dword [0x534a28]
call fcn.0050388c
mov eax, dword [ebp - 0x78]
add eax, 0xe2
mov dword [ebp - 0x60], eax
xor eax, eax
mov dword [ebp - 0x74], eax
mov eax, dword [0x53495c]
mov dword [0x534864], eax
lea edx, [ebp - 0x48]
lea eax, [ebp - 0x40]
call fcn.00502c1c
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 1
jne 0x50994f
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 5
jge 0x5099c6
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
sub eax, 0x1c
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x18]
mov edx, 0x50c8bc
call fcn.0040a01c
mov eax, dword [ebp - 0x28]
imul dword [ebp - 0x38]
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [0x534a30]
mov dword [0x534874], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jne 0x5099a4
inc dword [ebp - 0x64]
cmp dword [ebp - 0x64], 8
jne 0x50999f
cmp dword [ebp - 0x34], 5
jl 0x509978
mov eax, dword [0x53486c]
mov dword [0x534904], eax
mov eax, dword [ebp - 0x2c]
sub eax, 0xe1
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x50]
sub eax, 0xa7
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 4
jge 0x509a31
inc dword [ebp - 0x78]
mov eax, dword [0x534a48]
mov dword [0x534a48], eax
mov eax, dword [0x534904]
cmp eax, dword [0x534a48]
jle 0x509a1b
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x60]
call fcn.00506d30
jmp 0x509a2b
mov eax, dword [0x534a18]
sub eax, dword [0x5349f8]
mov dword [0x5349c4], eax
cmp dword [ebp - 0x78], 4
jl 0x5099f1
lea eax, [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0x90]
push eax
push 0
push 0xffffffffffffffff
push 0
mov eax, dword [ebp - 0x88]
push eax
call dword [0x534930]
test eax, eax
je 0x50bb38
mov eax, dword [ebp - 0x64]
add eax, 0x2e
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x68], eax
xor eax, eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 9
jge 0x509a87
inc dword [ebp - 0x70]
mov eax, dword [0x5348fc]
mov dword [0x534884], eax
cmp dword [ebp - 0x70], 9
jl 0x509a74
mov eax, dword [0x5348bc]
call fcn.004071f4
mov dword [0x5348bc], eax
mov eax, dword [ebp - 0x40]
add eax, 9
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xb
jge 0x509acd
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
sub eax, 0x3b
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x44], 0xb
jl 0x509abb
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x34], eax
fild dword [ebp - 0x44]
call fcn.0040762c
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
add eax, 0x53
mov dword [ebp - 0x48], eax
mov eax, dword [0x5348ac]
mov dword [0x534964], eax
imul eax, dword [ebp - 0x30], 0xc2
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
jge 0x509b1e
inc dword [ebp - 0x68]
mov eax, dword [0x53485c]
call fcn.004071f4
mov dword [0x53485c], eax
cmp dword [ebp - 0x68], 0
jl 0x509b06
lea eax, [ebp - 0x80]
push eax
push 0
push 0
mov eax, dword [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0x90]
push eax
mov eax, dword [ebp - 0x7c]
push eax
call dword [0x534928]
test eax, eax
je 0x50bb38
imul eax, dword [ebp - 0x34], 0x56
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x60]
sub eax, 0xb2
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x40]
imul dword [ebp - 0x30]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x4c]
add eax, 0xa3
mov dword [ebp - 0x50], eax
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x74]
mov dword [ebp - 0x48], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xe
jne 0x509b71
mov eax, dword [0x53493c]
call fcn.004071f4
mov dword [0x53493c], eax
imul eax, dword [ebp - 0x2c], 0xd3
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x18]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.0040abd8
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0xa
jge 0x509bf1
inc dword [ebp - 0x60]
xor eax, eax
mov dword [ebp - 0x74], eax
mov eax, dword [0x534974]
mov dword [0x534874], eax
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 8
jne 0x509bce
mov eax, dword [0x5349d0]
mov dword [0x5348bc], eax
cmp dword [ebp - 0x60], 0xa
jl 0x509bc6
lea eax, [ebp - 0x14]
mov edx, 0x50c8e0
call fcn.0040a01c
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
xor eax, eax
push ebp
push 0x50bac9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xa4]
add eax, 0x100000
call fcn.00406e0c
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [0x5348cc]
push eax
mov eax, dword [0x534a08]
push eax
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [0x53494c]
mov eax, dword [ebp - 0x3c]
call fcn.0050899c
mov dword [0x534a40], eax
mov eax, dword [ebp - 0x28]
imul dword [ebp - 0x68]
mov dword [ebp - 0x38], eax
mov eax, dword [0x53497c]
mov dword [0x5348f4], eax
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x44], eax
mov eax, dword [0x534974]
mov dword [0x534964], eax
xor eax, eax
mov dword [ebp - 0x58], eax
mov eax, dword [0x534a38]
add eax, dword [0x5349d0]
cmp eax, dword [0x5349d0]
jne 0x509cba
xor eax, eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0xb
jge 0x509cba
inc dword [ebp - 0x70]
mov eax, dword [0x5348ac]
call fcn.004071f4
mov dword [0x5348ac], eax
jmp 0x509cba
inc dword [ebp - 0x58]
cmp dword [ebp - 0x58], 4
jne 0x509c82
xor eax, eax
push ebp
push 0x50ba19
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x48c45c]
call fcn.00407d6c
mov dword [ebp - 0x98], eax
mov eax, dword [0x5348dc]
call fcn.004071f4
mov dword [0x5348dc], eax
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xb
jge 0x509d3b
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
imul dword [ebp - 0x44]
mov dword [ebp - 0x58], eax
fild dword [ebp - 0x5c]
call fcn.00407638
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0xf
jge 0x509d35
inc dword [ebp - 0x70]
fild dword [ebp - 0x38]
call fcn.00407638
mov dword [ebp - 0x30], eax
jmp 0x509d35
cmp dword [ebp - 0x40], 0xb
jl 0x509cfd
mov eax, dword [0x5349c4]
mov dword [0x53498c], eax
mov eax, dword [0x53498c]
cmp eax, dword [0x5348dc]
jge 0x509d75
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xb
jge 0x509d75
inc dword [ebp - 0x6c]
mov eax, dword [0x53489c]
call fcn.004071f4
mov dword [0x53489c], eax
cmp dword [ebp - 0x6c], 0xb
jl 0x509d5d
mov eax, dword [ebp - 0x2c]
sub eax, 0x6f
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x74], eax
mov eax, dword [0x534974]
mov dword [0x5349e0], eax
xor eax, eax
push ebp
push 0x50b85b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0xf2
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x40], eax
mov eax, dword [0x534a00]
mov dword [0x53493c], eax
mov eax, dword [0x53499c]
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
je 0x509dd6
mov eax, dword [ebp - 0xd4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0x17
jle 0x509e18
imul eax, dword [ebp - 0x70], 0xb0
mov dword [ebp - 0x5c], eax
imul eax, dword [ebp - 0x78], 0xed
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x38]
jle 0x509e18
push 0x5348cc
push 0x53493c
lea ecx, [ebp - 0x5c]
mov edx, 0x534884
lea eax, [ebp - 0x38]
call fcn.004fc744
mov dword [ebp - 0x44], eax
mov eax, dword [0x5348fc]
mov dword [0x53493c], eax
mov eax, dword [0x53495c]
call fcn.004071f4
mov dword [0x53495c], eax
mov eax, dword [0x53493c]
cmp eax, dword [0x53495c]
jge 0x509ecb
mov eax, dword [0x534a08]
mov dword [0x5349d8], eax
mov eax, dword [0x5349d8]
cmp eax, dword [0x53495c]
jge 0x509e8c
mov eax, dword [0x5349ac]
mov dword [0x534a48], eax
mov eax, dword [0x5349d8]
cmp eax, dword [0x534a48]
jle 0x509e95
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.00407638
mov dword [ebp - 0x34], eax
jmp 0x509e95
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x74], eax
mov eax, dword [0x53485c]
sub eax, dword [0x5348a4]
cmp eax, dword [0x53485c]
jge 0x509eaf
call fcn.004f8768
jmp 0x509f17
mov eax, dword [ebp - 0x4c]
add eax, 4
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.00407638
mov dword [ebp - 0x24], eax
jmp 0x509f17
mov eax, dword [0x5349d8]
mov dword [0x534a50], eax
mov eax, dword [0x5349d8]
cmp eax, dword [0x534a50]
jle 0x509ef1
mov eax, dword [0x534a18]
add eax, 0xfa
mov dword [0x53494c], eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [0x534984]
push eax
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [0x53485c]
mov edx, dword [ebp - 0x38]
mov eax, dword [0x534a50]
call fcn.00502054
mov dword [0x5349b4], eax
fild dword [0x53497c]
call fcn.0040762c
mov dword [0x5348dc], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x509f4a
mov eax, dword [ebp - 0xd8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0xfe
jle 0x509f74
mov eax, dword [0x534a28]
add eax, 0x53
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [0x5349e8], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx]
sub eax, 0x84
sbb edx, 0
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0x24]
xor eax, eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 1
jge 0x509fcb
inc dword [ebp - 0x70]
mov eax, dword [ebp - 0x54]
add eax, 0x78
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x2c], eax
jmp 0x509fcb
mov eax, dword [ebp - 0x20]
imul dword [ebp - 0x3c]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x18]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.0040abd8
xor eax, eax
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x68]
jne 0x50a03e
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
je 0x50a01d
mov eax, dword [ebp - 0xdc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0xc3
jle 0x50a034
mov eax, dword [ebp - 0x74]
imul dword [ebp - 0x50]
mov dword [ebp - 0x30], eax
jmp 0x50a03e
mov eax, dword [0x534874]
mov dword [0x53495c], eax
mov eax, dword [0x534a18]
call fcn.004071f4
mov dword [0x534a18], eax
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0xe
jne 0x509fef
mov eax, dword [ebp - 0x28]
imul dword [ebp - 0x58]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x6c]
add eax, 4
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0xc
jge 0x50a094
inc dword [ebp - 0x70]
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [0x534934]
mov edx, dword [0x5349d0]
mov eax, dword [ebp - 0x74]
call fcn.004fb1d0
cmp dword [ebp - 0x70], 0xc
jl 0x50a073
fild dword [ebp - 0x30]
call fcn.0040762c
mov dword [ebp - 0x40], eax
mov eax, dword [0x53494c]
mov dword [0x53493c], eax
mov eax, dword [0x53495c]
push eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [0x5349ac]
push eax
mov ecx, dword [0x534a08]
mov edx, dword [0x534944]
mov eax, dword [0x5348fc]
call fcn.004fd708
fild dword [ebp - 0x4c]
call fcn.00407638
mov dword [ebp - 0x5c], eax
mov eax, dword [0x5349e8]
sub eax, dword [0x534864]
cmp eax, 0x78
jge 0x50acf2
mov eax, dword [0x534a48]
mov dword [0x534a40], eax
mov eax, dword [0x53493c]
cmp eax, dword [0x534a40]
jle 0x50a11e
lea edx, [ebp - 0x30]
lea eax, [ebp - 0x74]
call fcn.00503608
mov dword [0x53498c], eax
jmp 0x50acf2
mov eax, 0x40
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x48], eax
jmp 0x50acf2
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x6c]
imul dword [ebp - 0x70]
mov dword [ebp - 0x74], eax
xor eax, eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 4
jge 0x50a15b
inc dword [ebp - 0x64]
mov eax, dword [0x5349c4]
mov dword [0x534864], eax
cmp dword [ebp - 0x64], 4
jl 0x50a148
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x60]
cmp eax, edx
jle 0x50a1d5
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x44], eax
mov eax, 0x29
sub eax, dword [0x5349d0]
cmp eax, 0x6a
jge 0x50a18d
mov eax, dword [0x534a50]
mov dword [0x5349bc], eax
jmp 0x50a1d5
mov eax, dword [0x5349a4]
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
je 0x50a1b2
mov eax, dword [ebp - 0xe0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0xe2
jne 0x50a1ca
imul eax, dword [ebp - 0x54], 0x8e
mov dword [ebp - 0x2c], eax
jmp 0x50a1d5
mov eax, dword [ebp - 0x20]
add eax, 0xf7
mov dword [ebp - 0x50], eax
mov eax, dword [0x5349e0]
mov edx, eax
shl eax, 6
add eax, edx
mov dword [0x534904], eax
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [0x534a28]
add eax, 8
mov dword [0x534a38], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 5
jne 0x50a1eb
cmp dword [ebp - 0x9c], 0
jne 0x50a21c
cmp dword [ebp - 0xa0], 0x100000
jbe 0x50a3bc
jmp 0x50a222
jle 0x50a3bc
mov eax, dword [ebp - 0xa4]
add eax, 0x100000
mov dword [ebp - 0x8c], eax
xor eax, eax
mov dword [ebp - 0x74], eax
mov eax, dword [0x5349d8]
mov dword [0x534874], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jge 0x50a261
inc dword [ebp - 0x2c]
fild dword [ebp - 0x40]
call fcn.00407638
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x2c], 3
jl 0x50a24d
mov eax, dword [0x53485c]
mov dword [0x5349d8], eax
jmp 0x50a276
mov eax, dword [0x53493c]
mov dword [0x53486c], eax
mov eax, dword [0x534874]
cmp eax, dword [0x53486c]
jle 0x50a334
imul eax, dword [ebp - 0x5c], 0xf7
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x20]
add eax, 0x8d
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x54], eax
mov eax, dword [0x5349d8]
sub eax, dword [0x5349e0]
cmp eax, dword [0x5349d8]
jl 0x50a327
mov eax, 0x82
sub eax, dword [ebp - 0x60]
cmp eax, 0x2c
jge 0x50a2f4
mov eax, dword [0x534a50]
call fcn.004071f4
mov dword [0x534a50], eax
mov eax, dword [0x534874]
cmp eax, dword [0x534a50]
jle 0x50a327
fild dword [ebp - 0x24]
call fcn.00407638
mov dword [ebp - 0x30], eax
jmp 0x50a327
mov ecx, 1
mov edx, dword [0x534a20]
mov eax, 0x50c934
call fcn.0040ade8
cmp eax, 0xcc
jge 0x50a31c
mov eax, dword [0x534884]
mov dword [0x5348c4], eax
jmp 0x50a327
mov eax, 0x3e
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x48], eax
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0xa
jne 0x50a2ab
mov eax, dword [0x5349d0]
call fcn.004071f4
mov dword [0x5349d0], eax
mov eax, dword [0x5348fc]
sub eax, dword [0x5348bc]
mov dword [0x534864], eax
mov eax, dword [0x53485c]
sub eax, dword [0x53485c]
mov dword [0x53493c], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x54]
jne 0x50a3aa
mov eax, dword [0x5349c4]
add eax, 0xc0
cmp eax, dword [0x53498c]
jge 0x50a395
mov eax, 0x1a
sub eax, dword [0x53490c]
mov dword [0x534894], eax
jmp 0x50a507
fild dword [0x5349bc]
call fcn.0040762c
mov dword [0x534984], eax
jmp 0x50a507
lea eax, [ebp - 0x10]
mov edx, 0x50c970
call fcn.0040a01c
jmp 0x50a507
fild dword [ebp - 0x40]
call fcn.00407638
mov dword [ebp - 0x2c], eax
imul eax, dword [ebp - 0x64], 0xf5
mov dword [ebp - 0x5c], eax
fild dword [ebp - 0x78]
call fcn.00407638
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
add eax, 0xc8
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x3c], eax
mov eax, dword [0x5349bc]
call fcn.004071f4
mov dword [0x5349bc], eax
mov eax, dword [0x5349e8]
call fcn.004071f4
mov dword [0x5349e8], eax
mov eax, dword [0x5349e8]
cmp eax, dword [0x5349bc]
jge 0x50a42f
mov eax, dword [0x5349d8]
mov dword [0x534864], eax
jmp 0x50a43b
mov eax, dword [ebp - 0x6c]
shl eax, 3
lea eax, [eax + eax*4]
mov dword [ebp - 0x68], eax
fild dword [ebp - 0x48]
call fcn.00407638
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x64]
add eax, 0x22
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 1
jge 0x50a4d6
inc dword [ebp - 0x44]
mov eax, dword [0x5349d0]
cmp eax, dword [0x5348fc]
jle 0x50a495
xor eax, eax
mov dword [ebp - 0x74], eax
mov eax, dword [0x5348a4]
call fcn.004071f4
mov dword [0x5348a4], eax
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 6
jne 0x50a47b
jmp 0x50a49e
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
lea eax, [ebp - 0x10]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.0040abd8
cmp dword [ebp - 0x44], 1
jl 0x50a466
mov eax, dword [ebp - 0x5c]
imul dword [ebp - 0x50]
mov dword [ebp - 0x4c], eax
imul eax, dword [ebp - 0x30], 0x8b
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x2c]
call fcn.00407638
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x9c]
push edx
push eax
mov eax, dword [ebp - 0x8c]
xor edx, edx
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0x60]
add eax, 0x6d
cmp eax, dword [ebp - 0x30]
jge 0x50a5b6
xor eax, eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 5
jge 0x50a566
inc dword [ebp - 0x70]
fild dword [ebp - 0x4c]
call fcn.00407638
mov dword [ebp - 0x34], eax
mov eax, dword [0x5349e8]
mov dword [0x5348ec], eax
cmp dword [ebp - 0x70], 5
jl 0x50a548
mov eax, dword [ebp - 0x68]
imul dword [ebp - 0x60]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x10]
call fcn.0040aba0
jne 0x50a59c
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 1
jge 0x50a5a5
inc dword [ebp - 0x6c]
imul eax, dword [ebp - 0x20], 0x85
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x6c], 1
jl 0x50a587
jmp 0x50a5a5
mov eax, dword [ebp - 0x58]
lea eax, [eax + eax*2]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x534a40]
call fcn.004071f4
mov dword [0x534a40], eax
jmp 0x50a5f3
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x44], eax
mov eax, dword [0x5349ac]
add eax, 0xaa
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [0x534a40], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
call fcn.0040a01c
imul eax, dword [0x5349d8], 0x72
mov dword [0x534944], eax
mov eax, dword [0x5348c4]
mov dword [0x534974], eax
mov eax, dword [0x5349c4]
add eax, 4
mov dword [0x534a18], eax
mov eax, 0x37
sub eax, dword [0x534864]
mov dword [0x5348a4], eax
mov eax, dword [0x534944]
add eax, 0xce
mov dword [0x534934], eax
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 8]
call fcn.004a8730
lea eax, [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0x94]
push eax
push 0
push 0xffffffffffffffff
push 0
mov eax, dword [ebp - 0x80]
push eax
call dword [0x534930]
test eax, eax
je 0x50a912
mov eax, dword [ebp - 0x50]
sub eax, 0x5e
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xd
jge 0x50a6d4
inc dword [ebp - 0x4c]
xor eax, eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 2
jge 0x50a6a9
inc dword [ebp - 0x68]
mov eax, dword [0x5348ac]
call fcn.004071f4
mov dword [0x5348ac], eax
cmp dword [ebp - 0x68], 2
jl 0x50a691
mov eax, dword [0x534a38]
mov dword [0x534904], eax
mov eax, 0x8d
sub eax, dword [0x53497c]
cmp eax, 0x74
jge 0x50a6d4
mov eax, dword [ebp - 0x44]
sub eax, 0x10
mov dword [ebp - 0x5c], eax
jmp 0x50a6d4
mov eax, dword [0x534a00]
mov dword [0x53489c], eax
mov eax, dword [ebp - 0x58]
add eax, 4
mov dword [ebp - 0x34], eax
mov eax, dword [0x5348fc]
call fcn.004071f4
mov dword [0x5348fc], eax
xor eax, eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 2
jge 0x50a74d
inc dword [ebp - 0x48]
mov eax, dword [0x5349e0]
sub eax, dword [0x53497c]
cmp eax, 0xe6
jge 0x50a747
mov ecx, 1
mov edx, dword [0x534a20]
mov eax, 0x50c998
call fcn.0040ade8
cmp eax, 0x6e
jge 0x50a73d
fild dword [ebp - 0x70]
call fcn.00407638
mov dword [ebp - 0x38], eax
jmp 0x50a747
mov eax, dword [0x534a00]
mov dword [0x534984], eax
cmp dword [ebp - 0x48], 2
jl 0x50a701
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x54], eax
mov eax, dword [0x5349bc]
add eax, 0x24
cmp eax, dword [0x534874]
jge 0x50a81d
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 3
jge 0x50a798
inc dword [ebp - 0x6c]
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.00407638
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x6c], 3
jl 0x50a775
mov eax, dword [ebp - 0x78]
add eax, dword [ebp - 0x68]
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
add edx, dword [ebp - 0x64]
cmp eax, edx
jge 0x50a7fe
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0
je 0x50a7d9
mov eax, dword [ebp - 0xe4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0xa2
jne 0x50a7f6
mov eax, dword [0x5348b4]
call fcn.004071f4
mov dword [0x5348b4], eax
jmp 0x50a809
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x50], eax
jmp 0x50a809
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jne 0x50a7a6
mov eax, dword [ebp - 0x2c]
imul dword [ebp - 0x60]
mov dword [ebp - 0x70], eax
jmp 0x50a84b
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xe
jge 0x50a84b
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
add eax, 0x74
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x28], 0xe
jl 0x50a828
mov eax, dword [0x534a28]
add eax, 0x8a
mov dword [0x534a48], eax
mov eax, dword [0x534a08]
add eax, dword [0x53489c]
mov dword [0x5348ec], eax
mov eax, dword [0x5348a4]
mov dword [0x53493c], eax
mov eax, dword [0x5349e8]
add eax, 0x1b
mov dword [0x5349c4], eax
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x98]
call fcn.004a94bc
fild dword [ebp - 0x40]
call fcn.00407638
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x30]
add eax, 0xbc
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x5c]
add eax, 0x80
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x4c], eax
mov eax, dword [0x53498c]
mov dword [0x53486c], eax
mov eax, dword [0x534894]
mov dword [0x534894], eax
mov eax, dword [0x534984]
mov dword [0x5348bc], eax
mov eax, dword [0x5348bc]
cmp eax, dword [0x534894]
jle 0x50aaae
fild dword [ebp - 0x20]
call fcn.00407638
mov dword [ebp - 0x48], eax
jmp 0x50aaae
mov eax, dword [ebp - 0x30]
add eax, 2
mov dword [ebp - 0x34], eax
mov eax, 0x6e
sub eax, dword [ebp - 0x74]
cmp eax, 0x9e
jge 0x50a95c
imul eax, dword [ebp - 0x58], 0xe
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x60]
add eax, 4
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x78]
add eax, 0x3e
mov dword [ebp - 0x50], eax
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 5
jne 0x50a945
jmp 0x50aa0c
mov eax, dword [0x534a00]
mov dword [0x5349d8], eax
mov eax, dword [0x5348e4]
mov dword [0x534a08], eax
mov eax, dword [0x5349d8]
cmp eax, dword [0x534a08]
jge 0x50a98f
mov eax, dword [0x53490c]
sub eax, dword [0x534894]
mov dword [0x534904], eax
jmp 0x50a9dc
mov eax, dword [0x5349c4]
mov dword [0x5349bc], eax
mov eax, dword [0x5349bc]
cmp eax, dword [0x534a08]
jge 0x50a9b0
mov eax, dword [0x534a08]
mov dword [0x534874], eax
mov eax, dword [0x5349ac]
mov dword [0x5348cc], eax
mov eax, dword [0x534874]
cmp eax, dword [0x5348cc]
jle 0x50a9d2
mov eax, dword [ebp - 0x24]
sub eax, 5
mov dword [ebp - 0x70], eax
jmp 0x50a9dc
mov eax, dword [0x534874]
mov dword [0x53488c], eax
fild dword [0x53498c]
call fcn.0040762c
mov dword [0x5349d0], eax
mov eax, 0x9b
sub eax, dword [0x53492c]
mov dword [0x53489c], eax
mov eax, dword [0x53496c]
add eax, dword [0x534a40]
mov dword [0x534944], eax
lea eax, [ebp - 0x1c]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
mov eax, dword [0x5349b4]
mov dword [0x534a08], eax
fild dword [0x53489c]
call fcn.00407638
mov dword [0x534894], eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 0x18]
call fcn.0040abd8
jmp 0x50ad10
xor eax, eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0xa
jge 0x50ab03
inc dword [ebp - 0x68]
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
mov eax, dword [0x534984]
mov dword [0x5348a4], eax
mov eax, 0xac
sub eax, dword [0x534a38]
cmp eax, 0x60
jge 0x50aaf3
mov eax, dword [0x534884]
mov dword [0x534934], eax
mov eax, dword [0x534a30]
mov dword [0x5349b4], eax
cmp dword [ebp - 0x68], 0xa
jl 0x50aab9
xor eax, eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0xb
jge 0x50abc5
inc dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x78]
mov dword [ebp - 0x30], eax
fild dword [ebp - 0x4c]
call fcn.0040762c
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je 0x50ab4c
mov eax, dword [ebp - 0xe8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0x7e
jne 0x50ab60
mov eax, dword [ebp - 0x74]
add eax, 4
mov dword [ebp - 0x58], eax
jmp 0x50abc5
mov eax, dword [0x5349d8]
mov dword [0x534a50], eax
mov eax, dword [0x5348c4]
mov dword [0x53487c], eax
mov eax, dword [0x53487c]
cmp eax, dword [0x534a50]
jle 0x50ab8e
mov eax, 0xf4
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x44], eax
jmp 0x50abc5
mov eax, dword [0x5349e0]
add eax, dword [0x5348c4]
cmp eax, dword [0x5348c4]
jle 0x50abae
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
jmp 0x50abc5
fild dword [ebp - 0x38]
call fcn.00407638
mov dword [ebp - 0x40], eax
jmp 0x50abc5
mov eax, dword [0x534944]
mov dword [0x5348c4], eax
mov eax, dword [0x53487c]
cmp eax, dword [0x5348c4]
jle 0x50acac
mov eax, dword [ebp - 0x60]
sub eax, 0x26
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 4
jge 0x50ac9c
inc dword [ebp - 0x5c]
mov eax, dword [0x5349a4]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
je 0x50ac20
mov eax, dword [ebp - 0xec]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0x71
jle 0x50ac37
imul eax, dword [0x5348ac], 0x3c
mov dword [0x53490c], eax
jmp 0x50ac92
mov eax, dword [0x5349c4]
add eax, dword [0x53493c]
mov edx, dword [0x5348f4]
add edx, dword [0x5349c4]
cmp eax, edx
jge 0x50ac92
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
call fcn.0040aba0
jne 0x50ac6b
mov eax, dword [0x534a30]
mov dword [0x5348fc], eax
jmp 0x50ac92
mov eax, dword [0x534a18]
mov dword [0x5349d8], eax
mov eax, dword [0x5349d8]
cmp eax, dword [0x5348c4]
jge 0x50ac92
fild dword [0x534984]
call fcn.0040762c
mov dword [0x5348f4], eax
cmp dword [ebp - 0x5c], 4
jl 0x50abf8
mov eax, dword [0x534a00]
add eax, dword [0x5349c4]
mov dword [0x53490c], eax
mov eax, dword [0x53493c]
mov dword [0x5349b4], eax
mov eax, 0x54
sub eax, dword [0x534894]
cmp eax, 0x13
jge 0x50acd8
fild dword [0x534a30]
call fcn.0040762c
mov dword [0x53489c], eax
jmp 0x50ace8
fild dword [0x53495c]
call fcn.0040762c
mov dword [0x534974], eax
mov eax, dword [0x53494c]
mov dword [0x5349e0], eax
cmp dword [ebp - 0x9c], 0
jne 0x50ad0a
cmp dword [ebp - 0xa0], 0
ja 0x50a12e
jmp 0x50ad10
jg 0x50a12e
xor eax, eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0xe
jge 0x50ad59
inc dword [ebp - 0x68]
mov eax, dword [0x5348f4]
mov dword [0x534884], eax
call fcn.004f88d8
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov eax, dword [0x534904]
sub eax, dword [0x5348a4]
cmp eax, 0x39
jge 0x50ad59
mov eax, dword [ebp - 0x34]
add eax, 0xb1
mov dword [ebp - 0x54], eax
jmp 0x50ad59
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 6
jge 0x50ada1
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x6c]
push eax
push 0x53485c
lea ecx, [ebp - 0x3c]
mov edx, 0x534a08
lea eax, [ebp - 0x64]
call fcn.004f80d8
mov dword [ebp - 0x48], eax
mov eax, dword [0x53497c]
call fcn.004071f4
mov dword [0x53497c], eax
cmp dword [ebp - 0x20], 6
jl 0x50ad64
mov eax, dword [ebp - 0x78]
add eax, 0x30
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x5c]
mov edx, 0x534934
mov eax, 0x5348fc
call fcn.004fcb28
mov dword [ebp - 0x60], eax
mov eax, dword [0x53490c]
sub eax, dword [0x5349c4]
mov dword [0x53493c], eax
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 6
jne 0x50adc0
mov eax, dword [ebp - 0x24]
shl eax, 3
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
je 0x50ae1e
mov eax, dword [ebp - 0xf0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0x7d
jne 0x50ae34
lea eax, [ebp - 0x10]
mov edx, 0x50c9d4
call fcn.0040a01c
cmp dword [ebp - 0x9c], 0
jne 0x50b726
cmp dword [ebp - 0xa0], 0
jne 0x50b726
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
call fcn.0040aba0
jne 0x50aeb7
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xb
jge 0x50ae82
inc dword [ebp - 0x38]
mov eax, dword [0x53485c]
mov dword [0x534974], eax
cmp dword [ebp - 0x38], 0xb
jl 0x50ae6f
mov eax, dword [0x5349f8]
mov dword [0x5349e8], eax
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x5c]
cmp eax, 0xd7
jge 0x50aea8
mov eax, dword [0x53492c]
mov dword [0x53486c], eax
jmp 0x50af3a
mov eax, dword [0x53487c]
mov dword [0x5348dc], eax
jmp 0x50af3a
mov eax, dword [0x53486c]
mov dword [0x5349b4], eax
mov eax, 0x68
sub eax, dword [ebp - 0x54]
cmp eax, 0xb8
jge 0x50af0a
mov ecx, 1
mov edx, dword [0x534a20]
mov eax, 0x50c9f4
call fcn.0040ade8
cmp eax, 0xf0
jge 0x50af13
mov eax, dword [ebp - 0x78]
add eax, 0x8e
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x34], eax
jmp 0x50af13
mov eax, dword [ebp - 0x6c]
sub eax, 0x55
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x50]
imul dword [ebp - 0x54]
mov dword [ebp - 0x24], eax
mov eax, dword [0x5348b4]
mov dword [0x53488c], eax
xor eax, eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x48], eax
inc dword [ebp - 0x64]
cmp dword [ebp - 0x64], 9
jne 0x50af2b
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x74], eax
fild dword [0x5348b4]
call fcn.0040762c
mov dword [0x534904], eax
mov eax, dword [0x5348ec]
mov dword [0x5349d8], eax
mov eax, dword [0x5349f8]
sub eax, dword [0x534884]
mov dword [0x53486c], eax
mov eax, dword [0x534894]
mov dword [0x53489c], eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x98]
mov ebx, dword [eax]
call dword [ebx + 0x24]
xor eax, eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 8
jge 0x50affe
inc dword [ebp - 0x68]
call fcn.004eb8cc
fild dword [ebp - 0x4c]
call fcn.0040762c
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xd
jge 0x50aff8
inc dword [ebp - 0x3c]
mov eax, dword [0x5349bc]
call fcn.004071f4
mov dword [0x5349bc], eax
mov eax, dword [0x5349e8]
call fcn.004071f4
mov dword [0x5349e8], eax
mov eax, dword [0x5349bc]
cmp eax, dword [0x5349e8]
jge 0x50afe7
call fcn.00500764
mov dword [ebp - 0x70], eax
jmp 0x50aff8
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x54]
mov dword [ebp - 0x44], eax
jmp 0x50aff8
cmp dword [ebp - 0x68], 8
jl 0x50af91
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 3
jge 0x50b01b
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x64]
imul dword [ebp - 0x50]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x38], 3
jl 0x50b009
mov eax, dword [ebp - 0x40]
sub eax, 0xf0
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x48]
mov edx, 0x534a08
mov eax, 0x5349ac
call fcn.004f9fcc
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
mov eax, dword [0x5349ac]
mov dword [0x53488c], eax
mov eax, dword [ebp - 8]
call fcn.004aa354
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xc
jge 0x50b083
inc dword [ebp - 0x6c]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x68]
add eax, 0x9e
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x6c], 0xc
jl 0x50b069
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 8
jge 0x50b106
inc dword [ebp - 0x58]
xor eax, eax
mov dword [ebp - 0x70], eax
mov eax, dword [0x534884]
call fcn.004071f4
mov dword [0x534884], eax
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jge 0x50b0cb
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x20], 0
jl 0x50b0b9
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], 0x10
jne 0x50b09f
mov eax, dword [0x5349ac]
mov dword [0x534874], eax
mov ecx, 1
mov edx, dword [ebp - 0x10]
mov eax, 0x50ca3c
call fcn.0040ade8
cmp eax, 0x20
je 0x50b100
fild dword [ebp - 0x78]
call fcn.00407638
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x58], 8
jl 0x50b097
mov eax, dword [0x534a40]
call fcn.004071f4
mov dword [0x534a40], eax
mov eax, dword [0x534994]
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0
je 0x50b13a
mov eax, dword [ebp - 0xf4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0x24
jle 0x50b152
mov eax, dword [0x5348ec]
add eax, 4
mov dword [0x53490c], eax
jmp 0x50b187
mov eax, dword [0x5349e8]
mov dword [0x5349bc], eax
mov eax, dword [0x5349bc]
cmp eax, dword [0x534a40]
jge 0x50b187
mov eax, dword [0x534a20]
mov edx, dword [0x534994]
call fcn.0040aba0
jne 0x50b187
imul eax, dword [0x5348bc], 0x77
mov dword [0x5348f4], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0xa
jge 0x50b1aa
inc dword [ebp - 0x5c]
mov eax, dword [0x534894]
call fcn.004071f4
mov dword [0x534894], eax
cmp dword [ebp - 0x5c], 0xa
jl 0x50b192
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
call dword [edx]
cmp edx, 0
jne 0x50b1c4
cmp eax, 0
jbe 0x50b521
jmp 0x50b1ca
jle 0x50b521
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
call dword [edx]
push edx
push eax
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 8]
call fcn.004a960c
fild dword [ebp - 0x5c]
call fcn.0040762c
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x4c]
imul dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x2c]
sub eax, 0xc7
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 7
jge 0x50b227
inc dword [ebp - 0x60]
mov eax, dword [0x5349d0]
mov dword [0x534864], eax
cmp dword [ebp - 0x60], 7
jl 0x50b214
mov eax, dword [ebp - 0x50]
imul dword [ebp - 0x28]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x64]
cmp eax, edx
jge 0x50b2ff
xor eax, eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
mov eax, dword [0x5349d0]
mov dword [0x5348b4], eax
mov eax, dword [0x5348bc]
mov dword [0x5348dc], eax
mov eax, dword [0x5348dc]
cmp eax, dword [0x5348b4]
jle 0x50b280
mov eax, dword [ebp - 0x60]
add eax, 0x74
mov dword [ebp - 0x54], eax
jmp 0x50b299
xor eax, eax
mov dword [ebp - 0x6c], eax
lea edx, [ebp - 0x68]
lea eax, [ebp - 0x70]
call fcn.00503608
inc dword [ebp - 0x6c]
cmp dword [ebp - 0x6c], 0xb
jne 0x50b285
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 5
jne 0x50b249
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x5c]
jne 0x50b2ca
xor eax, eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0xd
jge 0x50b2d1
inc dword [ebp - 0x50]
imul eax, dword [ebp - 0x58], 0x6d
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x50], 0xd
jl 0x50b2b8
jmp 0x50b2d1
imul eax, dword [ebp - 0x38], 0x2b
mov dword [ebp - 0x5c], eax
mov eax, dword [0x534934]
push eax
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [0x5349b4]
push eax
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [0x534944]
mov edx, dword [ebp - 0x34]
mov eax, dword [0x53495c]
call fcn.0050388c
mov dword [0x5349c4], eax
jmp 0x50b34c
mov eax, dword [ebp - 0x24]
add eax, 0xb7
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
imul dword [ebp - 0x4c]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [0x53495c]
mov edx, dword [ebp - 0x60]
mov eax, dword [0x53492c]
call fcn.004f7d84
mov dword [0x5348d4], eax
fild dword [ebp - 0x3c]
call fcn.0040762c
mov dword [ebp - 0x68], eax
lea edx, [ebp - 0x4c]
mov eax, 0x534a18
call fcn.00503608
mov dword [0x534944], eax
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [0x5348ac]
push eax
mov ecx, dword [0x5349c4]
mov edx, dword [ebp - 0x68]
mov eax, dword [0x5348d4]
call fcn.0050899c
mov dword [0x534a08], eax
mov eax, 0x86
sub eax, dword [ebp - 0x70]
cmp eax, 0xa4
jge 0x50b487
mov eax, dword [0x5349bc]
sub eax, dword [0x5348fc]
mov edx, dword [0x53497c]
sub edx, dword [0x5348fc]
cmp eax, edx
jle 0x50b3ef
mov eax, 0x1b
sub eax, dword [ebp - 0x5c]
cmp eax, 0xb3
jge 0x50b3dd
mov eax, dword [ebp - 0x74]
push eax
mov eax, dword [0x5348cc]
push eax
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [0x53489c]
push eax
mov ecx, dword [0x534884]
mov edx, dword [0x53496c]
mov eax, dword [ebp - 0x3c]
call fcn.0050388c
jmp 0x50b3fb
fild dword [0x53487c]
call fcn.00407638
mov dword [0x534a08], eax
jmp 0x50b3fb
imul eax, dword [0x5348e4], 0x37
mov dword [0x534964], eax
mov eax, 0xd5
sub eax, dword [0x53489c]
cmp eax, 0x94
jge 0x50b45c
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0
je 0x50b430
mov eax, dword [ebp - 0xf8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0x4e
jle 0x50b46c
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x48]
push eax
mov ecx, 0x534a40
mov edx, 0x53498c
mov eax, 0x5348f4
call fcn.004f80d8
mov dword [0x5349d8], eax
jmp 0x50b46c
mov eax, dword [0x53494c]
sub eax, dword [0x53490c]
mov dword [0x5349e8], eax
lea eax, [ebp - 0x74]
push eax
mov ecx, 0x53492c
lea edx, [ebp - 0x78]
lea eax, [ebp - 0x24]
call fcn.004fcb28
mov dword [0x534944], eax
jmp 0x50b4a5
mov eax, dword [0x53492c]
add eax, 4
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.00407638
mov dword [0x534964], eax
mov eax, dword [0x53487c]
mov dword [0x5349f8], eax
mov eax, dword [0x5349f8]
cmp eax, dword [0x5348b4]
jge 0x50b4cd
mov eax, dword [0x534874]
call fcn.004071f4
mov dword [0x534874], eax
jmp 0x50b4da
mov eax, dword [0x53489c]
sub eax, 0x18
mov dword [0x53495c], eax
mov eax, dword [0x53488c]
add eax, 0xe1
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [0x534a30], eax
mov eax, dword [0x53490c]
mov dword [0x534864], eax
mov eax, dword [0x534874]
cmp eax, dword [0x534864]
jle 0x50b521
mov eax, dword [0x53486c]
add eax, dword [0x534934]
mov dword [0x53493c], eax
mov eax, dword [ebp - 0x5c]
sub eax, 0xfc
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x78]
sub eax, 0x94
mov dword [ebp - 0x3c], eax
mov eax, dword [0x53492c]
sub eax, dword [0x534a48]
cmp eax, dword [0x53492c]
jge 0x50b55d
mov eax, dword [ebp - 0x20]
sub eax, 0x55
mov dword [ebp - 0x48], eax
mov eax, dword [0x53497c]
mov dword [0x5349d8], eax
mov eax, dword [ebp - 0x54]
sub eax, 0x3f
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x2c]
imul dword [ebp - 0x40]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x14]
push eax
mov ecx, 3
mov edx, 1
mov eax, dword [ebp - 0x1c]
call fcn.0040abd8
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0x24]
xor eax, eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0xf
jge 0x50b611
inc dword [ebp - 0x68]
mov eax, dword [0x5349c4]
push eax
mov ecx, dword [0x5349ac]
mov edx, dword [0x5348f4]
mov eax, dword [ebp - 0x20]
call fcn.004f8cdc
mov dword [0x5348f4], eax
mov eax, dword [0x53485c]
push eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x2c]
call fcn.004f7d84
mov dword [0x534864], eax
mov eax, 0x54
sub eax, dword [ebp - 0x68]
cmp eax, 0x2a
jge 0x50b5f1
mov eax, dword [ebp - 0x70]
add eax, 0xe4
mov dword [ebp - 0x50], eax
jmp 0x50b60b
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 4
jge 0x50b60b
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x30], 4
jl 0x50b5fc
cmp dword [ebp - 0x68], 0xf
jl 0x50b59c
mov eax, dword [ebp - 0x64]
add eax, 4
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.00407638
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x28]
cmp eax, edx
jge 0x50b687
mov eax, 0x8d
sub eax, dword [ebp - 0x60]
mov dword [ebp - 0x20], eax
mov eax, dword [0x53495c]
cmp eax, dword [0x5349c4]
jle 0x50b665
fild dword [0x5349b4]
call fcn.00407638
mov dword [0x534a30], eax
jmp 0x50b687
lea eax, [ebp - 0x54]
push eax
push 0x5348d4
mov ecx, 0x5348e4
mov edx, 0x53494c
mov eax, 0x53493c
call fcn.004f9fcc
mov dword [0x53492c], eax
mov eax, 0xec
sub eax, dword [0x5348c4]
mov dword [0x5349c4], eax
mov eax, 0xf3
sub eax, dword [0x5348dc]
cmp eax, 0xb
jge 0x50b6d0
mov eax, dword [0x534a48]
call fcn.004071f4
mov dword [0x534a48], eax
mov eax, dword [0x534864]
cmp eax, dword [0x534a48]
jle 0x50b6d0
mov eax, dword [0x5348e4]
add eax, 0x18
mov dword [0x53492c], eax
mov byte [ebp - 9], 1
fild dword [ebp - 0x40]
call fcn.0040762c
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x18]
mov edx, 0x50ca60
call fcn.0040a01c
mov eax, dword [0x5348a4]
mov dword [0x5349d8], eax
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x6c], eax
mov eax, dword [0x534a50]
mov dword [0x534a50], eax
mov eax, 0x42
sub eax, dword [0x534964]
cmp eax, 0xfb
jge 0x50b726
mov eax, dword [ebp - 0x58]
add eax, 0xd2
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 6
jge 0x50b752
inc dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x20]
mov edx, dword [0x53486c]
mov eax, dword [0x53485c]
call fcn.00505c84
mov dword [0x5348dc], eax
cmp dword [ebp - 0x6c], 6
jl 0x50b731
fild dword [ebp - 0x5c]
call fcn.0040762c
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 2
jge 0x50b7ab
inc dword [ebp - 0x44]
mov eax, dword [0x5349bc]
sub eax, dword [0x53498c]
cmp eax, dword [0x5349bc]
jge 0x50b79c
xor eax, eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0xc
jge 0x50b79c
inc dword [ebp - 0x70]
imul eax, dword [ebp - 0x28], 0xd4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x70], 0xc
jl 0x50b789
mov eax, dword [ebp - 0x34]
imul dword [ebp - 0x58]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x44], 2
jl 0x50b768
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xf
jge 0x50b7d2
inc dword [ebp - 0x4c]
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
cmp dword [ebp - 0x4c], 0xf
jl 0x50b7b6
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x60]
add edx, dword [ebp - 0x38]
cmp eax, edx
jge 0x50b7e8
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x18]
mov edx, 0x50cac4
call fcn.0040a01c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50b862
mov eax, dword [ebp - 0x98]
call fcn.00407d9c
fild dword [ebp - 0x58]
call fcn.0040762c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x28]
add eax, 0x5b
mov dword [ebp - 0x54], eax
mov eax, dword [0x5349b4]
call fcn.004071f4
mov dword [0x5349b4], eax
mov eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x50]
mov dword [ebp - 0x68], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [0x534964]
mov dword [0x53486c], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 8
jne 0x50b83e
mov eax, dword [ebp - 0x64]
add eax, 4
mov dword [ebp - 0x70], eax
ret
mov eax, dword [0x534a08]
mov dword [0x5349e0], eax
mov eax, dword [0x53494c]
mov dword [0x534a00], eax
mov eax, dword [0x5349e0]
cmp eax, dword [0x534a00]
jge 0x50bb9e
mov eax, dword [0x5349ac]
mov dword [0x534a50], eax
mov eax, dword [0x5349e0]
cmp eax, dword [0x534a50]
jle 0x50bb79
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x5c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x3c]
jge 0x50bb8f
mov eax, dword [ebp - 0x28]
imul dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
jmp 0x50bb95
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x64]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x54]
imul dword [ebp - 0x40]
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x34]
imul dword [ebp - 0x58]
mov dword [ebp - 0x44], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jne 0x50bbb5
mov eax, dword [0x53492c]
mov dword [0x534a18], eax
imul eax, dword [0x534a30], 0x42
mov dword [0x53489c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50bca7
fild dword [ebp - 0x40]
call fcn.0040762c
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x60], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x78], eax
mov eax, dword [0x5349e8]
mov dword [0x534884], eax
inc dword [ebp - 0x78]
cmp dword [ebp - 0x78], 8
jne 0x50bc08
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 1
jne 0x50bc03
fild dword [ebp - 0x30]
call fcn.0040762c
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x48], eax
mov eax, dword [0x53490c]
mov dword [0x53495c], eax
mov eax, dword [ebp - 0x90]
call fcn.00406e28
xor eax, eax
mov dword [ebp - 0x74], eax
mov eax, dword [0x53486c]
call fcn.004071f4
mov dword [0x53486c], eax
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 4
jne 0x50bc4f
mov eax, dword [0x534a00]
mov dword [0x5348ac], eax
mov eax, dword [0x5348bc]
call fcn.004071f4
mov dword [0x5348bc], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x64]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x78]
add eax, 0x2b
mov dword [ebp - 0x40], eax
mov eax, dword [0x5348dc]
mov dword [0x53493c], eax
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50c0e7
mov eax, dword [0x534904]
add eax, dword [0x5349e8]
cmp eax, dword [0x5349e8]
jne 0x50bf6e
xor eax, eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 1
jge 0x50bf49
inc dword [ebp - 0x70]
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
cmp dword [ebp - 0x70], 1
jl 0x50bf35
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
jmp 0x50bf62
mov eax, dword [0x5349bc]
mov dword [0x53494c], eax
jmp 0x50bfb2
mov eax, dword [ebp - 0x6c]
add eax, 0xd5
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x50]
sub eax, 0x71
mov dword [ebp - 0x64], eax
mov eax, dword [0x534944]
mov dword [0x534a30], eax
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jge 0x50bfa9
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
add eax, 0x49
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x40], 0
jl 0x50bf97
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x54], eax
imul eax, dword [ebp - 0x38], 0x37
mov dword [ebp - 0x44], eax
fild dword [0x5348e4]
call fcn.0040762c
mov dword [0x5348bc], eax
mov eax, dword [0x534934]
mov dword [0x534974], eax
mov eax, dword [0x534a38]
sub eax, dword [0x534a18]
mov dword [0x534a18], eax
mov eax, dword [ebp - 0x88]
push eax
call dword [0x534920]
mov eax, dword [ebp - 0x40]
imul dword [ebp - 0x78]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jle 0x50c03c
mov eax, dword [ebp - 0x20]
add eax, 0xde
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.0040762c
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x6c]
add eax, 4
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.00407638
mov dword [ebp - 0x58], eax
jmp 0x50c081
xor eax, eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0xd
jge 0x50c081
inc dword [ebp - 0x68]
mov eax, dword [0x534a50]
call fcn.004071f4
mov dword [0x534a50], eax
mov eax, dword [0x534934]
mov dword [0x534874], eax
mov eax, dword [0x534874]
cmp eax, dword [0x534a50]
jle 0x50c081
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
jmp 0x50c081
mov eax, dword [0x53486c]
mov dword [0x5349b4], eax
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x108], eax
fild dword [ebp - 0x108]
call fcn.00407638
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 6
jge 0x50c0c4
inc dword [ebp - 0x30]
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
cmp dword [ebp - 0x30], 6
jl 0x50c0b0
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [0x53489c]
mov dword [0x5348b4], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xb
jne 0x50c0c9
ret
xor eax, eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 7
jge 0x50c264
inc dword [ebp - 0x70]
mov eax, dword [0x5349f8]
mov dword [0x534a50], eax
mov eax, dword [0x53498c]
mov dword [0x534864], eax
mov eax, dword [0x534864]
cmp eax, dword [0x534a50]
jle 0x50c238
mov ecx, dword [0x53494c]
mov edx, dword [0x5349f8]
mov eax, dword [0x534a38]
call fcn.00506d30
mov dword [0x5349f8], eax
imul eax, dword [ebp - 0x44], 0xaf
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x34]
call fcn.0040762c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x60]
add eax, 0xbc
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x70], 7
jl 0x50c1f9
fild dword [ebp - 0x58]
call fcn.0040762c
mov dword [ebp - 0x2c], eax
mov eax, dword [0x534934]
push eax
mov ecx, dword [0x53488c]
mov edx, dword [0x5348c4]
mov eax, dword [ebp - 0x58]
call fcn.004fb1d0
mov dword [0x534a08], eax
imul eax, dword [ebp - 0x74], 0xb2
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x10]
mov edx, 0x50cb90
call fcn.0040aba0
jne 0x50c2cd
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x78]
push eax
mov ecx, dword [0x5348a4]
mov edx, dword [ebp - 0x64]
mov eax, dword [0x5348cc]
call fcn.004fa7e4
mov dword [0x534894], eax
jmp 0x50c2dc
mov eax, dword [0x5348b4]
add eax, 0x85
mov dword [0x5348dc], eax
imul eax, dword [0x5348e4], 0xe8
mov dword [0x5349ac], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50c30f
push 0
mov eax, dword [ebp - 0x84]
push eax
call dword [0x534918]
ret
mov eax, dword [0x53493c]
call fcn.004071f4
mov dword [0x53493c], eax
mov eax, dword [0x53494c]
sub eax, dword [0x53492c]
cmp eax, 6
jge 0x50c425
mov eax, dword [ebp - 0x4c]
add eax, 4
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x18]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
imul eax, dword [ebp - 0x68], 0x9f
mov dword [ebp - 0x60], eax
jmp 0x50c47c
xor eax, eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xf
jge 0x50c471
inc dword [ebp - 0x6c]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je 0x50c456
mov eax, dword [ebp - 0x100]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0xde
jne 0x50c46b
mov eax, dword [ebp - 0x30]
add eax, 0x27
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x6c], 0xf
jl 0x50c430
fild dword [ebp - 0x24]
call fcn.0040762c
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x64]
mov dword [ebp - 0x50], eax
xor eax, eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0xb
jge 0x50c522
inc dword [ebp - 0x58]
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x64]
jle 0x50c4e7
xor eax, eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0xc
jge 0x50c50e
inc dword [ebp - 0x5c]
mov eax, dword [0x534a00]
mov dword [0x534a50], eax
mov eax, dword [0x534874]
call fcn.004071f4
mov dword [0x534874], eax
mov eax, dword [0x534874]
cmp eax, dword [0x534a50]
jle 0x50c4df
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x5c], 0xc
jl 0x50c4ad
jmp 0x50c50e
mov eax, dword [0x5349d0]
mov dword [0x5349d0], eax
mov eax, dword [0x5349d0]
cmp eax, dword [0x534a50]
jge 0x50c50e
fild dword [0x5348ec]
call fcn.0040762c
mov dword [0x5348a4], eax
mov eax, dword [0x5348e4]
mov dword [0x5348f4], eax
cmp dword [ebp - 0x58], 0xb
jl 0x50c494
mov eax, dword [0x534934]
add eax, 4
mov dword [0x5349c4], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x50c6d6
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50c6f8
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.00409c54
ret