Function at 0x528208
Capabilities:
Get disk information
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x8ba38e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x460
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp + 0x10]
xor edx, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x26c], edx
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x268]
xor eax, eax
push eax
push eax
push 0xb
call fcn.0043d0ac
mov dword [ebp - 4], 1
mov dword [ebp - 0x260], 0
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x52a104
lea ecx, [ebp - 0x248]
call fcn.0041cbf8
mov dword [ebp - 0x24c], 0
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x244]
call fcn.004e4b6c
mov dword [ebp - 4], 5
lea eax, [ebp - 0x234]
mov ecx, dword [ebp + 8]
push eax
call fcn.004e4df4
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x224]
mov eax, dword [ebp + 0xc]
push eax
call fcn.0052bc30
mov dword [ebp - 4], 7
mov eax, dword [0x9ee004]
cmp eax, 4
je 0x52834e
mov ecx, dword [ebp + 0xc]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x52834e
lea edi, [ebp - 0x214]
lea esi, [ebp - 0x224]
lea ebx, [ebp - 0x234]
lea edx, [ebp - 0x270]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
push eax
push 0
push 1
push edx
push ebx
push esi
push edi
call fcn.0052a184
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0x214]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x214]
call fcn.0040b540
lea ecx, [ebp - 0x244]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x528469
xor eax, eax
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x204]
mov eax, dword [ebp - 0x14]
push eax
push edx
call fcn.0040b864
add esp, 8
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x204]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x52842d
lea ecx, [ebp - 0x204]
call fcn.004e2de4
cmp eax, 1
je 0x5283c0
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x204]
call fcn.0040b540
jmp 0x528459
lea ecx, [ebp - 0x1e4]
lea edi, [ebp - 0x204]
lea esi, [ebp - 0x234]
lea ebx, [ebp - 0x270]
xor edx, edx
mov eax, dword [ebp - 0x1c]
push eax
push edx
push edx
push ebx
push esi
push edi
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.0052a184
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0x1e4]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x1e4]
call fcn.0040b540
lea ecx, [ebp - 0x244]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x529838
mov dword [ebp - 4], 7
lea eax, [ebp - 0x204]
mov dword [ebp - 0x46c], eax
mov dword [ebp - 4], 0xb
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x204]
call fcn.00411738
mov eax, dword [ebp - 0x14]
inc eax
cmp eax, 0x64
mov dword [ebp - 0x14], eax
jl 0x528369
lea ecx, [ebp - 0x244]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x528595
test dword [0x9ee064], 1
je 0x528595
lea eax, [ebp - 0x1d4]
push eax
call fcn.0040dc1c
pop ecx
mov dword [ebp - 4], 0xc
lea edi, [ebp - 0x1c4]
lea esi, [ebp - 0x1d4]
lea ebx, [ebp - 0x234]
lea edx, [ebp - 0x270]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
push eax
push 0
push 0xffffffffffffffff
push edx
push ebx
push esi
push edi
call fcn.0052a184
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0x1c4]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0xc
lea eax, [ebp - 0x1c4]
mov dword [ebp - 0x464], eax
mov dword [ebp - 4], 0xe
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0x1c4]
call fcn.00411738
mov dword [ebp - 4], 7
lea eax, [ebp - 0x1d4]
mov dword [ebp - 0x45c], eax
mov dword [ebp - 4], 0xf
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x1cc]
cmp eax, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x24], edx
je 0x529858
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x454], eax
mov dword [ebp - 4], 0x10
mov dword [ebp - 4], 0x11
mov dword [ebp - 4], 0x10
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x18]
add eax, 0x10
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
cmp eax, edx
jne 0x52854f
jmp 0x52984f
xor eax, eax
xor edx, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1b4], edx
mov dword [ebp - 0x1b0], edx
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x244]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x5285fc
lea eax, [ebp - 0x1b4]
push 1
push eax
call fcn.004110b0
add esp, 8
xor eax, eax
mov edx, dword [ebp - 0x1b4]
test edx, edx
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1b4]
je 0x529878
inc dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov edx, dword [eax]
test edx, edx
jne 0x5285eb
jmp 0x529878
xor al, al
mov dl, 1
lea ecx, [ebp - 0x244]
mov byte [ebp - 0x30], al
mov byte [ebp - 0x2c], dl
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x528628
call fcn.00671df0
movzx eax, al
test eax, eax
jne 0x528ed1
mov al, byte [ebp - 0x2c]
test al, al
mov byte [ebp - 0x2c], al
je 0x528673
lea ecx, [ebp - 0x244]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x528673
xor eax, eax
mov edx, dword [ebp - 0x18]
test edx, edx
mov dword [ebp - 0x24], eax
jle 0x528673
lea eax, [ebp - 0x1b4]
xor ecx, ecx
mov edx, dword [ebp - 0x24]
test edx, edx
jle 0x5299bd
mov eax, dword [eax + 4]
inc ecx
mov edx, dword [ebp - 0x24]
cmp ecx, edx
jl 0x528663
jmp 0x5299bd
mov al, byte [ebp - 0x2c]
test al, al
je 0x5288a5
lea ecx, [ebp - 0x244]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x5288a5
xor eax, eax
mov dword [ebp - 0x24], eax
lea edx, [ebp - 0xd0]
mov eax, dword [ebp - 0x24]
push eax
push edx
call fcn.0040b864
add esp, 8
mov dword [ebp - 4], 0x42
lea ecx, [ebp - 0xd0]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x52874a
mov dword [ebp - 4], 0x12
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x34c], eax
mov dword [ebp - 4], 0x4d
mov dword [ebp - 4], 0x12
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc8]
cmp eax, edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], edx
je 0x529acf
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x344], 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 - 0x14]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x14]
add eax, 0x10
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
cmp eax, edx
jne 0x528704
jmp 0x529ac6
lea ecx, [ebp - 0xd0]
call fcn.004e2de4
cmp eax, 1
jne 0x5287df
mov dword [ebp - 4], 0x12
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x37c], eax
mov dword [ebp - 4], 0x43
mov dword [ebp - 4], 0x12
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc8]
cmp eax, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], edx
je 0x529b08
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x374], eax
mov dword [ebp - 4], 0x44
mov dword [ebp - 4], 0x45
mov dword [ebp - 4], 0x44
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x18]
add eax, 0x10
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
cmp eax, edx
jne 0x528799
jmp 0x529aff
lea ecx, [ebp - 0xc0]
lea edi, [ebp - 0xd0]
lea esi, [ebp - 0x234]
lea ebx, [ebp - 0x270]
xor edx, edx
mov eax, dword [ebp - 0x1c]
push eax
push edx
push edx
push ebx
push esi
push edi
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.0052a184
mov dword [ebp - 4], 0x46
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0xc0]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x42
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x36c], eax
mov dword [ebp - 4], 0x47
mov dword [ebp - 4], 0x42
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xb8]
cmp eax, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], edx
je 0x529b2e
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x364], 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 - 0x18]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x18]
add eax, 0x10
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
cmp eax, edx
jne 0x52885f
jmp 0x529b25
mov al, byte [ebp - 0x2c]
test al, al
je 0x5289f6
lea ecx, [ebp - 0x244]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x5289f6
mov al, byte [ebp - 0x30]
test al, al
jne 0x5289f6
mov al, byte [0x9ec1bc]
test al, al
jne 0x5289f6
lea ecx, [ebp - 0xb0]
call fcn.0041cbf8
mov dword [ebp - 4], 0x50
lea ecx, [ebp - 0xac]
push 0xa15e40
call fcn.004061ac
mov dword [ebp - 4], 0x51
lea ecx, [ebp - 0xb0]
lea eax, [ebp - 0xac]
push eax
call fcn.004061ec
mov dword [ebp - 4], 0x50
lea ecx, [ebp - 0xac]
call fcn.00406220
lea ecx, [ebp - 0xa4]
call fcn.0041cbf8
mov dword [ebp - 0xa8], 0
mov dword [ebp - 4], 0x52
lea ecx, [ebp - 0x338]
lea eax, [ebp - 0xb0]
push eax
call fcn.0040618c
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x334], 4
mov dword [ebp - 4], 0x53
lea edx, [ebp - 0x338]
mov eax, dword [ebp - 0x334]
and eax, 0xf
or eax, 0x30
mov ecx, dword [ebp - 0x33c]
push eax
push edx
call fcn.0043ec3c
xor ebx, ebx
cmp eax, 3
sete bl
mov dword [ebp - 4], 0x52
lea ecx, [ebp - 0x338]
call fcn.00406220
test ebx, ebx
jne 0x5289b8
xor al, al
mov byte [ebp - 0x2c], al
mov dword [ebp - 4], 0x50
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x32c], eax
mov dword [ebp - 4], 0x54
mov dword [ebp - 4], 0x50
lea ecx, [ebp - 0xa4]
call fcn.00406220
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0xb0]
call fcn.00406220
lea ecx, [ebp - 0xa0]
call fcn.004e4b6c
mov dword [ebp - 4], 0x55
lea ecx, [ebp - 0x1f4]
call fcn.004e4b6c
mov dword [ebp - 4], 0x56
mov ecx, dword [ebp - 0x270]
test ecx, ecx
je 0x528a37
mov dword [ebp - 0x270], 0
je 0x528a37
push 1
call fcn.0040b448
mov ecx, dword [ebp - 0x26c]
test ecx, ecx
je 0x528a54
mov dword [ebp - 0x26c], 0
je 0x528a54
push 1
call fcn.0040b468
mov al, byte [ebp - 0x2c]
test al, al
mov byte [ebp - 0x28], al
je 0x528a83
lea ecx, [ebp - 0x244]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x528a83
mov ecx, dword [ebp + 8]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x528e26
mov al, byte [ebp - 0x28]
test al, al
je 0x528aa0
lea ecx, [ebp - 0x244]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x528ce4
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x528aab
mov byte [eax + 0x1d], 0
lea ecx, [ebp - 0x244]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x528bdb
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0x4c]
push eax
call fcn.004e4e80
mov dword [ebp - 4], 0x63
lea eax, [ebp - 0x244]
mov ecx, dword [ebp + 8]
push eax
call fcn.004e2d98
mov al, byte [0x9ec1bc]
test al, al
jne 0x528b59
lea ecx, [ebp - 0x2f0]
push 0xa15d50
call fcn.004061ac
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 0x2ec], 4
mov dword [ebp - 4], 0x64
lea edx, [ebp - 0x2f0]
mov eax, dword [ebp - 0x2ec]
and eax, 0xf
or eax, 0x30
mov ecx, dword [ebp - 0x2f4]
push eax
push edx
call fcn.0043ec3c
xor ebx, ebx
cmp eax, 3
sete bl
mov dword [ebp - 4], 0x63
lea ecx, [ebp - 0x2f0]
call fcn.00406220
test ebx, ebx
je 0x528b63
mov eax, dword [ebp + 8]
push eax
call fcn.0052bd14
pop ecx
mov dword [ebp - 4], 0x56
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 4], 0x65
mov dword [ebp - 4], 0x56
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
cmp eax, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
je 0x529c06
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2dc], 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 - 0x18]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x18]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
cmp eax, edx
jne 0x528b95
jmp 0x529c00
lea ecx, [ebp - 0x244]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x528c4b
lea ecx, [ebp - 0x2d0]
push 0xa15ea0
call fcn.004061ac
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2cc], 5
mov dword [ebp - 4], 0x68
lea edx, [ebp - 0x2d0]
mov eax, dword [ebp - 0x2cc]
and eax, 0xf
or eax, 0x10
mov ecx, dword [ebp - 0x2d4]
push eax
push edx
call fcn.0043ec3c
mov dword [ebp - 4], 0x56
lea ecx, [ebp - 0x2d0]
call fcn.00406220
lea ecx, [ebp - 0x244]
call fcn.004e2e74
movzx esi, al
xor eax, eax
test esi, esi
sete al
mov dword [ebp - 0x28], eax
mov dword [ebp - 4], 0x55
lea eax, [ebp - 0x1f4]
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 4], 0x69
mov dword [ebp - 4], 0x55
mov eax, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x1ec]
cmp eax, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
je 0x529c26
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2bc], eax
mov dword [ebp - 4], 0x6a
mov dword [ebp - 4], 0x6b
mov dword [ebp - 4], 0x6a
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x18]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
cmp eax, edx
jne 0x528c9e
jmp 0x529c1d
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
shr eax, cl
test al, 1
je 0x528d63
mov ebx, ecx
lea ebx, [ebx + 0x41]
movsx eax, bl
push eax
call fcn.0043c63c
pop ecx
test eax, eax
je 0x528d63
cmp eax, 4
je 0x528d63
lea eax, [ebp - 0x70]
push ebx
push 0x9fb1a4
push eax
call fcn.0089882d
add esp, 0xc
add esp, 0xfffffff8
mov ecx, esp
lea eax, [ebp - 0x70]
push eax
call fcn.004061ac
lea ecx, [ebp - 0x1f4]
xor eax, eax
mov word [esp + 4], ax
call fcn.004e83f4
lea ecx, [ebp - 0xa0]
lea eax, [ebp - 0x1f4]
push 0
push eax
call fcn.004e3018
movzx eax, al
test eax, eax
je 0x528d74
mov eax, dword [ebp - 0x30]
inc eax
cmp eax, 0x1a
mov dword [ebp - 0x30], eax
jl 0x528cf2
jmp 0x528aa0
lea edi, [ebp - 0x5c]
lea esi, [ebp - 0x1f4]
lea ebx, [ebp - 0x234]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
push eax
push edx
push 0xffffffffffffffff
push edx
push ebx
push esi
push edi
call fcn.0052a184
mov dword [ebp - 4], 0x5f
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0x5c]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x56
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x304], eax
mov dword [ebp - 4], 0x60
mov dword [ebp - 4], 0x56
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
cmp eax, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], edx
je 0x529fad
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2fc], eax
mov dword [ebp - 4], 0x61
mov dword [ebp - 4], 0x62
mov dword [ebp - 4], 0x61
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 - 0x28]
mov dword [ebp - 0x24], eax
cmp eax, edx
jne 0x528de0
jmp 0x529fa7
lea eax, [ebp - 0x90]
mov ecx, dword [ebp + 8]
push 1
push eax
call fcn.004e452c
mov dword [ebp - 4], 0x57
lea ecx, [ebp - 0x1f4]
lea eax, [ebp - 0x90]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x56
lea eax, [ebp - 0x90]
mov dword [ebp - 0x324], eax
mov dword [ebp - 4], 0x58
mov dword [ebp - 4], 0x56
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x88]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
je 0x529fe3
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x31c], eax
mov dword [ebp - 4], 0x59
mov dword [ebp - 4], 0x5a
mov dword [ebp - 4], 0x59
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x30]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x30]
add eax, 0x10
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x528e8b
jmp 0x529fda
mov al, 1
lea edx, [ebp - 0x19c]
mov byte [ebp - 0x30], al
mov dword [ebp - 0x43c], edx
mov dword [ebp - case.0x4e640c.73], 0x9f6a18
mov dword [ebp - 0x198], 0
mov dword [ebp - 4], 0x17
mov dword [ebp - fcn.0043c40c], 0x9f6a40
lea ecx, [ebp - 0x17c]
call fcn.004e4b6c
mov dword [ebp - 0x198], 1
xor eax, eax
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], 0xffffffff
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov byte [ebp - 0x16c], al
mov dword [ebp - 0x180], 2
mov dword [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 4], 0x18
add esp, 0xffffffe8
lea ecx, [esp + 4]
xor eax, eax
mov dword [ebp - 0x434], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [ebp - 4], 0x19
lea eax, [ebp - 0x234]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x18
mov dword [ebp - 4], 0x18
lea ecx, [ebp - 0x19c]
lea eax, [ebp - 0x148]
mov edx, dword [ebp - 0x1c]
mov dword [esp], eax
mov dword [esp + 0x14], edx
call fcn.0067044c
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0x148]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x18
lea eax, [ebp - 0x148]
mov dword [ebp - 0x42c], eax
mov dword [ebp - 4], 0x1b
mov dword [ebp - 4], 0x18
mov eax, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
cmp eax, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], edx
je 0x529069
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x424], eax
mov dword [ebp - 4], 0x1c
mov dword [ebp - 4], 0x1d
mov dword [ebp - 4], 0x1c
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 - 0x28]
mov dword [ebp - 0x24], eax
cmp eax, edx
jne 0x52901f
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x24], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
call fcn.0041cbf8
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x130]
call fcn.0041cbf8
mov dword [ebp - 0x134], 0
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x244]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x529446
xor eax, eax
mov edx, dword [ebp - 0x270]
test edx, edx
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x270]
je 0x5290e9
inc dword [ebp - 0x24]
mov eax, dword [eax + 4]
mov edx, dword [eax]
test edx, edx
jne 0x5290dd
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0x12c]
push eax
call fcn.004e4e80
mov dword [ebp - 4], 0x20
xor ebx, ebx
mov eax, dword [ebp - 0x24]
test eax, eax
jle 0x529142
lea edx, [ebp - 0x270]
xor eax, eax
test ebx, ebx
jle 0x52911f
mov edx, dword [edx + 4]
inc eax
cmp eax, ebx
jl 0x529117
lea eax, [ebp - 0x12c]
mov ecx, dword [edx]
push 1
push eax
call fcn.004e3018
movzx eax, al
test eax, eax
jne 0x529828
inc ebx
mov eax, dword [ebp - 0x24]
cmp ebx, eax
jl 0x52910b
mov dword [ebp - 0x11c], 0
push 0x10
call fcn.00898760
mov dword [ebp - 0x28], eax
add esp, 4
test eax, eax
mov dword [ebp - 0x118], eax
je 0x52981e
mov dword [ebp - 0x11c], 1
mov dword [ebp - 4], 0x21
mov edx, eax
xor eax, eax
mov dword [ebp - 0x41c], edx
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [ebp - 4], 0x22
lea eax, [ebp - 0x244]
mov ecx, edx
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x21
mov dword [ebp - 4], 0x21
mov dword [ebp - 0x11c], 0
lea ebx, [ebp - 0x270]
mov eax, dword [ebp - 0x26c]
test eax, eax
je 0x5291d1
mov ebx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x5291c8
mov eax, dword [ebp - 0x28]
mov dword [ebx], eax
push 8
call fcn.00898760
pop ecx
test eax, eax
je 0x529817
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [ebx + 4], eax
mov dword [ebp - 4], 0x20
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0x114]
push eax
call fcn.004e4108
mov dword [ebp - 4], 0x23
lea eax, [ebp - 0x138]
push dword [ebp - 0x114]
push 0xa15d8c
push eax
call fcn.00406768
add esp, 0xc
mov dword [ebp - 4], 0x20
lea ecx, [ebp - 0x114]
call fcn.00406220
mov al, byte [0x9ec1bc]
test al, al
jne 0x5293aa
lea ecx, [ebp - 0x410]
lea eax, [ebp - 0x138]
push eax
call fcn.0040618c
lea eax, [ebp - 0x134]
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x40c], 4
mov dword [ebp - 4], 0x24
lea edx, [ebp - 0x410]
mov eax, dword [ebp - 0x40c]
and eax, 0xf
or eax, 0x30
mov ecx, dword [ebp - 0x414]
push eax
push edx
call fcn.0043ec3c
xor ebx, ebx
cmp eax, 3
sete bl
mov dword [ebp - 4], 0x20
lea ecx, [ebp - 0x410]
call fcn.00406220
test ebx, ebx
jne 0x5293aa
add esp, 0xffffffe8
lea ecx, [esp + 4]
xor eax, eax
mov dword [ebp - 0x3f4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [ebp - 4], 0x28
lea eax, [ebp - 0x234]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x20
mov dword [ebp - 4], 0x20
lea ecx, [ebp - 0x19c]
lea eax, [ebp - 0x100]
mov edx, dword [ebp - 0x1c]
mov dword [esp], eax
mov dword [esp + 0x14], edx
call fcn.006706e8
mov dword [ebp - 4], 0x29
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0x100]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x20
lea eax, [ebp - 0x100]
mov dword [ebp - 0x3ec], eax
mov dword [ebp - 4], 0x2a
mov dword [ebp - 4], 0x20
mov eax, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xf8]
cmp eax, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
je 0x529745
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 4], 0x2b
mov dword [ebp - 4], 0x2c
mov dword [ebp - 4], 0x2b
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x28]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x28]
add eax, 0x10
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
cmp eax, edx
jne 0x529364
jmp 0x52973c
mov dword [ebp - 4], 0x1f
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x404], eax
mov dword [ebp - 4], 0x25
mov dword [ebp - 4], 0x1f
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x124]
cmp eax, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], edx
je 0x52942b
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3fc], eax
mov dword [ebp - 4], 0x26
mov dword [ebp - 4], 0x27
mov dword [ebp - 4], 0x26
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 - 0x28]
mov dword [ebp - 0x24], eax
cmp eax, edx
jne 0x5293e1
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x24], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
lea ecx, [ebp - 0x244]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x529581
mov al, byte [0x9ec1bc]
test al, al
jne 0x529581
lea ecx, [ebp - 0xf0]
call fcn.0041cbf8
mov dword [ebp - 4], 0x30
lea ecx, [ebp - 0xec]
push 0xa15dc0
call fcn.004061ac
mov dword [ebp - 4], 0x31
lea ecx, [ebp - 0xf0]
lea eax, [ebp - 0xec]
push eax
call fcn.004061ec
mov dword [ebp - 4], 0x30
lea ecx, [ebp - 0xec]
call fcn.00406220
lea ecx, [ebp - 0xe4]
call fcn.0041cbf8
mov dword [ebp - 0xe8], 0
mov dword [ebp - 4], 0x32
lea ecx, [ebp - 0x3c8]
lea eax, [ebp - 0xf0]
push eax
call fcn.0040618c
lea eax, [ebp - 0xe8]
mov dword [ebp - 0x3cc], eax
mov dword [ebp - 0x3c4], 4
mov dword [ebp - 4], 0x33
lea edx, [ebp - 0x3c8]
mov eax, dword [ebp - 0x3c4]
and eax, 0xf
or eax, 0x30
mov ecx, dword [ebp - 0x3cc]
push eax
push edx
call fcn.0043ec3c
xor ebx, ebx
cmp eax, 3
sete bl
mov dword [ebp - 4], 0x32
lea ecx, [ebp - 0x3c8]
call fcn.00406220
test ebx, ebx
jne 0x529543
xor al, al
mov byte [ebp - 0x2c], al
mov dword [ebp - 4], 0x30
lea eax, [ebp - 0xe8]
mov dword [ebp - 0x3bc], eax
mov dword [ebp - 4], 0x34
mov dword [ebp - 4], 0x30
lea ecx, [ebp - 0xe4]
call fcn.00406220
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0xf0]
call fcn.00406220
mov dword [ebp - 4], 0x1e
lea eax, [ebp - 0x134]
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 4], 0x35
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x130]
call fcn.00406220
mov dword [ebp - 4], 0x18
lea ecx, [ebp - 0x138]
call fcn.00406220
mov dword [ebp - 4], 0x12
lea eax, [ebp - 0x19c]
mov dword [ebp - 0x3ac], eax
mov dword [ebp - 4], 0x36
mov dword [ebp - 4], 0x37
mov dword [ebp - 4], 0x38
mov dword [ebp - 4], 0x37
mov ecx, dword [ebp - 0x160]
test ecx, ecx
je 0x52960b
mov dword [ebp - 0x160], 0
je 0x52960b
push 1
call fcn.0040b448
mov ecx, dword [ebp - 0x15c]
test ecx, ecx
je 0x529628
mov dword [ebp - 0x15c], 0
je 0x529628
push 1
call fcn.0040b468
mov ecx, dword [ebp - 0x168]
test ecx, ecx
je 0x529645
mov dword [ebp - 0x168], 0
je 0x529645
push 1
call fcn.0040b448
mov ecx, dword [ebp - 0x164]
test ecx, ecx
je 0x529662
mov dword [ebp - 0x164], 0
je 0x529662
push 1
call fcn.0040b468
lea eax, [ebp - 0x19c]
mov dword [ebp - 0x3a4], eax
mov dword [ebp - 4], 0x39
mov dword [ebp - 4], 0x3a
mov dword [ebp - fcn.0043c40c], 0x9f6a40
lea ecx, [ebp - 0x19c]
call fcn.0043c3e0
mov dword [ebp - 4], 0x39
lea eax, [ebp - 0x17c]
mov dword [ebp - 0x39c], eax
mov dword [ebp - 4], 0x3b
mov dword [ebp - 4], 0x39
mov eax, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
cmp eax, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], edx
je 0x529712
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x394], eax
mov dword [ebp - 4], 0x3c
mov dword [ebp - 4], 0x3d
mov dword [ebp - 4], 0x3c
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 - 0x28]
mov dword [ebp - 0x24], eax
cmp eax, edx
jne 0x5296c8
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x24], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], eax
mov dword [ebp - case.0x4e640c.73], 0x9f6a18
jmp 0x528628
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x28], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 4], 0x1f
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x3dc], eax
mov dword [ebp - 4], 0x2d
mov dword [ebp - 4], 0x1f
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x124]
cmp eax, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
je 0x5297e1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3d4], eax
mov dword [ebp - 4], 0x2e
mov dword [ebp - 4], 0x2f
mov dword [ebp - 4], 0x2e
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x28]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x28]
add eax, 0x10
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
cmp eax, edx
jne 0x529797
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x28], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x5290c8
jmp 0x529446
xor eax, eax
jmp 0x5291ed
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x5291b8
mov eax, dword [ebp - 0x24]
cmp ebx, eax
jge 0x529142
jmp 0x5292b9
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x204]
call fcn.0040b540
jmp 0x528469
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x18], 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 0x528595
lea ecx, [ebp - 0x1b4]
push 0
push 0x521d24
call fcn.00479044
xor eax, eax
mov edx, dword [ebp - 0x18]
test edx, edx
mov dword [ebp - 0x24], eax
jle 0x5285fc
lea eax, [ebp - 0x1b4]
xor ecx, ecx
mov edx, dword [ebp - 0x24]
test edx, edx
jle 0x5298b4
mov eax, dword [eax + 4]
inc ecx
mov edx, dword [ebp - 0x24]
cmp ecx, edx
jl 0x5298a9
lea ecx, [ebp - 0x1ac]
lea edi, [ebp - 0x234]
lea esi, [ebp - 0x270]
xor ebx, ebx
mov edx, dword [ebp - 0x1c]
push edx
push ebx
push ebx
push esi
push edi
push dword [eax]
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.0052a184
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0x1ac]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x12
lea eax, [ebp - 0x1ac]
mov dword [ebp - 0x44c], eax
mov dword [ebp - 4], 0x14
mov dword [ebp - 4], 0x12
mov eax, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
cmp eax, edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], edx
je 0x529975
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x444], eax
mov dword [ebp - 4], 0x15
mov dword [ebp - 4], 0x16
mov dword [ebp - 4], 0x15
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x14]
add eax, 0x10
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
cmp eax, edx
jne 0x52992b
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x14], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], eax
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x5285fc
mov eax, dword [ebp - 0x24]
inc eax
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
cmp eax, edx
jl 0x52989a
jmp 0x5285fc
lea edi, [ebp - 0xe0]
lea esi, [ebp - 0x234]
lea ebx, [ebp - 0x270]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
push edx
push 0
push 0xffffffffffffffff
push ebx
push esi
push dword [eax]
push edi
call fcn.0052a184
mov dword [ebp - 4], 0x3e
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0xe0]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x12
lea eax, [ebp - 0xe0]
mov dword [ebp - 0x38c], eax
mov dword [ebp - 4], 0x3f
mov dword [ebp - 4], 0x12
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
cmp eax, edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], edx
je 0x529a7e
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x384], 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 - 0x14]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x14]
add eax, 0x10
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
cmp eax, edx
jne 0x529a34
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x14], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
lea ecx, [ebp - 0x244]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x528673
mov eax, dword [ebp - 0x24]
inc eax
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
cmp eax, edx
jl 0x528650
jmp 0x528673
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x14], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x24]
inc eax
cmp eax, 0x64
mov dword [ebp - 0x24], eax
jl 0x528699
jmp 0x5288a5
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x18], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
jmp 0x529aea
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x18], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
lea ecx, [ebp - 0x244]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x5286c9
mov dword [ebp - 4], 0x12
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x35c], eax
mov dword [ebp - 4], 0x4a
mov dword [ebp - 4], 0x12
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc8]
cmp eax, edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], edx
je 0x529be0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x354], 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 - 0x24]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x24]
add eax, 0x10
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
cmp eax, edx
jne 0x529b96
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x24], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
jmp 0x5288a5
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x18], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
jmp 0x528bdb
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x18], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 4], 0x12
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 4], 0x6c
mov dword [ebp - 4], 0x12
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x98]
cmp eax, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
je 0x529cc2
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 4], 0x6d
mov dword [ebp - 4], 0x6e
mov dword [ebp - 4], 0x6d
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x18]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
cmp eax, edx
jne 0x529c78
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x18], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x1b4]
test ecx, ecx
je 0x529d01
mov dword [ebp - 0x1b4], 0
je 0x529d01
push 1
call fcn.0040b448
mov ecx, dword [ebp - 0x1b0]
test ecx, ecx
je 0x529d1e
mov dword [ebp - 0x1b0], 0
je 0x529d1e
push 1
call fcn.0040b468
mov dword [ebp - 4], 6
lea eax, [ebp - 0x224]
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 4], 0x6f
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x220]
mov edx, dword [ebp - 0x21c]
cmp eax, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
je 0x529d9f
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x29c], eax
mov dword [ebp - 4], 0x70
mov dword [ebp - 4], 0x71
mov dword [ebp - 4], 0x70
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x18]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
cmp eax, edx
jne 0x529d55
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x18], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], eax
mov dword [ebp - 4], 5
lea eax, [ebp - 0x234]
mov dword [ebp - 0x294], eax
mov dword [ebp - 4], 0x72
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x230]
mov edx, dword [ebp - 0x22c]
cmp eax, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
je 0x529e3b
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 4], 0x73
mov dword [ebp - 4], 0x74
mov dword [ebp - 4], 0x73
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x18]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
cmp eax, edx
jne 0x529df1
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x18], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], eax
mov dword [ebp - 4], 4
lea eax, [ebp - 0x244]
mov dword [ebp - 0x284], eax
mov dword [ebp - 4], 0x75
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x240]
mov edx, dword [ebp - 0x23c]
cmp eax, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
je 0x529ed7
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 4], 0x76
mov dword [ebp - 4], 0x77
mov dword [ebp - 4], 0x76
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x18]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
cmp eax, edx
jne 0x529e8d
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x18], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], eax
mov dword [ebp - 4], 2
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x274], eax
mov dword [ebp - 4], 0x78
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x248]
call fcn.00406220
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x260]
test ecx, ecx
je 0x529f38
je 0x529f38
push 1
call fcn.00487bb0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x268]
call fcn.0043d1b0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x270]
test ecx, ecx
je 0x529f6e
mov dword [ebp - 0x270], 0
je 0x529f6e
push 1
call fcn.0040b448
mov ecx, dword [ebp - 0x26c]
test ecx, ecx
je 0x529f8b
mov dword [ebp - 0x26c], 0
je 0x529f8b
push 1
call fcn.0040b468
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x24], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x528aa0
jmp 0x528d63
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x528a83
lea eax, [ebp - 0x1f4]
push eax
call fcn.0043bff8
pop ecx
movzx eax, al
test eax, eax
je 0x528a83
lea ecx, [ebp - 0xa0]
lea eax, [ebp - 0x1f4]
push eax
call fcn.004e2d98
lea edi, [ebp - 0x80]
lea esi, [ebp - 0x1f4]
lea ebx, [ebp - 0x234]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
push eax
push edx
push 0xffffffffffffffff
push edx
push ebx
push esi
push edi
call fcn.0052a184
mov dword [ebp - 4], 0x5b
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0x80]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x56
lea eax, [ebp - 0x80]
mov dword [ebp - 0x314], eax
mov dword [ebp - 4], 0x5c
mov dword [ebp - 4], 0x56
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
cmp eax, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], edx
je 0x52a0ed
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30c], eax
mov dword [ebp - 4], 0x5d
mov dword [ebp - 4], 0x5e
mov dword [ebp - 4], 0x5d
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x2c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x2c]
add eax, 0x10
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
cmp eax, edx
jne 0x52a0a6
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x2c], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
jmp 0x528a83
mov dword [ebp - 0x25c], 0
push 0x2c
call fcn.00898760
mov dword [ebp - 0x1c], eax
add esp, 4
test eax, eax
mov dword [ebp - 0x258], eax
je 0x52a17a
mov dword [ebp - 0x25c], 1
mov dword [ebp - 4], 3
add esp, 0xfffffff4
mov ecx, esp
push 0xa15da4
call fcn.004061ac
lea ecx, [esp + 8]
call fcn.0041cbf8
mov byte [esp + 4], 1
mov ecx, dword [ebp - 0x1c]
call fcn.005659f8
mov dword [ebp - 0x25c], 0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x260], eax
mov dword [ebp - 4], 2
jmp 0x528284
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x52a165