Function at 0x50ce2c
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff70
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x50fe60
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 6
jge 0x50ce9e
inc dword [ebp - 0x40]
mov eax, dword [0x5339c4]
mov dword [0x533a40], eax
mov eax, dword [0x533964]
mov dword [0x533a50], eax
mov eax, dword [0x533a50]
cmp eax, dword [0x533a40]
jle 0x50ce9e
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
jmp 0x50ce9e
mov eax, 0x30
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
fild dword [ebp - 0x38]
call fcn.0040762c
mov dword [ebp - 0x28], eax
mov eax, dword [0x5338a4]
mov dword [0x53390c], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
mov eax, dword [ebp - 0x20]
imul dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 9], 0
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xc
jge 0x50cf14
inc dword [ebp - 0x44]
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [0x533864]
call fcn.004071f4
mov dword [0x533864], eax
jmp 0x50cf03
mov eax, 0x5a
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x44], 0xc
jl 0x50cee1
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
mov eax, dword [0x5339b4]
add eax, dword [0x5339ac]
mov dword [0x5339e8], eax
mov eax, dword [0x5338ec]
mov dword [0x533a18], eax
mov eax, dword [0x5338ec]
mov dword [0x533a18], eax
mov eax, dword [0x533a18]
cmp eax, dword [0x533a18]
jge 0x50cf67
mov eax, 0xea
sub eax, dword [0x5338dc]
mov dword [0x533874], eax
mov eax, dword [0x53388c]
sub eax, dword [0x5339e8]
mov dword [0x5338cc], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx]
cmp edx, 0
jne 0x50d162
cmp eax, 0
jne 0x50d162
mov eax, dword [0x5339d0]
mov dword [0x5339c4], eax
mov eax, dword [0x53396c]
mov dword [0x5339d0], eax
mov eax, dword [0x5339c4]
cmp eax, dword [0x5339d0]
jge 0x50d027
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 3
jge 0x50cff0
inc dword [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 7
jne 0x50cfc4
mov eax, dword [ebp - 0x28]
imul dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x40], 3
jl 0x50cfbc
mov eax, dword [ebp - 0x18]
imul dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x14]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
call fcn.005034e8
mov dword [0x533934], eax
imul eax, dword [0x53397c], 0xa4
mov dword [0x533a00], eax
jmp 0x50d061
mov eax, dword [0x5339d8]
mov dword [0x53385c], eax
mov eax, dword [0x5339c4]
cmp eax, dword [0x53385c]
jle 0x50d057
mov eax, dword [0x53392c]
push eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [0x53398c]
mov eax, dword [ebp - 0x44]
call fcn.004f8894
jmp 0x50d061
mov eax, dword [0x53386c]
mov dword [0x5338dc], eax
mov eax, dword [0x53394c]
push eax
mov eax, dword [0x5338b4]
push eax
mov eax, dword [0x5338e4]
push eax
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [0x5338cc]
mov edx, dword [0x533894]
mov eax, dword [ebp - 0x34]
call fcn.00503b0c
mov dword [0x5338ec], eax
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
mov eax, dword [0x5339d8]
add eax, 9
cmp eax, dword [0x5339ac]
jge 0x50d0b8
mov eax, dword [0x5338dc]
add eax, 0x65
mov dword [0x53385c], eax
mov byte [ebp - 9], 1
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xa
jge 0x50d113
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jge 0x50d0fb
inc dword [ebp - 0x40]
fild dword [ebp - 0x28]
call fcn.0040762c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x40], 0
jl 0x50d0e7
mov eax, dword [0x533a38]
sub eax, dword [0x5338d4]
mov dword [0x5339c4], eax
jmp 0x50d113
mov eax, dword [0x5338bc]
add eax, 4
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.00407638
mov dword [0x53386c], eax
imul eax, dword [0x53386c], 0x1a
mov dword [0x5338cc], eax
fild dword [0x533864]
call fcn.00407638
mov dword [0x533934], eax
mov eax, dword [0x53389c]
add eax, dword [0x533a08]
mov dword [0x53397c], eax
jmp 0x50fe45
xor eax, eax
push ebp
push 0x50fd1b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x24]
sub eax, 0x45
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xe
jge 0x50d196
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x20], 0xe
jl 0x50d184
lea eax, [ebp - 0x10]
mov edx, 0x50fe80
call fcn.0040a01c
mov eax, dword [0x5338bc]
mov dword [0x53394c], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
add eax, 0xac
cmp eax, dword [ebp - 0x18]
jge 0x50d212
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xb
jge 0x50d212
inc dword [ebp - 0x30]
mov eax, dword [0x533864]
call fcn.004071f4
mov dword [0x533864], eax
mov eax, dword [0x53394c]
cmp eax, dword [0x533864]
jle 0x50d212
mov eax, dword [0x5339e8]
add eax, 0x6b
mov dword [0x5338e4], eax
jmp 0x50d212
push 0xf0000000
push 1
push 0
push 0
lea eax, [ebp - 0x54]
push eax
call dword [0x533910]
test eax, eax
je 0x50fc9a
mov eax, dword [0x5338b4]
call fcn.004071f4
mov dword [0x5338b4], eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.0040abd8
mov eax, dword [0x5338dc]
call fcn.004071f4
mov dword [0x5338dc], eax
imul eax, dword [ebp - 0x34], 0xad
mov dword [ebp - 0x28], eax
mov eax, dword [0x533a30]
push eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [0x533a28]
push eax
mov eax, dword [0x533a28]
push eax
mov ecx, dword [0x5338d4]
mov edx, dword [0x5338c4]
mov eax, dword [0x5338b4]
call fcn.00503b0c
mov dword [ebp - 0x2c], eax
mov eax, dword [0x5338e4]
mov dword [0x53395c], eax
mov eax, dword [0x53395c]
cmp eax, dword [0x5338dc]
jge 0x50d2bc
mov eax, dword [ebp - 0x40]
imul dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
xor eax, eax
push ebp
push 0x50fbad
push dword fs:[eax]
mov dword fs:[eax], esp
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, 0x50feb0
call fcn.0040a01c
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
fild dword [ebp - 0x1c]
call fcn.0040762c
mov dword [ebp - 0x3c], eax
mov eax, dword [0x533974]
call fcn.004071f4
mov dword [0x533974], eax
mov eax, dword [0x533964]
add eax, 4
mov dword [0x533a18], eax
mov eax, dword [0x5338f4]
add eax, dword [0x533984]
mov dword [0x533884], eax
mov eax, dword [0x53389c]
add eax, 4
mov dword [0x5338e4], eax
lea eax, [ebp - 0x58]
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 - 0x54]
push eax
call dword [0x533928]
test eax, eax
je 0x50fb4b
xor eax, eax
push ebp
push 0x50fad8
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
add eax, 0x8e
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x10]
mov edx, 0x50fecc
call fcn.0040a01c
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 8
jge 0x50d3bf
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
add eax, 0x36
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x28], 8
jl 0x50d3ad
mov eax, dword [0x5339bc]
call fcn.004071f4
mov dword [0x5339bc], eax
push 0xf0000000
push 0x18
push 0
push 0
lea eax, [ebp - 0x4c]
push eax
call dword [0x533910]
test eax, eax
je 0x50f8fc
mov eax, dword [ebp - 0x40]
imul dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x30]
add eax, 0xbb
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
imul dword [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xd
jge 0x50d435
inc dword [ebp - 0x18]
mov eax, dword [0x5338a4]
add eax, dword [0x533874]
mov dword [0x53387c], eax
cmp dword [ebp - 0x18], 0xd
jl 0x50d41c
mov eax, dword [0x5338a4]
call fcn.004071f4
mov dword [0x5338a4], eax
xor eax, eax
push ebp
push 0x50f79b
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x50]
push eax
push 1
push 0x6610
mov eax, dword [ebp - 0x4c]
push eax
call dword [0x533958]
test eax, eax
je 0x50f6a9
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 1
jge 0x50d490
inc dword [ebp - 0x40]
lea eax, [ebp - 0x10]
mov edx, 0x50ff00
call fcn.0040a01c
cmp dword [ebp - 0x40], 1
jl 0x50d47a
mov eax, dword [0x53386c]
mov dword [0x5338b4], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x18]
cmp eax, 0x21
jge 0x50d4c2
mov eax, dword [ebp - 0x20]
add eax, 0x7f
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x48]
sub eax, 0x20
mov dword [ebp - 0x38], eax
mov eax, dword [0x5338d4]
mov dword [0x533a30], eax
mov eax, dword [0x533a38]
call fcn.004071f4
mov dword [0x533a38], eax
xor eax, eax
push ebp
push 0x50f52a
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x5c]
push eax
push 0
push 0
push 8
push 0
mov eax, dword [ebp - 0x50]
push eax
call dword [0x533960]
test eax, eax
je 0x50f447
mov eax, dword [ebp - 0x20]
add eax, 0xd8
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.0040762c
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.00407638
mov dword [ebp - 0x3c], eax
mov eax, 0x7d
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x18], eax
mov eax, dword [0x533864]
call fcn.004071f4
mov dword [0x533864], eax
mov eax, 0x41
sub eax, dword [0x533a08]
cmp eax, 0xf0
jge 0x50d583
mov eax, dword [0x5338b4]
call fcn.004071f4
mov dword [0x5338b4], eax
jmp 0x50d58d
mov eax, dword [0x533a40]
mov dword [0x53392c], eax
mov eax, 0x3d
sub eax, dword [0x533a50]
cmp eax, 0xa4
jge 0x50d5ab
imul eax, dword [ebp - 0x24], 0xef
mov dword [ebp - 0x28], eax
jmp 0x50d5b5
mov eax, dword [0x5338ec]
mov dword [0x5338d4], eax
mov eax, pe_nt_image_headers32
call fcn.00406e0c
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x30]
add eax, 0x9b
mov dword [ebp - 0x34], eax
mov ecx, dword [0x53394c]
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x5339d0]
call fcn.005017cc
mov dword [0x5338a4], eax
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.00407638
mov dword [ebp - 0x3c], eax
mov eax, 0x91
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], eax
mov eax, dword [0x533a50]
mov dword [0x53385c], eax
imul eax, dword [ebp - 0x24], 0x87
mov dword [ebp - 0x38], eax
xor eax, eax
push ebp
push 0x50f370
push dword fs:[eax]
mov dword fs:[eax], esp
fild dword [ebp - 0x34]
call fcn.00407638
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x18]
sub eax, 0xae
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x28]
add eax, 0x6c
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x44]
jle 0x50d660
mov eax, dword [0x533864]
mov dword [0x53388c], eax
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [0x5338d4]
add eax, 0xd8
mov dword [0x53397c], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 6
jne 0x50d665
lea eax, [ebp - 0x14]
mov edx, 0x50ff28
call fcn.0040a01c
lea eax, [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x68]
push eax
push 0
push 8
push 0
mov eax, dword [ebp - 0x50]
push eax
call dword [0x533960]
test eax, eax
je 0x50f236
mov dl, 1
mov eax, dword [0x48c724]
call fcn.00407d6c
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xa
jge 0x50d6f3
inc dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x10]
mov edx, 0x50ff54
call fcn.0040a01c
jmp 0x50d6ed
cmp dword [ebp - 0x38], 0xa
jl 0x50d6cd
mov eax, dword [0x533944]
sub eax, dword [0x53387c]
mov edx, dword [0x53395c]
sub edx, dword [0x53387c]
cmp eax, edx
jle 0x50d733
imul eax, dword [ebp - 0x3c], 0x93
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [0x533944]
shl eax, 2
lea eax, [eax + eax*8]
mov dword [0x53389c], eax
jmp 0x50d73d
mov eax, dword [0x533894]
mov dword [0x533904], eax
mov eax, dword [0x53396c]
call fcn.004071f4
mov dword [0x53396c], eax
mov eax, dword [0x5339ac]
call fcn.004071f4
mov dword [0x5339ac], eax
xor eax, eax
push ebp
push 0x50f171
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x28]
imul dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x38]
add eax, 4
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.00407638
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x38]
cmp eax, edx
jge 0x50d7db
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 7
jge 0x50d7db
inc dword [ebp - 0x40]
mov eax, dword [0x5339d0]
push eax
mov eax, dword [0x5339bc]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [0x5339f8]
mov eax, dword [ebp - 0x28]
call fcn.00504b7c
mov dword [0x5338ac], eax
cmp dword [ebp - 0x40], 7
jl 0x50d7b0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
call fcn.005017cc
mov dword [0x5339d8], eax
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x34]
cmp eax, edx
jge 0x50d84f
mov eax, dword [0x5339c4]
add eax, dword [0x5339bc]
cmp eax, dword [0x5339bc]
jle 0x50d843
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [0x5339e0]
push eax
mov ecx, dword [0x5338fc]
mov edx, dword [0x5339d0]
mov eax, dword [ebp - 0x24]
call fcn.004fe4cc
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 1
jne 0x50d816
jmp 0x50d875
mov eax, dword [0x533884]
mov dword [0x533964], eax
jmp 0x50d875
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x53386c]
call fcn.004f847c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xe
jne 0x50d854
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x40]
push eax
push 0x53392c
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x44]
mov edx, 0x53393c
lea eax, [ebp - 0x30]
call fcn.004ff2b0
mov dword [0x53395c], eax
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x40]
jne 0x50d903
mov eax, dword [0x533a50]
mov dword [0x533a48], eax
mov eax, dword [0x53393c]
mov dword [0x533874], eax
mov eax, dword [0x533874]
cmp eax, dword [0x533a48]
jle 0x50d918
mov eax, dword [0x53388c]
mov dword [0x5338dc], eax
jmp 0x50d918
mov eax, dword [0x533874]
mov dword [0x5339b4], eax
jmp 0x50d918
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x44]
sub eax, 0xf7
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xe
jne 0x50d91d
mov eax, dword [0x533984]
mov dword [0x5339b4], eax
mov eax, 0x100080
call fcn.00406e0c
mov dword [ebp - 0x6c], eax
xor eax, eax
push ebp
push 0x50f04a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x28]
sub eax, 0xce
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
add eax, 0xff
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.0040762c
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 5
jge 0x50d9a4
inc dword [ebp - 0x44]
mov eax, 0x42
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x2c], eax
jmp 0x50d9a4
mov eax, dword [0x53396c]
mov dword [0x53395c], eax
mov eax, 0xfd
sub eax, dword [ebp - 0x30]
cmp eax, 0x47
jge 0x50d9e3
mov eax, dword [0x5339d8]
sub eax, dword [0x5338fc]
mov edx, dword [0x5338b4]
sub edx, dword [0x5338fc]
cmp eax, edx
jle 0x50d9e3
mov eax, dword [0x5339ac]
add eax, 4
mov dword [0x533874], eax
xor eax, eax
mov dword [ebp - 0x7c], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 6
jge 0x50da15
inc dword [ebp - 0x44]
lea ecx, [ebp - 0x2c]
mov edx, 0x5338b4
mov eax, 0x53385c
call fcn.00507940
mov dword [0x5338fc], eax
jmp 0x50da15
mov eax, dword [0x5338ec]
mov dword [0x53390c], eax
mov eax, dword [0x53385c]
mov dword [0x53393c], eax
mov eax, dword [0x53390c]
cmp eax, dword [0x53393c]
jge 0x50da9e
mov eax, dword [0x5339d0]
add eax, 0x1a
cmp eax, dword [0x53398c]
jge 0x50db0c
xor eax, eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0xa
jge 0x50db0c
inc dword [ebp - 0x48]
mov eax, 0xdd
sub eax, dword [ebp - 0x38]
cmp eax, 0xfb
jge 0x50da8c
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.0040aba0
jne 0x50da96
lea edx, [ebp - 0x1c]
mov eax, 0x53386c
call fcn.00504e2c
mov dword [0x5338bc], eax
jmp 0x50da96
mov eax, dword [0x53387c]
mov dword [0x5339b4], eax
cmp dword [ebp - 0x48], 0xa
jl 0x50da59
jmp 0x50db0c
mov eax, 0x2a
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x3c]
jne 0x50dae4
mov eax, dword [ebp - 0x14]
mov edx, 0x50ff7c
call fcn.0040aba0
jne 0x50dae4
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
mov eax, dword [0x53393c]
call fcn.00508504
mov dword [0x533934], eax
lea eax, [ebp - 0x14]
mov edx, 0x50ff98
call fcn.0040a01c
mov eax, 0x56
sub eax, dword [0x53393c]
cmp eax, 0xa
jge 0x50db0c
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x1c], eax
mov eax, dword [0x53390c]
mov dword [0x53396c], eax
mov eax, dword [0x53390c]
cmp eax, dword [0x53396c]
jge 0x50db32
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x20]
call fcn.004fd838
mov eax, dword [ebp - 0x18]
imul dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
jmp 0x50e4d2
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xd
jge 0x50db8d
inc dword [ebp - 0x44]
mov eax, dword [0x5338ac]
call fcn.004071f4
mov dword [0x5338ac], eax
mov eax, dword [0x53390c]
mov dword [0x5338e4], eax
mov eax, 0xcb
sub eax, dword [0x533904]
cmp eax, 0xcd
jge 0x50db87
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x44], 0xd
jl 0x50db50
imul eax, dword [ebp - 0x18], 0xbe
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x30]
sub eax, 0xdf
mov dword [ebp - 0x1c], eax
mov eax, dword [0x5338cc]
sub eax, dword [0x533984]
cmp eax, 0x8f
jge 0x50dbc8
imul eax, dword [ebp - 0x3c], 0xe9
mov dword [ebp - 0x40], eax
mov eax, dword [0x533a38]
mov dword [0x5339bc], eax
cmp dword [ebp - 0x74], 0
jne 0x50dbdd
cmp dword [ebp - 0x78], 0x100000
jbe 0x50dd42
jmp 0x50dbe3
jle 0x50dd42
fild dword [ebp - 0x48]
call fcn.00407638
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 8
jne 0x50dbf8
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
mov eax, dword [0x533904]
mov dword [0x533934], eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 6
jne 0x50dbf3
mov eax, dword [ebp - 0x20]
add eax, 0x9e
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.0040762c
mov dword [ebp - 0x34], eax
mov eax, dword [0x533944]
add eax, 0x6b
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.0040762c
mov dword [0x53385c], eax
mov eax, dword [0x5339f8]
mov dword [0x53388c], eax
fild dword [0x533934]
call fcn.0040762c
mov dword [0x5338fc], eax
mov dword [ebp - 0x60], 0x100000
lea eax, [ebp - 0x10]
mov edx, 0x50ffb8
call fcn.0040a01c
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
mov eax, 0xf8
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x20], eax
mov eax, dword [0x5338ec]
call fcn.004071f4
mov dword [0x5338ec], eax
mov ecx, 1
mov edx, dword [0x533994]
mov eax, 0x50ffe0
call fcn.0040ade8
cmp eax, 0x54
jge 0x50dcdc
mov eax, dword [ebp - 0x48]
add eax, 0xe0
mov dword [ebp - 0x1c], eax
jmp 0x50dd30
mov eax, dword [0x5339d8]
mov dword [0x533a48], eax
mov eax, dword [0x5338c4]
mov dword [0x533874], eax
mov eax, dword [0x533874]
cmp eax, dword [0x533a48]
jle 0x50dd08
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
jmp 0x50dd30
mov eax, dword [0x5339d8]
add eax, dword [0x53394c]
mov edx, dword [0x533904]
add edx, dword [0x5339d8]
cmp eax, edx
jge 0x50dd30
lea eax, [ebp - 0x10]
mov edx, 0x510018
call fcn.0040a01c
mov eax, dword [0x533904]
imul dword [0x53398c]
mov dword [0x5339bc], eax
jmp 0x50dd9d
mov eax, dword [0x533944]
call fcn.004071f4
mov dword [0x533944], eax
lea eax, [ebp - 0x14]
mov edx, 0x510044
call fcn.0040a01c
mov eax, dword [0x5339e0]
mov dword [0x5339d0], eax
fild dword [ebp - 0x24]
call fcn.0040762c
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 4
jge 0x50dd8d
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x34], 4
jl 0x50dd7e
imul eax, dword [ebp - 0x2c], 0xa5
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x34]
imul dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x38]
add eax, 0x88
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.0040762c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, 0xbc
sub eax, dword [0x5338ec]
mov dword [0x533864], eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xe
jne 0x50ddd0
mov eax, dword [0x5339c8]
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x50de02
mov eax, dword [ebp - 0x80]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0xfa
jle 0x50de1b
mov eax, 0x51
sub eax, dword [0x533a48]
mov dword [0x53393c], eax
mov eax, dword [0x5339d0]
mov dword [0x533a18], eax
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 8]
call fcn.004a89f8
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x20]
sub eax, 0xe0
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x30]
imul dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
imul eax, dword [ebp - 0x48], 0x73
mov dword [ebp - 0x40], eax
imul eax, dword [0x533a38], 0x73
mov dword [0x533894], eax
imul eax, dword [0x5338bc], 0x70
mov dword [0x53392c], eax
mov eax, dword [0x53395c]
call fcn.004071f4
mov dword [0x53395c], eax
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
push edx
push eax
mov eax, dword [ebp - 0x64]
xor edx, edx
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
push 0
lea eax, [ebp - 0x60]
push eax
push 0
push 0
push 0xffffffffffffffff
push 0
mov eax, dword [ebp - 0x50]
push eax
call dword [0x533968]
test eax, eax
je 0x50e3be
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [0x53397c]
mov dword [0x53393c], eax
mov eax, dword [ebp - 0x1c]
add eax, 0xcb
mov dword [ebp - 0x34], eax
fild dword [ebp - 0x30]
call fcn.0040762c
mov dword [ebp - 0x38], eax
mov eax, dword [0x5339f8]
sub eax, dword [0x5339d0]
mov edx, dword [0x5338a4]
sub edx, dword [0x5339d0]
cmp eax, edx
jle 0x50df1d
mov eax, dword [0x533a18]
mov dword [0x533a50], eax
mov eax, dword [0x53393c]
cmp eax, dword [0x533a50]
jle 0x50df3f
mov eax, dword [ebp - 0x20]
sub eax, 0x17
mov dword [ebp - 0x48], eax
jmp 0x50df3f
mov eax, dword [0x533984]
mov dword [0x5339d8], eax
mov eax, dword [0x5339d8]
cmp eax, dword [0x533a50]
jge 0x50df3f
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
lea eax, [ebp - 0x10]
mov edx, 0x510090
call fcn.0040a01c
cmp dword [ebp - 0x7c], 0
jne 0x50e013
mov eax, dword [0x533a48]
mov dword [0x5338a4], eax
mov eax, dword [ebp - 0x38]
add eax, 0xaf
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x48]
add eax, 0x47
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.0040762c
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x50dfdd
inc dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 3
jge 0x50dfb4
inc dword [ebp - 0x44]
mov eax, dword [0x533a48]
sub eax, 0x3c
mov dword [0x533934], eax
cmp dword [ebp - 0x44], 3
jl 0x50df9e
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 9
jge 0x50dfdd
inc dword [ebp - 0x3c]
mov eax, dword [0x5338b4]
sub eax, 0x66
mov dword [0x5338ec], eax
cmp dword [ebp - 0x3c], 9
jl 0x50dfbf
jmp 0x50dfdd
mov eax, dword [0x5339e0]
call fcn.004071f4
mov dword [0x5339e0], eax
mov eax, dword [0x533934]
add eax, 4
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.00407638
mov dword [0x53386c], eax
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x64]
mov dword [ebp - 0x7c], eax
mov eax, dword [0x5339f8]
sub eax, dword [0x533904]
cmp eax, dword [0x5339f8]
jge 0x50e043
mov eax, dword [0x533a20]
mov edx, dword [0x533954]
call fcn.0040aba0
jne 0x50e043
mov eax, dword [ebp - 0x28]
add eax, 0xb2
mov dword [ebp - 0x20], eax
mov eax, dword [0x533934]
mov dword [0x53394c], eax
mov eax, dword [ebp - 0x48]
imul dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 4
jne 0x50e060
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 5
jne 0x50e05b
mov eax, dword [0x53385c]
mov dword [0x53394c], eax
mov eax, dword [0x533894]
sub eax, dword [0x533974]
mov dword [0x533a08], eax
mov eax, dword [ebp - 0x60]
push eax
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x6c]
push eax
push 0
push 0xffffffffffffffff
push 0
mov eax, dword [ebp - 0x50]
push eax
call dword [0x533968]
test eax, eax
je 0x50e1c0
mov eax, dword [0x53386c]
mov dword [0x53397c], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 8
jge 0x50e0f9
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
sub eax, 0
mov dword [ebp - 0x24], eax
fild dword [ebp - 0x38]
call fcn.0040762c
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
imul dword [ebp - 0x18]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x44], 8
jl 0x50e0d3
imul eax, dword [0x5338b4], 0xf8
mov dword [0x533874], eax
fild dword [0x533944]
call fcn.00407638
mov dword [0x5338f4], eax
mov eax, dword [0x533a50]
mov dword [0x533934], eax
mov eax, dword [0x53393c]
mov dword [0x533964], eax
mov eax, dword [0x533964]
cmp eax, dword [0x533934]
jge 0x50e14b
mov eax, dword [0x533974]
add eax, dword [0x5339e0]
mov dword [0x533884], eax
jmp 0x50e158
mov eax, dword [0x5338f4]
sub eax, 0x4f
mov dword [0x533944], eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 9
jne 0x50e0c8
fild dword [0x533a48]
call fcn.0040762c
mov dword [0x53388c], eax
mov eax, dword [0x53397c]
sub eax, 0x7a
mov dword [0x5338fc], eax
mov eax, dword [0x5338bc]
add eax, 0xaa
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.0040762c
mov dword [0x533984], eax
mov eax, dword [0x5338c4]
add dword [0x533a18], eax
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x70]
call fcn.004a9784
jmp 0x50e304
mov eax, dword [0x5339d8]
mov dword [0x5339f8], eax
mov eax, dword [0x533a28]
call fcn.004071f4
mov dword [0x533a28], eax
mov eax, dword [0x5339f8]
cmp eax, dword [0x533a28]
jge 0x50e1f1
mov eax, dword [ebp - 0x44]
sub eax, 0x34
mov dword [ebp - 0x20], eax
jmp 0x50e1fa
mov eax, dword [ebp - 0x38]
add eax, 4
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x40]
add eax, 0x61
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 1
jge 0x50e221
inc dword [ebp - 0x48]
mov eax, dword [0x533884]
mov dword [0x5338bc], eax
cmp dword [ebp - 0x48], 1
jl 0x50e20e
mov eax, dword [0x533a28]
add eax, 0xf1
mov dword [0x53398c], eax
mov eax, dword [0x53394c]
sub eax, dword [0x533864]
mov dword [0x533a28], eax
fild dword [0x53389c]
call fcn.0040762c
mov dword [0x533894], eax
jmp 0x50e4ea
mov eax, dword [0x53390c]
call fcn.004071f4
mov dword [0x53390c], eax
mov eax, dword [ebp - 0x24]
imul dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
imul eax, dword [ebp - 0x40], 0xfa
mov dword [ebp - 0x38], eax
mov eax, dword [0x53388c]
mov dword [0x5339d8], eax
mov eax, dword [0x5339d8]
cmp eax, dword [0x53390c]
jge 0x50e397
mov eax, dword [0x5339d8]
mov dword [0x53385c], eax
mov eax, dword [0x5338c4]
mov dword [0x533884], eax
mov eax, dword [0x533884]
cmp eax, dword [0x53390c]
jle 0x50e36b
mov eax, 0x59
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
jmp 0x50e3a6
mov eax, dword [0x533a00]
mov dword [0x5339c4], eax
mov eax, dword [0x5339c4]
cmp eax, dword [0x53390c]
jge 0x50e3a6
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
jmp 0x50e3a6
mov eax, dword [0x53397c]
call fcn.004071f4
mov dword [0x53397c], eax
mov eax, dword [ebp - 0x20]
add eax, 0x59
mov dword [ebp - 0x1c], eax
mov eax, dword [0x533a08]
mov dword [0x533864], eax
jmp 0x50e489
mov eax, dword [0x533a40]
mov dword [0x5339d0], eax
mov eax, dword [0x5339e8]
call fcn.004071f4
mov dword [0x5339e8], eax
mov eax, dword [0x5339d0]
cmp eax, dword [0x5339e8]
jge 0x50e3f7
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
mov eax, dword [ebp - 0x20]
add eax, 0x32
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.0040762c
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 8
jge 0x50e449
inc dword [ebp - 0x28]
mov eax, dword [0x5339bc]
cmp eax, dword [0x5339ac]
jle 0x50e443
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 1
jne 0x50e431
cmp dword [ebp - 0x28], 8
jl 0x50e41c
mov eax, dword [ebp - 0x18]
mov edx, eax
shl eax, 4
sub eax, edx
mov dword [ebp - 0x34], eax
mov eax, dword [0x53395c]
mov dword [0x533a00], eax
mov eax, dword [0x533a00]
cmp eax, dword [0x5339e8]
jge 0x50e47a
lea eax, [ebp - 0x10]
mov edx, 0x5100b4
call fcn.0040a01c
mov eax, dword [0x5339e0]
sub eax, 0x4e
mov dword [0x53395c], eax
jmp 0x50e4ea
imul eax, dword [ebp - 0x3c], 0xdf
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.00407638
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x2c]
call fcn.00407638
mov dword [ebp - 0x30], eax
mov eax, dword [0x5338d4]
add eax, dword [0x533a00]
mov dword [0x533a30], eax
mov eax, dword [0x5338cc]
mov dword [0x533884], eax
cmp dword [ebp - 0x74], 0
jne 0x50e4e4
cmp dword [ebp - 0x78], 0
ja 0x50db45
jmp 0x50e4ea
jg 0x50db45
fild dword [ebp - 0x28]
call fcn.0040762c
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x14]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.0040abd8
mov eax, dword [0x5338ec]
mov dword [0x5339f8], eax
mov eax, dword [ebp - 0x18]
sub eax, 0x35
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x34]
add eax, 0xeb
mov dword [ebp - 0x40], eax
mov eax, dword [0x53399c]
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
je 0x50e54e
mov eax, dword [ebp - 0x84]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0xf9
jne 0x50e56c
mov eax, 0xc9
sub eax, dword [0x5339e0]
mov dword [0x53393c], eax
jmp 0x50e5bb
mov eax, dword [0x533a50]
add eax, dword [0x5339d8]
cmp eax, dword [0x5339d8]
jne 0x50e5bb
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.0040aba0
jne 0x50e5ac
push 0x533a50
mov ecx, 0x533a40
mov edx, 0x53398c
mov eax, 0x533a08
call fcn.004f8d10
mov dword [0x5338a4], eax
jmp 0x50e5bb
mov eax, dword [0x53394c]
call fcn.004071f4
mov dword [0x53394c], eax
cmp dword [ebp - 0x74], 0
jne 0x50eec5
cmp dword [ebp - 0x78], 0
jne 0x50eec5
mov eax, dword [0x5339bc]
add eax, 0xed
cmp eax, dword [0x5339b4]
jge 0x50e6b6
xor eax, eax
mov dword [ebp - 0x44], eax
mov eax, dword [0x533984]
mov dword [0x53387c], eax
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xb
jne 0x50e5ea
mov eax, dword [0x53397c]
mov dword [0x5338cc], eax
mov eax, dword [0x533884]
mov dword [0x5338f4], eax
mov eax, dword [0x5338cc]
cmp eax, dword [0x5338f4]
jle 0x50e62b
mov eax, 0xa8
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
jmp 0x50e654
xor eax, eax
mov dword [ebp - 0x48], eax
mov ecx, 0x53395c
mov edx, 0x533a50
mov eax, 0x5338ec
call fcn.004ebb6c
mov dword [0x5339ac], eax
jmp 0x50e654
mov eax, dword [0x533984]
call fcn.004071f4
mov dword [0x533984], eax
mov eax, dword [0x533984]
cmp eax, dword [0x5338f4]
jge 0x50e68f
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 7
jge 0x50e6b6
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x34], 7
jl 0x50e67b
jmp 0x50e6b6
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x3c]
jne 0x50e6b6
xor eax, eax
mov dword [ebp - 0x20], eax
mov edx, dword [0x53393c]
mov eax, dword [ebp - 0x38]
call fcn.0050a1ac
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xb
jne 0x50e69f
mov eax, dword [ebp - 0x28]
sub eax, 0x7f
mov dword [ebp - 0x30], eax
mov eax, dword [0x5338ac]
add eax, 0xf1
cmp eax, dword [0x5338e4]
jge 0x50e6e3
mov eax, dword [0x53397c]
add eax, dword [0x53390c]
mov dword [0x53394c], eax
jmp 0x50e70f
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x40]
cmp eax, edx
jge 0x50e6ff
mov eax, dword [0x533a28]
mov dword [0x53385c], eax
jmp 0x50e70f
mov eax, dword [0x53394c]
imul dword [0x5339ac]
mov dword [0x533934], eax
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
mov eax, dword [0x53388c]
mov dword [0x533a28], eax
mov eax, dword [0x533a38]
add eax, 0x70
mov dword [0x53388c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x60], eax
push 0
lea eax, [ebp - 0x60]
push eax
push 0
push 0
push 0xffffffffffffffff
push 0
mov eax, dword [ebp - 0x58]
push eax
call dword [0x533968]
test eax, eax
je 0x50eab4
fild dword [ebp - 0x24]
call fcn.0040762c
mov dword [ebp - 0x28], eax
mov eax, dword [0x53390c]
call fcn.004071f4
mov dword [0x53390c], eax
lea eax, [ebp - 0x14]
mov edx, 0x510100
call fcn.0040a01c
fild dword [ebp - 0x34]
call fcn.0040762c
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [0x533964]
mov edx, dword [ebp - 0x20]
mov eax, dword [0x533904]
call fcn.004fe4cc
mov eax, dword [ebp - 0x18]
sub eax, 0xe5
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x60]
push eax
lea eax, [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x68]
push eax
push 0
push 0xffffffffffffffff
push 0
mov eax, dword [ebp - 0x58]
push eax
call dword [0x533968]
test eax, eax
je 0x50ea48
mov eax, dword [0x533894]
mov dword [0x53398c], eax
mov eax, 0xc2
sub eax, dword [0x53395c]
cmp eax, 0x87
jge 0x50e81d
xor eax, eax
mov dword [ebp - 0x48], eax
mov edx, dword [0x5339bc]
mov eax, dword [ebp - 0x38]
call fcn.00502408
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0xa
jne 0x50e7f8
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
jmp 0x50e894
mov eax, dword [0x5339c4]
add eax, dword [0x5338ec]
mov edx, dword [0x53388c]
add edx, dword [0x5339c4]
cmp eax, edx
jge 0x50e851
xor eax, eax
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
call fcn.0050a1ac
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 9
jne 0x50e83d
mov eax, 0x7d
sub eax, dword [ebp - 0x48]
cmp eax, 0x68
jge 0x50e88a
mov eax, dword [0x5339c4]
mov dword [0x5339d8], eax
mov eax, dword [0x5339d8]
cmp eax, dword [0x53398c]
jge 0x50e894
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
jmp 0x50e894
imul eax, dword [ebp - 0x30], 0xb2
mov dword [ebp - 0x34], eax
mov eax, dword [0x533864]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [0x5339f8]
mov edx, dword [0x5339ac]
mov eax, dword [0x5338fc]
call fcn.004fd4b0
mov eax, dword [0x533884]
call fcn.004071f4
mov dword [0x533884], eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x44], eax
mov eax, dword [0x5339b4]
mov dword [0x53390c], eax
lea edx, [ebp - 0x7c]
mov ecx, 4
mov eax, dword [ebp - 0x70]
call fcn.004a9784
mov eax, dword [ebp - 0x28]
mov edx, eax
shl eax, 6
add eax, edx
mov dword [ebp - 0x24], eax
mov eax, dword [0x533974]
mov dword [0x5338f4], eax
mov eax, dword [0x53387c]
mov dword [0x533934], eax
mov eax, dword [0x5338f4]
cmp eax, dword [0x533934]
jge 0x50e97f
mov eax, dword [0x5339bc]
mov dword [0x5339bc], eax
mov eax, dword [0x5339bc]
cmp eax, dword [0x533934]
jge 0x50e973
mov eax, dword [0x53391c]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x50e950
mov eax, dword [ebp - 0x88]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0xad
jne 0x50e968
mov eax, dword [0x53389c]
mov dword [0x5338a4], eax
jmp 0x50e973
mov eax, 0x23
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
imul eax, dword [ebp - 0x3c], 0xc4
mov dword [ebp - 0x44], eax
jmp 0x50e9a6
mov eax, 0xe
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
imul eax, dword [0x53389c], 0xa7
mov dword [0x53398c], eax
mov eax, dword [0x5339e0]
add eax, 4
mov dword [0x533a28], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
mov eax, dword [0x53392c]
call fcn.004071f4
mov dword [0x53392c], eax
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x70]
call fcn.004a9784
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
mov eax, dword [0x5338ac]
sub eax, dword [0x533904]
cmp eax, 5
jge 0x50e9f4
mov eax, dword [ebp - 0x40]
imul dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
jmp 0x50ea1d
mov eax, dword [0x53387c]
mov dword [0x5339b4], eax
lea eax, [ebp - 0x14]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.0040abd8
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x44], eax
mov eax, dword [0x53394c]
mov dword [0x53389c], eax
lea eax, [ebp - 0x10]
mov edx, 0x510140
call fcn.0040a01c
mov eax, dword [ebp - 0x20]
imul dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x48]
add eax, 0xbc
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x20]
add eax, 0x4d
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
add eax, 0xe6
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.0040762c
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 5
jge 0x50ea9a
inc dword [ebp - 0x44]
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jne 0x50ea80
jmp 0x50ea9a
mov eax, dword [0x53395c]
sub eax, dword [0x53386c]
mov dword [0x533a38], eax
mov eax, dword [0x533a08]
mov dword [0x53386c], eax
fild dword [ebp - 0x40]
call fcn.00407638
mov dword [ebp - 0x34], eax
imul eax, dword [ebp - 0x18], 0xdc
mov dword [ebp - 0x3c], eax
fild dword [ebp - 0x28]
call fcn.0040762c
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x20]
sub eax, 0x1b
mov dword [ebp - 0x38], eax
imul eax, dword [0x533864], 0x93
mov dword [0x533944], eax
mov eax, dword [ebp - 8]
call fcn.004aa61c
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
mov eax, dword [ebp - 0x10]
mov edx, 0x51018c
call fcn.0040aba0
jne 0x50eb5e
mov eax, dword [ebp - 0x34]
imul dword [ebp - 0x48]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.0040aba0
jne 0x50eb3d
mov eax, dword [0x533974]
call fcn.004071f4
mov dword [0x533974], eax
jmp 0x50eb97
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 8
jge 0x50eb97
inc dword [ebp - 0x44]
mov eax, 0x5d
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x44], 8
jl 0x50eb48
jmp 0x50eb97
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 1
jge 0x50eb81
inc dword [ebp - 0x18]
mov eax, dword [0x5338c4]
call fcn.004071f4
mov dword [0x5338c4], eax
cmp dword [ebp - 0x18], 1
jl 0x50eb69
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [0x533a48]
sub eax, dword [0x5338e4]
mov dword [0x5339f8], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jge 0x50ebc5
inc dword [ebp - 0x1c]
fild dword [0x53386c]
call fcn.00407638
mov dword [0x53395c], eax
mov eax, dword [0x5338f4]
mov dword [0x5339ac], eax
cmp dword [ebp - 0x1c], 0
jl 0x50eba2
mov eax, dword [0x5338ec]
mov dword [0x533a08], eax
mov eax, dword [0x53389c]
add eax, 0xca
mov dword [0x533874], eax
mov eax, dword [0x533934]
mov dword [0x5338ac], eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx]
cmp edx, 0
jne 0x50ec0b
cmp eax, 0
jbe 0x50ecf8
jmp 0x50ec11
jle 0x50ecf8
push 0x533a40
push 0x5338b4
push 0x533864
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x5339d8
mov edx, 0x533984
mov eax, 0x5339e0
call fcn.004ff2b0
mov dword [0x5338f4], eax
mov eax, dword [0x533a08]
mov dword [0x5338bc], eax
mov eax, dword [ebp - 0x38]
imul dword [ebp - 0x44]
mov dword [ebp - 0x28], eax
mov eax, dword [0x533934]
call fcn.004071f4
mov dword [0x533934], eax
mov ecx, 0x53389c
mov edx, 0x53386c
mov eax, 0x5339d8
call fcn.004f8b78
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 8
jge 0x50ece4
inc dword [ebp - 0x18]
mov eax, dword [0x5339d8]
mov dword [0x533a50], eax
mov eax, dword [0x5338c4]
mov dword [0x53387c], eax
mov eax, dword [0x53387c]
cmp eax, dword [0x533a50]
jle 0x50ecad
mov eax, dword [ebp - 0x20]
add eax, 2
mov dword [ebp - 0x3c], eax
jmp 0x50ecde
mov eax, dword [0x5339d0]
cmp eax, dword [0x5339ac]
jle 0x50eccb
mov eax, dword [0x5338b4]
call fcn.004071f4
mov dword [0x5338b4], eax
jmp 0x50ecde
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
cmp dword [ebp - 0x18], 8
jl 0x50ec7e
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx]
push edx
push eax
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 8]
call fcn.004a98d4
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 7
jge 0x50ed49
inc dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [0x53385c]
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [0x53394c]
push eax
mov ecx, dword [0x533a28]
mov edx, dword [0x53398c]
mov eax, dword [0x533904]
call fcn.004f930c
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 5
jne 0x50ed14
cmp dword [ebp - 0x2c], 7
jl 0x50ed0c
fild dword [ebp - 0x28]
call fcn.0040762c
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x14]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xb
jge 0x50ed88
inc dword [ebp - 0x44]
lea eax, [ebp - 0x10]
mov edx, 0x5101d8
call fcn.0040a01c
cmp dword [ebp - 0x44], 0xb
jl 0x50ed72
mov eax, dword [0x533a48]
mov dword [0x5338d4], eax
mov eax, dword [0x5338ec]
call fcn.004071f4
mov dword [0x5338ec], eax
mov eax, dword [0x5338d4]
cmp eax, dword [0x5338ec]
jle 0x50edba
imul eax, dword [0x53387c], 0x47
mov dword [0x5339f8], eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov byte [ebp - 9], 1
mov eax, dword [0x533a48]
mov dword [0x5339d8], eax
mov eax, dword [0x533984]
mov dword [0x533a00], eax
mov eax, dword [0x5339d8]
cmp eax, dword [0x533a00]
jge 0x50edf8
lea eax, [ebp - 0x10]
mov edx, 0x5101fc
call fcn.0040a01c
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
mov eax, 0xb
sub eax, dword [0x53390c]
cmp eax, 0x91
jge 0x50ee4b
mov eax, dword [ebp - 0x3c]
imul dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
imul dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 2
jge 0x50ee4b
inc dword [ebp - 0x40]
mov eax, dword [0x533884]
add eax, dword [0x5338ec]
mov dword [0x533904], eax
cmp dword [ebp - 0x40], 2
jl 0x50ee32
mov eax, 0x30
sub eax, dword [0x533884]
cmp eax, 0x63
jge 0x50ee88
xor eax, eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 7
jne 0x50ee60
mov eax, dword [0x53389c]
mov dword [0x533944], eax
jmp 0x50eeb1
mov eax, dword [0x5339e0]
sub eax, dword [0x53397c]
mov edx, dword [0x5338f4]
sub edx, dword [0x53397c]
cmp eax, edx
mov eax, 0x79
sub eax, dword [0x53398c]
mov dword [0x533a18], eax
mov eax, dword [0x533934]
mov dword [0x533884], eax
mov eax, dword [0x533a40]
mov dword [0x5338ac], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 3
jge 0x50ef07
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [0x5338c4]
push eax
mov eax, dword [0x53397c]
push eax
mov eax, dword [0x533964]
push eax
mov ecx, dword [0x5339e8]
mov edx, dword [ebp - 0x20]
mov eax, dword [0x533a40]
call fcn.00502f44
mov dword [0x533984], eax
cmp dword [ebp - 0x44], 3
jl 0x50eed0
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x50ef35
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
add eax, 4
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.00407638
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x2c], 4
jl 0x50ef12
mov eax, dword [0x533904]
mov dword [0x533a40], eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov ecx, 0x533884
mov edx, 0x5339bc
mov eax, 0x5338c4
call fcn.004fb7d8
mov dword [0x533a00], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50f054
xor eax, eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xf
jge 0x50efb0
inc dword [ebp - 0x1c]
fild dword [ebp - 0x18]
call fcn.0040762c
mov dword [ebp - 0x30], eax
jmp 0x50efb0
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 3
jne 0x50ef7c
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x14]
call fcn.0040a01c
xor eax, eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 5
jge 0x50efe1
inc dword [ebp - 0x48]
imul eax, dword [ebp - 0x40], 0x68
mov dword [ebp - 0x24], eax
jmp 0x50efe1
imul eax, dword [0x533a30], 0x13
mov dword [0x5339e8], eax
mov eax, dword [0x5338bc]
mov dword [0x533a38], eax
mov eax, dword [0x533a28]
mov dword [0x533a50], eax
mov eax, dword [ebp - 0x6c]
call fcn.00406e28
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov eax, dword [0x53398c]
call fcn.004071f4
mov dword [0x53398c], eax
fild dword [ebp - 0x20]
call fcn.00407638
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x48]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x44]
call fcn.00504e2c
ret
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [0x5339ac]
mov dword [0x533874], eax
mov eax, dword [ebp - 0x28]
add eax, 0x7f
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 6
jne 0x50f23b
mov eax, dword [ebp - 0x3c]
add eax, 0x84
mov dword [ebp - 0x24], eax
mov eax, dword [0x533984]
mov dword [0x53392c], eax
mov eax, dword [0x533874]
cmp eax, dword [0x53392c]
jge 0x50f284
fild dword [ebp - 0x34]
call fcn.0040762c
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xc
jne 0x50f28e
mov eax, dword [0x5338a4]
mov dword [0x53392c], eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xa
jne 0x50f289
mov eax, dword [0x533a40]
sub eax, dword [0x53389c]
mov dword [0x533a08], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50f37a
mov eax, dword [ebp - 0x68]
call fcn.00406e28
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], eax
fild dword [ebp - 0x44]
call fcn.0040762c
mov dword [ebp - 0x34], eax
imul eax, dword [ebp - 0x2c], 0xe2
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [0x5339f8]
mov dword [0x533a48], eax
mov eax, dword [0x5338dc]
mov dword [0x533874], eax
mov eax, dword [0x533874]
cmp eax, dword [0x533a48]
jle 0x50f333
mov eax, dword [0x533a38]
imul dword [0x5338cc]
mov dword [0x53394c], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xd
jne 0x50f302
mov eax, dword [0x5339bc]
add eax, dword [0x5339bc]
mov dword [0x533a30], eax
mov eax, dword [0x5338ac]
mov dword [0x53385c], eax
mov eax, dword [0x53385c]
cmp eax, dword [0x533a48]
jle 0x50f36f
imul eax, dword [0x5338e4], 0x54
mov dword [0x5338f4], eax
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50f534
lea eax, [ebp - 0x10]
mov edx, 0x510274
call fcn.0040a01c
fild dword [ebp - 0x28]
call fcn.0040762c
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
add eax, 0xd6
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x38]
add eax, 0xe8
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 8
jge 0x50f4bb
inc dword [ebp - 0x34]
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xf
jge 0x50f4bb
inc dword [ebp - 0x1c]
mov eax, dword [0x533884]
call fcn.004071f4
mov dword [0x533884], eax
cmp dword [ebp - 0x1c], 0xf
jl 0x50f49b
jmp 0x50f4bb
fild dword [0x53386c]
call fcn.00407638
mov dword [0x53396c], eax
mov eax, dword [ebp - 0x50]
push eax
call dword [0x533920]
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x10]
call fcn.0040a01c
mov eax, dword [0x533a50]
mov dword [0x533894], eax
push 0x5339d0
lea eax, [ebp - 0x18]
push eax
push 0x5338d4
push 0x5338e4
mov ecx, 0x5339ac
lea edx, [ebp - 0x24]
lea eax, [ebp - 0x2c]
call fcn.004ff2b0
mov dword [ebp - 0x34], eax
mov eax, dword [0x533a48]
mov dword [0x5338e4], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
add eax, 0x2b
mov dword [ebp - 0x2c], eax
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50f7a5
mov eax, dword [ebp - 0x20]
imul dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [0x5338ec]
add eax, 0xb6
cmp eax, dword [0x5339bc]
jge 0x50f6f3
mov eax, dword [0x533864]
mov dword [0x533934], eax
lea eax, [ebp - 0x14]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.0040abd8
jmp 0x50f6fc
mov eax, dword [ebp - 0x40]
sub eax, 0x46
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x10]
mov edx, 0x5102a0
call fcn.0040a01c
mov eax, dword [0x533884]
call fcn.004071f4
mov dword [0x533884], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
push 0
mov eax, dword [ebp - 0x4c]
push eax
call dword [0x533918]
mov eax, 0xa1
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jge 0x50f76d
inc dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [0x5338ec]
mov dword [0x533874], eax
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 1
jne 0x50f754
cmp dword [ebp - 0x3c], 0
jl 0x50f74c
mov eax, dword [ebp - 0x44]
add eax, 0xa0
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
sub eax, 5
mov dword [ebp - 0x20], eax
mov eax, dword [0x533a38]
add eax, 0xca
mov dword [0x5339b4], eax
call fcn.005034e8
mov dword [0x5338f4], eax
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50fae2
xor eax, eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, 2
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.0040762c
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xe
jge 0x50f952
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
sub eax, 0xfb
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x30], 0xe
jl 0x50f933
jmp 0x50f952
mov eax, dword [0x5338dc]
imul dword [0x533874]
mov dword [0x53389c], eax
mov eax, dword [0x5339d8]
add eax, 0xc2
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.0040762c
mov dword [0x53392c], eax
imul eax, dword [0x53396c], 0x8c
mov dword [0x53398c], eax
fild dword [0x533964]
call fcn.00407638
mov dword [0x533a00], eax
mov eax, dword [0x5338b4]
mov dword [0x533a30], eax
mov eax, dword [0x53386c]
mov dword [0x533a38], eax
mov eax, dword [0x533a38]
cmp eax, dword [0x533a30]
jge 0x50f9d7
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.0040abd8
jmp 0x50f9f5
mov eax, dword [0x533a00]
add eax, 0x52
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.0040762c
mov dword [0x5338ec], eax
mov eax, dword [ebp - 0x58]
push eax
call dword [0x533920]
xor eax, eax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x10]
mov edx, 0x5102e4
call fcn.0040a01c
mov eax, dword [ebp - 0x3c]
add eax, 0xe4
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 6
jge 0x50fa46
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
jmp 0x50fa46
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xa
jge 0x50fa78
inc dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xd
jge 0x50fa72
inc dword [ebp - 0x40]
mov eax, dword [0x533984]
mov dword [0x53386c], eax
cmp dword [ebp - 0x40], 0xd
jl 0x50fa5f
cmp dword [ebp - 0x38], 0xa
jl 0x50fa51
mov eax, dword [0x53397c]
mov dword [0x5338bc], eax
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [0x5339e0]
mov eax, dword [0x5339ac]
call fcn.004f8894
mov dword [0x533a48], eax
mov eax, dword [ebp - 0x18]
add eax, 0x18
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
call fcn.0040762c
mov dword [ebp - 0x30], eax
mov eax, dword [0x53394c]
sub eax, dword [0x53397c]
cmp eax, 0xa9
jge 0x50fad7
mov eax, dword [0x5339bc]
sub eax, 6
mov dword [0x5339d8], eax
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50fbb4
push 0
mov eax, dword [ebp - 0x54]
push eax
call dword [0x533918]
imul eax, dword [ebp - 0x48], 0x35
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x34]
imul dword [ebp - 0x40]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
imul dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.0040abd8
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x2c], eax
fild dword [0x53386c]
call fcn.00407638
mov dword [0x53398c], eax
ret
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
call fcn.00502408
mov ecx, 0x5339d0
lea edx, [ebp - 0x18]
mov eax, 0x533934
call fcn.004f8b78
mov dword [0x53390c], eax
mov eax, 0xcd
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
fild dword [ebp - 0x34]
call fcn.00407638
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov eax, 0x37
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x3c]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x28]
call fcn.004f8b78
mov eax, dword [0x5339ac]
add eax, 0x60
mov dword [0x533a08], eax
mov eax, dword [0x53398c]
add eax, dword [0x53398c]
mov dword [0x53386c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x50fe45
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50fe67
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00409c54
ret