Function at 0x51bb64
Capabilities:
Get number of processors
Parse pe header

Disassembly:
push ebx
mov ebx, esp
and esp, 0xfffffff8
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x8b8e64
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xbbc
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0x30]
mov dword [ebp - 0x50], eax
mov al, byte [ebx + 0x34]
mov dword [ebp - 0x4c], edx
mov byte [ebp - 0x60], al
mov al, byte [ebx + 0x38]
mov byte [ebp - 0x48], al
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0x40]
mov dword [ebp - 0x40], eax
mov dword [ebp - 4], 0
mov dword [ebp - 4], 1
xor al, al
mov esi, dword [ebp - 0x50]
lea edx, [esi + 1]
mov byte [ebp - 0x30], al
xor ecx, ecx
cmp esi, 0xffffffff
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x58], ecx
jne 0x51bbfe
mov al, 1
xor edx, edx
mov ecx, 0x10
mov byte [ebp - 0x30], al
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x34], ecx
lea ecx, [ebx + 0xc]
lea eax, [ebp - 0x274]
push eax
call fcn.004e4df4
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x274]
lea eax, [ebp - 0x264]
push eax
call fcn.004e5be4
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x264]
lea eax, [ebp - 0x254]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 2
mov dword [ebp - 4], 4
lea eax, [ebp - 0x264]
mov dword [ebp - 0xbc8], eax
mov dword [ebp - 4], 5
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x260]
mov edx, dword [ebp - 0x25c]
cmp eax, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
je 0x51bcc9
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xbc0], eax
mov dword [ebp - 4], 6
mov dword [ebp - 4], 7
mov dword [ebp - 4], 6
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x24]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x24]
add eax, 0x10
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
cmp eax, edx
jne 0x51bc7f
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x24], eax
push eax
call fcn.00888fb0
pop ecx
xor esi, esi
mov al, byte [ebp - 0x30]
mov dword [ebp - 0x260], esi
test al, al
mov dword [ebp - 0x25c], esi
mov dword [ebp - 0x258], esi
mov byte [ebp - 0x54], al
jne 0x51bd13
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + edx*4 + 0x16fcc]
test ecx, ecx
je 0x51bd28
add ecx, 0x9040
lea eax, [ebp - 0x254]
push eax
call fcn.004061ec
jmp 0x51bd28
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + 0x17014]
lea edx, [ebp - 0x254]
push edx
call fcn.004061ec
xor eax, eax
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x5c], eax
call fcn.004e4b6c
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x240]
call fcn.004e4b6c
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x230]
call fcn.004e4b6c
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x220]
call fcn.0041cbf8
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x4c]
cmp eax, 1
je 0x51cdf5
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x51bdfe
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
cmp eax, edx
mov dword [ebp - 0x24], eax
jge 0x51bdfe
mov edx, dword [ebp - 0x24]
lea edi, [edx + edx]
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + edx*4 + 0x16fcc]
test edx, edx
jne 0x51bdb9
mov eax, dword [ebp - 0x24]
inc eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
cmp eax, edx
jl 0x51bd95
jmp 0x51bdfe
mov eax, dword [edx + 0x8004]
xor esi, esi
test eax, eax
mov dword [ebp - 0x20], eax
jle 0x51bda9
mov ecx, dword [edx + esi*4]
mov eax, dword [ecx + 0x4c]
add esp, 0xfffffff4
fld qword [eax + 0x760]
add ecx, 0x1b8
fstp qword [esp]
mov byte [esp + 8], 1
call fcn.00669bb0
inc esi
mov eax, dword [ebp - 0x20]
cmp esi, eax
jge 0x51bda9
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + edi*2 + 0x16fcc]
jmp 0x51bdc8
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x398], eax
mov dword [ebp - case.0x4e640c.73], 0x9f6a18
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 4], 0x3c
mov dword [ebp - fcn.0043c40c], 0x9f6a40
lea ecx, [ebp - 0x188]
call fcn.004e4b6c
mov dword [ebp - 0x1a4], 1
xor eax, eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], 0xffffffff
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], eax
mov byte [ebp - 0x178], al
mov dword [ebp - 0x18c], 2
mov dword [ebp - 4], 0xb
mov dword [ebp - fcn.005009b8], 0xa0ff60
xor al, al
mov byte [ebp - 0x102], al
mov byte [ebp - 0x104], al
mov byte [ebp - 0x103], al
mov dword [ebp - 4], 0x3d
mov al, byte [ebp - 0x54]
test al, al
je 0x51beb2
mov esi, 0x4e694b4d
jmp 0x51bec5
mov eax, dword [0x9ee004]
cmp eax, 5
je 0x51cdda
mov esi, 0x4e694b49
lea ecx, [ebp - 0x1a8]
lea edx, [ebx + 0xc]
mov eax, 1
push esi
push 0
push eax
push eax
push edx
call fcn.005009b8
test eax, eax
jne 0x51c392
mov dword [ebp - 0xd4], 0
mov al, byte [ebp - 0x54]
test al, al
je 0x51c05c
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + edx*4 + 0x16fcc]
test eax, eax
je 0x51c04d
mov eax, dword [eax + 0x9048]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x44]
test eax, eax
jl 0x51bf35
mov ecx, 0x9ea5c0
push 0
push eax
call fcn.004ec43c
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0x48]
test al, al
je 0x51bf4d
lea eax, [ebp - 0xd4]
push 0x10
push eax
call fcn.004ec54c
add esp, 8
mov dword [ebp - 0xcc], 0xab85ef01
mov eax, dword [0x9ebca4]
xor ecx, ecx
mov dword [ebp - 0xc8], 0x24
mov edx, 0x11
mov word [ebp - 0xc4], ax
mov word [ebp - 0xc2], cx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], ecx
mov word [ebp - 0xb8], dx
mov dword [ebp - 0xac], ecx
push ecx
call fcn.0089a707
pop ecx
mov dword [ebp - 0xb4], eax
xor eax, eax
mov edx, dword [ebp - 0xd4]
mov word [ebp - 0xb6], ax
xor edi, edi
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
lea esi, [edi + edi]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + edi*4 + 0x16fcc]
test eax, eax
je 0x51c03e
mov eax, dword [eax + 0x9048]
mov edx, dword [ebp - 0x44]
test edx, edx
mov dword [ebp - 0xd4], eax
jl 0x51bff7
mov ecx, 0x9ea5c0
mov eax, edx
push 0
push eax
call fcn.004ec43c
mov dword [ebp - 0xd4], eax
mov dl, byte [ebp - 0x48]
test dl, dl
je 0x51c015
lea eax, [ebp - 0xd4]
push 0x10
push eax
call fcn.004ec54c
add esp, 8
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx + esi*2 + 0x16fcc]
mov dword [ecx + 0x9048], eax
mov eax, 1
mov ecx, dword [edx + esi*2 + 0x16fcc]
push eax
push eax
call fcn.0057c030
add dword [ebp - 0xb0], eax
inc edi
cmp edi, 0x10
jl 0x51bfbe
jmp 0x51c14a
inc edx
cmp edx, 0x10
jl 0x51befd
jmp 0x51bf1b
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + edx*4 + 0x16fcc]
test eax, eax
je 0x51c079
mov eax, dword [eax + 0x9048]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x44]
test eax, eax
jl 0x51c093
mov ecx, 0x9ea5c0
push 0
push eax
call fcn.004ec43c
mov dword [ebp - 0xd4], eax
mov al, byte [ebp - 0x48]
test al, al
je 0x51c0ab
lea eax, [ebp - 0xd4]
push 0x10
push eax
call fcn.004ec54c
add esp, 8
mov dword [ebp - 0xcc], 0x7fa89012
mov eax, dword [0x9ebca0]
xor ecx, ecx
mov dword [ebp - 0xc8], 0x24
mov edx, 0x11
mov word [ebp - 0xc4], ax
mov word [ebp - 0xc2], cx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], ecx
mov word [ebp - 0xb8], dx
mov dword [ebp - 0xac], ecx
push ecx
call fcn.0089a707
pop ecx
mov dword [ebp - 0xb4], eax
xor eax, eax
mov edx, 1
mov dword [ebp - 0xb0], eax
mov edi, dword [ebp - 0x50]
mov esi, dword [ebp - 0x1c]
mov word [ebp - 0xb6], ax
mov ecx, dword [esi + edi*4 + 0x16fcc]
push edx
push edx
call fcn.0057c030
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xd4]
mov edx, edi
mov dword [ebp - 0xac], ecx
mov eax, esi
mov esi, dword [eax + edx*4 + 0x16fcc]
mov dword [esi + 0x9048], ecx
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x51c177
cmp eax, 1
jne 0x51c164
mov eax, 2
mov word [ebp - 0xc2], ax
jmp 0x51c18e
cmp eax, 2
jne 0x51c18e
mov eax, 3
mov word [ebp - 0xc2], ax
jmp 0x51c18e
mov esi, 1
mov al, byte [ebp - 0x60]
test al, al
mov word [ebp - 0xc2], si
je 0x51c2e4
lea ecx, [ebp - 0x1a8]
lea eax, [ebp - 0xcc]
push 0x24
push eax
call fcn.00500ddc
lea eax, [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1c]
push eax
call fcn.004b944c
mov al, byte [ebp - 0x54]
test al, al
jne 0x51c24e
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + edx*4 + 0x16fcc]
test ecx, ecx
je 0x51c2cf
add esp, 0xffffffd8
lea ecx, [esp + 0x10]
xor eax, eax
mov dword [ebp - 0x380], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [ebp - 4], 0x42
lea eax, [ebx + 0x1c]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x3d
mov dword [ebp - 4], 0x3d
lea eax, [ebp - 0x1a8]
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x1c]
mov dword [esp], eax
mov eax, dword [ebp - 0x50]
mov esi, dword [ecx + 0x16cf8]
mov dword [esp + 4], eax
mov edi, dword [ebp - 0x40]
mov ecx, dword [ecx + eax*4 + 0x16fcc]
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
call fcn.0057d354
jmp 0x51c2cf
mov eax, dword [0x979380]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [0x8cf9cc]
mov dword [ecx + 0x17010], eax
add esp, 0xffffffe0
xor eax, eax
mov dword [ecx + 0x1700c], edx
lea ecx, [esp + 0xc]
mov dword [ebp - 0x378], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [ebp - 4], 0x43
lea eax, [ebx + 0x1c]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x3d
mov dword [ebp - 4], 0x3d
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + 0x16dcc]
lea edx, [ebp - 0x1a8]
mov dword [esp], edx
mov esi, dword [ebp - 0x5c]
mov dword [esp + 4], 0
mov dword [esp + 8], esi
mov dword [esp + 0x1c], 0
call fcn.00566be4
lea ecx, [ebp - 0x1a8]
call fcn.004fe128
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x51c39a
mov eax, 1
lea ecx, [ebx + 0xc]
lea edx, [ebp - 0xe4]
mov dword [ebp - 0x5c], eax
push edx
call fcn.004e4e80
mov dword [ebp - 4], 0x3e
lea ecx, [ebx + 0x1c]
lea eax, [ebp - 0xe4]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x3d
lea eax, [ebp - 0xe4]
mov dword [ebp - 0x390], eax
mov dword [ebp - 4], 0x3f
mov dword [ebp - 4], 0x3d
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xdc]
cmp eax, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], edx
je 0x51c8f1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x388], eax
mov dword [ebp - 4], 0x40
mov dword [ebp - 4], 0x41
mov dword [ebp - 4], 0x40
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x24]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x24]
add eax, 0x10
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
cmp eax, edx
jne 0x51c34c
jmp 0x51c8e8
mov eax, 0xffffffff
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x51c414
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
cmp eax, edx
jge 0x51c414
mov edx, dword [ebp - 0x28]
lea edi, [edx + edx]
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + edx*4 + 0x16fcc]
test edx, edx
jne 0x51c3cf
mov eax, dword [ebp - 0x28]
inc eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
cmp eax, edx
jl 0x51c3ab
jmp 0x51c414
mov eax, dword [edx + 0x8004]
xor esi, esi
test eax, eax
mov dword [ebp - 0x20], eax
jle 0x51c3bf
mov ecx, dword [edx + esi*4]
mov eax, dword [ecx + 0x4c]
add esp, 0xfffffff4
fld qword [eax + 0x760]
add ecx, 0x1b8
fstp qword [esp]
mov byte [esp + 8], 0
call fcn.00669bb0
inc esi
mov eax, dword [ebp - 0x20]
cmp esi, eax
jge 0x51c3bf
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + edi*2 + 0x16fcc]
jmp 0x51c3de
mov eax, dword [ebp - 0x30]
test eax, eax
jl 0x51c911
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 4], 0x5c
mov dword [ebp - fcn.005009b8], 0xa0ff60
lea ecx, [ebp - 0x1a8]
call fcn.004fe128
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 4], 0x5d
mov dword [ebp - 4], 0x5e
mov dword [ebp - fcn.0043c40c], 0x9f6a40
lea ecx, [ebp - 0x1a8]
call fcn.0043c3e0
mov dword [ebp - 4], 0x5d
lea eax, [ebp - 0x188]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 4], 0x5f
mov dword [ebp - 4], 0x5d
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x180]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x51c505
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 4], 0x60
mov dword [ebp - 4], 0x61
mov dword [ebp - 4], 0x60
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x51c4bb
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], eax
mov dword [ebp - case.0x4e640c.73], 0x9f6a18
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x220]
call fcn.00406220
mov dword [ebp - 4], 9
lea eax, [ebp - 0x230]
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 4], 0x62
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x228]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x51c5bd
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 4], 0x63
mov dword [ebp - 4], 0x64
mov dword [ebp - 4], 0x63
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x51c573
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], eax
mov dword [ebp - 4], 8
lea eax, [ebp - 0x240]
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 4], 0x65
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x238]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x51c659
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 4], 0x66
mov dword [ebp - 4], 0x67
mov dword [ebp - 4], 0x66
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x51c60f
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], eax
mov dword [ebp - 4], 4
lea eax, [ebp - 0x250]
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 4], 0x68
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x248]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x51c6f5
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 4], 0x69
mov dword [ebp - 4], 0x6a
mov dword [ebp - 4], 0x69
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x51c6ab
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], eax
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x254]
call fcn.00406220
mov dword [ebp - 4], 1
lea eax, [ebp - 0x274]
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 4], 0x6b
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x270]
mov edx, dword [ebp - 0x26c]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x51c7a3
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x298], eax
mov dword [ebp - 4], 0x6c
mov dword [ebp - 4], 0x6d
mov dword [ebp - 4], 0x6c
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x51c759
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], eax
mov dword [ebp - 4], 0
lea eax, [ebx + 0x1c]
mov dword [ebp - 0x290], eax
mov dword [ebp - 4], 0x6e
mov dword [ebp - 4], 0
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x51c833
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x288], eax
mov dword [ebp - 4], 0x6f
mov dword [ebp - 4], 0x70
mov dword [ebp - 4], 0x6f
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x51c7ec
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x28], eax
mov dword [ebp - 4], 0xffffffff
lea eax, [ebx + 0xc]
mov dword [ebp - 0x280], eax
mov dword [ebp - 4], 0x71
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x51c8ba
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x278], eax
mov dword [ebp - 4], 0x72
mov dword [ebp - 4], 0x73
mov dword [ebp - 4], 0x72
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x51c873
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor edx, edx
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0x10], edx
mov edi, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x3c
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x24], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
jmp 0x51c18e
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x370], eax
mov dword [ebp - 4], 0x44
mov dword [ebp - fcn.005009b8], 0xa0ff60
lea ecx, [ebp - 0x1a8]
call fcn.004fe128
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x368], eax
mov dword [ebp - 4], 0x45
mov dword [ebp - 4], 0x46
mov dword [ebp - fcn.0043c40c], 0x9f6a40
lea ecx, [ebp - 0x1a8]
call fcn.0043c3e0
mov dword [ebp - 4], 0x45
lea eax, [ebp - 0x188]
mov dword [ebp - 0x360], eax
mov dword [ebp - 4], 0x47
mov dword [ebp - 4], 0x45
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp - 0x180]
cmp eax, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], edx
je 0x51c9f7
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x358], eax
mov dword [ebp - 4], 0x48
mov dword [ebp - 4], 0x49
mov dword [ebp - 4], 0x48
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
cmp eax, edx
jne 0x51c9ad
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x1c], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], eax
mov dword [ebp - case.0x4e640c.73], 0x9f6a18
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x220]
call fcn.00406220
mov dword [ebp - 4], 9
lea eax, [ebp - 0x230]
mov dword [ebp - 0x350], eax
mov dword [ebp - 4], 0x4a
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x228]
cmp eax, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], edx
je 0x51caaf
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x348], eax
mov dword [ebp - 4], 0x4b
mov dword [ebp - 4], 0x4c
mov dword [ebp - 4], 0x4b
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
cmp eax, edx
jne 0x51ca65
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], eax
mov dword [ebp - 4], 8
lea eax, [ebp - 0x240]
mov dword [ebp - 0x340], eax
mov dword [ebp - 4], 0x4d
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x238]
cmp eax, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], edx
je 0x51cb4b
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x338], eax
mov dword [ebp - 4], 0x4e
mov dword [ebp - 4], 0x4f
mov dword [ebp - 4], 0x4e
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
cmp eax, edx
jne 0x51cb01
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], eax
mov dword [ebp - 4], 4
lea eax, [ebp - 0x250]
mov dword [ebp - 0x330], eax
mov dword [ebp - 4], 0x50
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x248]
cmp eax, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], edx
je 0x51cbe7
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x328], eax
mov dword [ebp - 4], 0x51
mov dword [ebp - 4], 0x52
mov dword [ebp - 4], 0x51
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
cmp eax, edx
jne 0x51cb9d
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x1c], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], eax
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x254]
call fcn.00406220
mov dword [ebp - 4], 1
lea eax, [ebp - 0x274]
mov dword [ebp - 0x320], eax
mov dword [ebp - 4], 0x53
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x270]
mov edx, dword [ebp - 0x26c]
cmp eax, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], edx
je 0x51cc95
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x318], eax
mov dword [ebp - 4], 0x54
mov dword [ebp - 4], 0x55
mov dword [ebp - 4], 0x54
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
cmp eax, edx
jne 0x51cc4b
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x1c], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], eax
mov dword [ebp - 4], 0
lea eax, [ebx + 0x1c]
mov dword [ebp - 0x310], eax
mov dword [ebp - 4], 0x56
mov dword [ebp - 4], 0
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
cmp eax, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], edx
je 0x51cd25
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x308], eax
mov dword [ebp - 4], 0x57
mov dword [ebp - 4], 0x58
mov dword [ebp - 4], 0x57
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
cmp eax, edx
jne 0x51ccde
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x1c], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x28], eax
mov dword [ebp - 4], 0xffffffff
lea eax, [ebx + 0xc]
mov dword [ebp - 0x300], eax
mov dword [ebp - 4], 0x59
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
cmp eax, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], edx
je 0x51cdac
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 4], 0x5a
mov dword [ebp - 4], 0x5b
mov dword [ebp - 4], 0x5a
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
cmp eax, edx
jne 0x51cd65
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1c], eax
push eax
call fcn.00888fb0
pop ecx
xor edx, edx
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x10], edx
mov edi, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x3c
mov eax, dword [ebp - 0x40]
test eax, eax
jl 0x51cdeb
mov esi, 0x4e69436c
jmp 0x51bec5
mov esi, 0x4e694b74
jmp 0x51bec5
mov eax, 2
lea ecx, [ebx + 0x1c]
mov dword [ebp - 0x5c], eax
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x51ceb9
lea ecx, [ebx + 0xc]
lea eax, [ebp - 0x21c]
push eax
call fcn.004e4df4
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0x250]
lea eax, [ebp - 0x21c]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x21c]
mov dword [ebp - 0xbb8], eax
mov dword [ebp - 4], 0xd
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x218]
mov edx, dword [ebp - 0x214]
cmp eax, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], edx
je 0x51dc41
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xbb0], eax
mov dword [ebp - 4], 0xe
mov dword [ebp - 4], 0xf
mov dword [ebp - 4], 0xe
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x24]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x24]
add eax, 0x10
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
cmp eax, edx
jne 0x51ce73
jmp 0x51dc38
lea ecx, [ebx + 0xc]
lea eax, [ebp - 0x1f4]
push eax
call fcn.004e4e80
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x230]
lea eax, [ebp - 0x1f4]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x1f4]
mov dword [ebp - 0xb98], eax
mov dword [ebp - 4], 0x16
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x1ec]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], edx
je 0x51cf62
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xb90], eax
mov dword [ebp - 4], 0x17
mov dword [ebp - 4], 0x18
mov dword [ebp - 4], 0x17
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x51cf18
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
lea ecx, [ebp - 0x230]
lea edx, [ebx + 0x1c]
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], eax
push edx
call fcn.004e3380
lea eax, [ebp - 0x230]
push eax
call fcn.0043c6a0
pop ecx
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
cmp eax, edx
mov dword [ebp - 0x64], eax
jge 0x51bd81
mov ecx, dword [ebp - 0x64]
lea eax, [ecx + ecx]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [edx + ecx*4 + 0x16fcc]
test ecx, ecx
jne 0x51cfd4
mov eax, dword [ebp - 0x64]
inc eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x64], eax
cmp eax, edx
jl 0x51cfaa
jmp 0x51bd81
mov eax, dword [ecx + 0x8004]
mov dword [ebp - 0x3c], eax
call fcn.0057a900
add dword [ebp - 0x58], eax
xor eax, eax
mov edx, dword [ebp - 0x3c]
test edx, edx
jle 0x51d010
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
mov esi, dword [edx + ecx*2 + 0x16fcc]
mov edi, dword [esi + eax*4]
mov edx, dword [edi + 0x4c]
inc eax
mov byte [edx + 0x784], 0
mov edx, dword [ebp - 0x3c]
cmp eax, edx
jl 0x51cfee
xor eax, eax
test edx, edx
mov dword [ebp - 0x24], eax
jle 0x51cfc1
lea eax, [ebp - 0xadc]
lea edx, [ebp - 0xa5c]
lea ecx, [ebp - 0x9dc]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x70], ecx
mov eax, dword [ebp - 0x40]
test eax, eax
jl 0x51dc18
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + edx*2 + 0x16fcc]
mov edi, dword [ebp - 0x24]
lea ecx, [edi + edi]
add ecx, ecx
mov dword [ebp - 0x30], ecx
mov edx, dword [esi + edi*4]
mov eax, dword [ebp - 0x40]
cmp eax, dword [edx + 0x2b4]
jne 0x51d922
mov edx, dword [edx + 0x4c]
mov al, byte [edx + 0x784]
test al, al
jne 0x51d91b
lea ecx, [ebp - 0x250]
add edx, 0x748
push edx
call fcn.004e2d98
lea ecx, [ebp - 0x250]
call fcn.004e2de4
cmp eax, 1
je 0x51db30
lea ecx, [ebp - 0x250]
push 1
call fcn.004e5a44
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + edi*2 + 0x16fcc]
mov edx, dword [ebp - 0x30]
mov ecx, dword [eax + edx]
mov eax, dword [ecx + 0x4c]
mov al, byte [eax + 0x20]
test al, al
jne 0x51d86f
add esp, 0xfffffff8
mov ecx, esp
push 0x9f3274
call fcn.004061ac
lea ecx, [ebp - 0x250]
mov dword [esp + 4], 0xffffffff
call fcn.004e5ef4
lea ecx, [ebp - 0x240]
lea eax, [ebp - 0x230]
push eax
call fcn.004e2d98
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + edi*2 + 0x16fcc]
mov edx, dword [ebp - 0x30]
mov ecx, dword [eax + edx]
mov eax, dword [ecx + 0x4c]
mov al, byte [eax + 0x20]
test al, al
je 0x51d410
lea ecx, [ebp - 0x240]
lea eax, [ebp - 0x250]
push eax
call fcn.004e3380
lea ecx, [ebp - 0xb88]
call fcn.0044f4e8
mov dword [ebp - 4], 0x2a
mov dword [ebp - 0xb74], 0
mov eax, esi
fld dword [eax + 0x16974]
fstp qword [ebp - 0x88]
mov edx, dword [ebp - 0x88]
mov esi, dword [ebp - 0x84]
mov ecx, esi
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x51d19b
mov eax, esi
neg ecx
add ecx, 0x41e
shld eax, edx, 0xb
or eax, 0x80000000
shr eax, cl
test esi, esi
jge 0x51d19d
neg eax
jmp 0x51d19d
xor eax, eax
mov dword [ebp - 0x408], eax
test eax, eax
je 0x51d1c7
mov edx, dword [ebp - 0x444]
test edx, edx
je 0x51d1c7
mov dword [ebp - 0x80], edx
fild dword [ebp - 0x80]
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fdivp st(1)
fstp qword [ebp - 0x410]
jmp 0x51d1d3
fld qword [0xa12fa0]
fstp qword [ebp - 0x410]
mov edx, edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + edx*2 + 0x16fcc]
mov edi, dword [ebp - 0x30]
mov ecx, dword [esi + edi]
mov eax, dword [ecx + 0x4c]
lea ecx, [ebp - 0xb88]
add eax, 0x748
push 0
push 1
push eax
call fcn.004ccb10
lea ecx, [ebp - 0x240]
call fcn.004e4468
lea ecx, [ebp - 0xb88]
lea edx, [ebp - 0x240]
xor eax, eax
push 1
push eax
push eax
push edx
call fcn.004cbab8
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + edx*2 + 0x16fcc]
mov ecx, dword [esi + edi]
mov ecx, dword [ecx + 0x4c]
add ecx, 0x748
lea eax, [ebp - 0x240]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0xb88]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 4], 0x2b
mov dword [ebp - 4], 0x2c
mov dword [ebp - 4], 0x2d
mov dword [ebp - 4], 0x2e
mov dword [ebp - 4], 0x2f
mov dword [ebp - 4], 0x30
mov dword [ebp - 4], 0x31
mov dword [ebp - 4], 0x32
mov dword [ebp - 4], 0x33
mov dword [ebp - 4], 0x34
mov dword [ebp - 0xb88], 0x9fa6e0
mov eax, dword [ebp - 0xb1c]
lea ecx, [ebp - 0xb1c]
call dword [eax + 0x24]
xor eax, eax
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0xb20], eax
mov dword [ebp - 0xb08], eax
mov dword [ebp - 0xb04], eax
mov edx, dword [ebp - 0xadc]
call dword [edx + 0x24]
xor eax, eax
mov edx, dword [ebp - 0xa9c]
lea ecx, [ebp - 0xa9c]
mov dword [ebp - 0xae0], eax
mov dword [ebp - 0xac8], eax
mov dword [ebp - 0xac4], eax
call dword [edx + 0x24]
xor eax, eax
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xaa0], eax
mov dword [ebp - 0xa88], eax
mov dword [ebp - 0xa84], eax
mov edx, dword [ebp - 0xa5c]
call dword [edx + 0x24]
xor eax, eax
mov edx, dword [ebp - 0xa1c]
lea ecx, [ebp - 0xa1c]
mov dword [ebp - 0xa60], eax
mov dword [ebp - 0xa48], eax
mov dword [ebp - 0xa44], eax
call dword [edx + 0x24]
xor eax, eax
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0xa20], eax
mov dword [ebp - 0xa08], eax
mov dword [ebp - 0xa04], eax
mov edx, dword [ebp - 0x9dc]
call dword [edx + 0x24]
xor eax, eax
mov dword [ebp - 0x9e0], eax
mov dword [ebp - 0x9c8], eax
mov dword [ebp - 0x9c4], eax
mov dword [ebp - 0x638], eax
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x418], eax
fld qword [0xa12fa0]
fstp qword [ebp - 0x428]
mov dword [ebp - 4], 0x33
lea eax, [ebp - 0x440]
mov dword [ebp - 0x3c8], eax
mov dword [ebp - 4], 0x35
mov dword [ebp - 4], 0x33
mov eax, dword [ebp - 0x43c]
mov edx, dword [ebp - 0x438]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], edx
je 0x51d942
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 4], 0x36
mov dword [ebp - 4], 0x37
mov dword [ebp - 4], 0x36
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x51d3ca
jmp 0x51d939
lea ecx, [ebp - 0x250]
lea eax, [ebp - 0x1c0]
push eax
call fcn.004e466c
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x1c0]
call fcn.004064e4
xor eax, eax
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
push 0x9fb2fc
call fcn.004061ac
mov dword [ebp - 4], 0x22
mov edi, dword [ebp - 0x1c0]
test edi, edi
jne 0x51d47e
mov eax, dword [ebp - 0x1b0]
test eax, eax
jne 0x51d477
xor eax, eax
jmp 0x51d4cc
mov eax, 0xffffffff
jmp 0x51d4cc
mov esi, dword [ebp - 0x1b0]
test esi, esi
je 0x51d4c7
mov al, byte [edi]
mov dl, byte [esi]
cmp al, dl
jl 0x51d4c0
jle 0x51d499
mov eax, 1
jmp 0x51d4cc
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x51d4b9
or dl, dl
je 0x51d4b5
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x51d4b9
add edi, 2
add esi, 2
or dl, dl
jne 0x51d499
xor eax, eax
jmp 0x51d4be
sbb eax, eax
or eax, 1
jmp 0x51d4cc
mov eax, 0xffffffff
jmp 0x51d4cc
mov eax, 1
test eax, eax
je 0x51d5fc
lea ecx, [ebp - 0x1ac]
push 0x9f32ac
call fcn.004061ac
mov dword [ebp - 0x1b4], 1
mov dword [ebp - 4], 0x23
mov edi, dword [ebp - 0x1c0]
test edi, edi
jne 0x51d514
mov eax, dword [ebp - 0x1ac]
test eax, eax
jne 0x51d50d
xor eax, eax
jmp 0x51d562
mov eax, 0xffffffff
jmp 0x51d562
mov esi, dword [ebp - 0x1ac]
test esi, esi
je 0x51d55d
mov al, byte [edi]
mov dl, byte [esi]
cmp al, dl
jl 0x51d556
jle 0x51d52f
mov eax, 1
jmp 0x51d562
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x51d54f
or dl, dl
je 0x51d54b
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x51d54f
add edi, 2
add esi, 2
or dl, dl
jne 0x51d52f
xor eax, eax
jmp 0x51d554
sbb eax, eax
or eax, 1
jmp 0x51d562
mov eax, 0xffffffff
jmp 0x51d562
mov eax, 1
test eax, eax
je 0x51d5fc
lea ecx, [ebp - 0xfc]
push 0xa0c3c0
call fcn.004061ac
mov dword [ebp - 0x1b8], 1
mov dword [ebp - 4], 0x24
mov edi, dword [ebp - 0x1c0]
test edi, edi
jne 0x51d5aa
mov eax, dword [ebp - 0xfc]
test eax, eax
jne 0x51d5a3
xor eax, eax
jmp 0x51d5f8
mov eax, 0xffffffff
jmp 0x51d5f8
mov esi, dword [ebp - 0xfc]
test esi, esi
je 0x51d5f3
mov al, byte [edi]
mov dl, byte [esi]
cmp al, dl
jl 0x51d5ec
jle 0x51d5c5
mov eax, 1
jmp 0x51d5f8
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x51d5e5
or dl, dl
je 0x51d5e1
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x51d5e5
add edi, 2
add esi, 2
or dl, dl
jne 0x51d5c5
xor eax, eax
jmp 0x51d5ea
sbb eax, eax
or eax, 1
jmp 0x51d5f8
mov eax, 0xffffffff
jmp 0x51d5f8
mov eax, 1
test eax, eax
jne 0x51d606
mov al, 1
mov byte [ebp - 0x38], al
jmp 0x51d6a4
lea ecx, [ebp - 0xe8]
push 0x9fb300
call fcn.004061ac
mov dword [ebp - 0x1bc], 1
mov dword [ebp - 4], 0x25
mov edi, dword [ebp - 0x1c0]
test edi, edi
jne 0x51d646
mov eax, dword [ebp - 0xe8]
test eax, eax
jne 0x51d63f
xor eax, eax
jmp 0x51d694
mov eax, 0xffffffff
jmp 0x51d694
mov esi, dword [ebp - 0xe8]
test esi, esi
je 0x51d68f
mov al, byte [edi]
mov dl, byte [esi]
cmp al, dl
jl 0x51d688
jle 0x51d661
mov eax, 1
jmp 0x51d694
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x51d681
or dl, dl
je 0x51d67d
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x51d681
add edi, 2
add esi, 2
or dl, dl
jne 0x51d661
xor eax, eax
jmp 0x51d686
sbb eax, eax
or eax, 1
jmp 0x51d694
mov eax, 0xffffffff
jmp 0x51d694
mov eax, 1
test eax, eax
jne 0x51d69f
mov al, 1
mov byte [ebp - 0x38], al
jmp 0x51d6a4
xor al, al
mov byte [ebp - 0x38], al
mov dword [ebp - 4], 0x21
mov eax, dword [ebp - 0x1bc]
test eax, eax
je 0x51d6c0
lea ecx, [ebp - 0xe8]
call fcn.00406220
mov dword [ebp - 4], 0x23
mov eax, dword [ebp - 0x1b8]
test eax, eax
je 0x51d6dc
lea ecx, [ebp - 0xfc]
call fcn.00406220
mov dword [ebp - 4], 0x22
mov eax, dword [ebp - 0x1b4]
test eax, eax
je 0x51d6f8
lea ecx, [ebp - 0x1ac]
call fcn.00406220
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x1b0]
call fcn.00406220
mov al, byte [ebp - 0x38]
test al, al
je 0x51d7c1
lea ecx, [ebp - 0x250]
lea eax, [ebp - 0xf8]
push eax
call fcn.004e5be4
mov dword [ebp - 4], 0x26
lea ecx, [ebp - 0x250]
lea eax, [ebp - 0xf8]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x21
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 4], 0x27
mov dword [ebp - 4], 0x21
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], edx
je 0x51dae7
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 4], 0x28
mov dword [ebp - 4], 0x29
mov dword [ebp - 4], 0x28
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x51d77b
jmp 0x51dade
add esp, 0xfffffff8
mov ecx, esp
push 0x9f3274
call fcn.004061ac
lea ecx, [ebp - 0x250]
mov dword [esp + 4], 0xffffffff
call fcn.004e5ef4
lea ecx, [ebp - 0x240]
lea eax, [ebp - 0x250]
push eax
call fcn.004e3380
lea ecx, [ebp - 0x240]
call fcn.004e4468
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + edx*2 + 0x16fcc]
mov edi, dword [ebp - 0x30]
mov edx, dword [esi + edi]
lea eax, [ebp - 0x240]
xor ecx, ecx
push 1
push ecx
push ecx
push eax
mov ecx, dword [edx + 0x4c]
call fcn.004cbab8
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x1c0]
call fcn.00406220
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + edx*2 + 0x16fcc]
mov edi, dword [ebp - 0x30]
mov ecx, dword [esi + edi]
mov ecx, dword [ecx + 0x4c]
call fcn.005d46b4
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + edx*2 + 0x16fcc]
mov ecx, edi
mov edi, dword [ecx + esi]
mov edx, dword [edi + 0x4c]
jmp 0x51d91b
lea ecx, [ebp - 0x250]
lea eax, [ebp - 0x1d4]
push eax
call fcn.004e4df4
mov dword [ebp - 4], 0x1d
lea ecx, [ebp - 0x250]
lea eax, [ebp - 0x1d4]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x1d4]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 4], 0x1e
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x1cc]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], edx
je 0x51db10
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 4], 0x20
mov dword [ebp - 4], 0x1f
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x51d8d5
jmp 0x51db07
mov byte [edx + 0x784], 1
mov eax, dword [ebp - 0x24]
inc eax
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
cmp eax, edx
jl 0x51d034
jmp 0x51cfc1
mov eax, dword [ebp - 0x43c]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
lea edx, [ebp - 0x55c]
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x3b8], edx
mov dword [ebp - 4], 0x38
mov dword [ebp - 4], 0x33
lea eax, [ebp - 0x55c]
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 4], 0x39
mov dword [ebp - 4], 0x33
mov dword [ebp - 0x55c], 0x9f05c8
mov al, byte [ebp - 0x54c]
test al, al
je 0x51d9b0
lea ecx, [ebp - 0x55c]
call fcn.0040acc4
lea eax, [ebp - 0x66c]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 4], 0x3a
mov dword [ebp - 4], 0x33
lea eax, [ebp - 0x654]
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 4], 0x3b
mov dword [ebp - 0x654], 0x9fa680
mov al, byte [ebp - 0x644]
test al, al
je 0x51da4e
lea ecx, [ebp - 0x654]
call dword [0x9fa688]
movzx eax, al
test eax, eax
je 0x51da3d
xor esi, esi
lea ecx, [ebp - 0x654]
mov eax, dword [ebp - 0x654]
call dword [eax + 0x30]
test eax, eax
jbe 0x51da3d
mov eax, dword [ebp - 0x654]
lea ecx, [ebp - 0x654]
push esi
call dword [eax + 0x34]
inc esi
lea ecx, [ebp - 0x654]
mov eax, dword [ebp - 0x654]
call dword [eax + 0x30]
cmp esi, eax
jb 0x51da19
lea ecx, [ebp - 0x654]
call fcn.0040acc4
mov al, byte [ebp - 0x644]
mov dword [ebp - 4], 0x33
mov dword [ebp - 0x654], 0x9f05c8
test al, al
je 0x51da6e
lea ecx, [ebp - 0x654]
call fcn.0040acc4
lea ecx, [ebp - 0x77c]
call fcn.0044f38c
lea ecx, [ebp - 0x88c]
call fcn.0044f38c
lea ecx, [ebp - 0x99c]
call fcn.0044f38c
lea eax, [ebp - 0xa24]
push 0x448754
push 2
push 0x40
push eax
call fcn.0089939f
lea eax, [ebp - 0xaa4]
push 0x448620
push 2
push 0x40
push eax
call fcn.0089939f
lea eax, [ebp - 0xb24]
push 0x4484ac
push 2
push 0x40
push eax
call fcn.0089939f
lea ecx, [ebp - 0xb60]
call fcn.0043bcc8
jmp 0x51d83a
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], eax
jmp 0x51d7c1
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1c8], eax
jmp 0x51d0ce
lea eax, [ebp - 0x250]
push 0
push eax
call fcn.004fee38
add esp, 8
movzx eax, al
test eax, eax
je 0x51d0a0
lea ecx, [ebp - 0x250]
lea eax, [ebp - 0x1e4]
push eax
call fcn.004e5be4
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x250]
lea eax, [ebp - 0x1e4]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x400], eax
mov dword [ebp - 4], 0x1a
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x1dc]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], edx
je 0x51dbf8
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 4], 0x1b
mov dword [ebp - 4], 0x1c
mov dword [ebp - 4], 0x1b
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x51dbae
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1d8], eax
jmp 0x51d0a0
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + edx*2 + 0x16fcc]
mov edi, dword [ebp - 0x24]
lea ecx, [edi + edi]
add ecx, ecx
mov dword [ebp - 0x30], ecx
mov edx, dword [esi + edi*4]
jmp 0x51d069
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x24], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
lea ecx, [ebp - 0x250]
lea edx, [ebp - 0x20c]
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
push edx
call fcn.004e5be4
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x1fc]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x220]
lea eax, [ebp - 0x1fc]
push eax
call fcn.004061ec
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0x1fc]
call fcn.00406220
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x20c]
mov dword [ebp - 0xba8], eax
mov dword [ebp - 4], 0x12
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x208]
mov edx, dword [ebp - 0x204]
cmp eax, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], edx
je 0x51dd35
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xba0], eax
mov dword [ebp - 4], 0x13
mov dword [ebp - 4], 0x14
mov dword [ebp - 4], 0x13
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x24]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x24]
add eax, 0x10
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
cmp eax, edx
jne 0x51dceb
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x24], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x200], eax
push 0xa13d30
call fcn.004060d4
add esp, 0xfffffff8
mov ecx, esp
lea eax, [ebp - 0x220]
push eax
call fcn.0040618c
lea ecx, [ebx + 0x1c]
xor eax, eax
mov word [esp + 4], ax
call fcn.004e83f4
lea ecx, [ebx + 0x1c]
call fcn.007efe9c
lea ecx, [ebx + 0x1c]
call fcn.004e2ff4
jmp 0x51ceb9