Function at 0x47b624
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 3
add esp, 0xfffff004
push eax
dec eax
jne 0x47b62d
add esp, 0xffffffc8
mov eax, dword [ebp - 4]
mov eax, 0x5aded1
push ebx
push esi
push edi
mov edi, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
call fcn.004d57f0
xor edx, edx
mov dword [ebp - 0x28], edx
mov word [ebp - 0x14], 8
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov word [ebp - 0x14], 8
test byte [0x528c3d], 2
je 0x47b689
push 0x5f2367
push 0x5f2361
push 0x528c40
call fcn.004541dc
add esp, 0xc
push 0x83e
push 0
push 0x5ac820
call fcn.004d2d9c
add esp, 0xc
push 3
push 0x5ac820
call fcn.004558d4
add esp, 8
push 0x834
push 0
push 0x5ad05e
call fcn.004d2d9c
add esp, 0xc
push 4
push 0x5ad05e
call fcn.004558d4
mov ax, word [0x528ff4]
movzx edx, ax
mov dword [0x5acd06], edx
add esp, 8
mov word [0x5ad3d4], ax
lea eax, [ebp - 0x103c]
mov cx, word [0x528ff6]
push eax
mov word [0x5ad3d2], cx
call fcn.0047b0e8
test byte [0x528c3d], 2
pop ecx
je 0x47b721
lea edx, [ebp - 0x103c]
push edx
push 0x5f236a
push 0x528c40
call fcn.004541dc
add esp, 0xc
push 0x200
push 0x1e
push 0x5ac824
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x28
push 0x5ad0bc
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
call fcn.0047b10c
pop ecx
test al, al
jne 0x47b76f
or dword [ebp - 0x2c], 0x100
or dword [ebp - 0x2c], 0x100
test byte [0x528c3d], 2
je 0x47b798
lea ecx, [ebp - 0x103c]
push ecx
push 0x5f2377
push 0x528c40
call fcn.004541dc
add esp, 0xc
push 0x200
push 0x1e
push 0x5ac842
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x32
push 0x5ad13e
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0047b0fc
test byte [0x528c3d], 2
pop ecx
je 0x47b7fd
lea eax, [ebp - 0x103c]
push eax
push 0x5f237f
push 0x528c40
call fcn.004541dc
add esp, 0xc
push 0x200
push 0x1e
push 0x5ac87e
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x28
push 0x5ad0e4
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524d4
add esp, 0x10
test ebx, ebx
je 0x47b87d
test byte [0x528c3d], 2
je 0x47b853
push ebx
push 0x5f2388
push 0x528c40
call fcn.004541dc
add esp, 0xc
push 0x200
push 0x1e
push 0x5ac860
push ebx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x32
push 0x5ad1a2
push ebx
call fcn.004524d4
add esp, 0x10
test esi, esi
je 0x47b8c7
test byte [0x528c3d], 2
je 0x47b89d
push esi
push 0x5f2391
push 0x528c40
call fcn.004541dc
add esp, 0xc
push 0x200
push 0x1e
push 0x5ace8c
push esi
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x32
push 0x5ad1d4
push esi
call fcn.004524d4
add esp, 0x10
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x47b972
test byte [0x528c3d], 2
je 0x47b8f1
mov edx, dword [ebp + 0x10]
push edx
push 0x5f239b
push 0x528c40
call fcn.004541dc
add esp, 0xc
mov ecx, dword [ebp + 0x10]
push edi
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
lea esi, [ebp - 0x103c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [ebp - 0x103c]
pop edi
test al, al
je 0x47b93c
lea edx, [ebp - 0x103c]
push edx
call fcn.00415000
pop ecx
dec eax
je 0x47b93c
or dword [ebp - 0x2c], 0x200
push 0x200
push 0x1e
push 0x5ad022
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x32
push 0x5ad206
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
test edi, edi
je 0x47ba5b
mov dl, byte [edi]
test dl, dl
je 0x47ba5b
test byte [0x528c3d], 2
je 0x47b9a0
push edi
push 0x5f23a4
push 0x528c40
call fcn.004541dc
add esp, 0xc
xor eax, eax
push edi
or ecx, 0xffffffff
lea esi, [ebp - 0x103c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movsx eax, byte [ebp - 0x103c]
cmp eax, 0x3f
pop edi
jne 0x47b9e2
push 0
lea edx, [ebp - 0x103c]
push edx
call fcn.00415674
add esp, 8
mov cl, byte [ebp - 0x103c]
test cl, cl
je 0x47ba03
lea eax, [ebp - 0x103c]
push eax
call fcn.00415000
pop ecx
dec eax
je 0x47ba03
or dword [ebp - 0x2c], 0x400
test byte [0x528c3d], 2
je 0x47ba25
lea edx, [ebp - 0x103c]
push edx
push 0x5f23ad
push 0x528c40
call fcn.004541dc
add esp, 0xc
push 0x200
push 0x1e
push 0x5ad040
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x32
push 0x5ad238
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x1e
push 0x5acce8
push 0x5f23b8
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x1e
push 0x5ad062
push 0x5f23cd
call fcn.004524d4
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
call fcn.0045249c
test byte [0x528c3d], 2
pop ecx
je 0x47babc
lea ecx, [ebp - 0x103c]
push ecx
push 0x5f23e2
push 0x528c40
call fcn.004541dc
add esp, 0xc
push 0x200
push 0x3c
push 0x5ac89c
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x3c
push 0x5ad080
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
lea ecx, [ebp - 0x103c]
push ecx
call fcn.00452488
pop ecx
push 0x200
push 8
push 0x5ac8e8
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
push 0x1693
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524b8
pop ecx
push 0x200
push 0x10
push 0x5ac8d8
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
push 0x1691
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
call fcn.00411164
push eax
push 0x5f23f0
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5ac8f0
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
push 0x1695
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
mov ecx, dword [0x5adecd]
mov dword [ebp - 0x30], ecx
xor eax, eax
mov dword [ebp - 0x34], eax
xor edi, edi
xor ebx, ebx
xor esi, esi
xor eax, eax
mov dword [ebp - 0x3c], eax
lea edx, [ebp - 0x30]
push edx
call sub.KERNEL32.dll_GetDriveTypeA
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
cmp ecx, 6
ja case.0x47bbfe.0
jmp dword [ecx*4 + 0x47bc05]
xor ebx, ebx
xor esi, esi
xor eax, eax
lea edx, [ebp - 0x203c]
mov dword [ebp - 0x3c], eax
push 0
push edx
lea ecx, [ebp - 0x30]
push ecx
call fcn.00411db4
add esp, 0xc
test al, al
jne 0x47bd6a
lea eax, [ebp - 0x203c]
push eax
mov edx, dword [ebp - 0x34]
push edx
push 7
call fcn.004116fc
add esp, 0xc
jmp 0x47bd6a
xor esi, esi
xor eax, eax
mov dword [ebp - 0x3c], eax
lea edx, [ebp - 0x203c]
push 0
push edx
lea ecx, [ebp - 0x30]
mov bl, 0x32
push ecx
call fcn.00411db4
add esp, 0xc
test al, al
jne 0x47bd6a
lea eax, [ebp - 0x203c]
push eax
mov edx, dword [ebp - 0x34]
push edx
push 7
call fcn.004116fc
add esp, 0xc
jmp 0x47bd6a
xor esi, esi
xor eax, eax
mov dword [ebp - 0x3c], eax
lea edx, [ebp - 0x203c]
push 0
push edx
lea ecx, [ebp - 0x30]
mov bl, 0x33
push ecx
call fcn.00411db4
add esp, 0xc
test al, al
jne 0x47bd6a
lea eax, [ebp - 0x203c]
push eax
mov edx, dword [ebp - 0x34]
push edx
push 7
call fcn.004116fc
add esp, 0xc
jmp 0x47bd6a
mov bl, 0x31
push 1
lea eax, [ebp - 0x30]
push eax
call fcn.004112c8
add esp, 8
mov esi, eax
push 0
lea eax, [ebp - 0x30]
push eax
call fcn.004112c8
add esp, 8
mov dword [ebp - 0x3c], eax
lea edx, [ebp - 0x203c]
lea ecx, [ebp - 0x30]
push 0
push edx
push ecx
call fcn.00411db4
add esp, 0xc
test al, al
jne 0x47bd6a
lea eax, [ebp - 0x203c]
push eax
mov edx, dword [ebp - 0x34]
push edx
push 7
call fcn.004116fc
add esp, 0xc
jmp 0x47bd6a
mov bl, 0x34
push 1
lea eax, [ebp - 0x30]
push eax
call fcn.004112c8
add esp, 8
mov esi, eax
push 0
lea eax, [ebp - 0x30]
push eax
call fcn.004112c8
add esp, 8
mov dword [ebp - 0x3c], eax
lea edx, [ebp - 0x203c]
push edx
lea ecx, [ebp - 0x30]
push ecx
call fcn.004409cc
add esp, 8
test bl, bl
je 0x47c3db
mov al, byte [ebp - 0x30]
xor edx, edx
mov byte [ebp - 0x103c], al
mov dl, bl
mov dword [ebp - 0x103b], edx
mov dword [ebp - 0x1037], esi
mov ecx, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x1033], ecx
push esi
push edi
lea edi, [ebp - 0x203c]
or ecx, 0xffffffff
lea esi, [ebp - 0x102f]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x203c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push eax
call fcn.004d2f1c
pop ecx
add eax, 0xd
mov ecx, edi
push eax
shl ecx, 4
lea edx, [ebp - 0x103c]
push edx
add ecx, 0x1100
push ecx
push 0x4b0
push 0x5ad3e2
call fcn.00479c2c
add esp, 0x14
test edi, edi
jne 0x47be79
push esi
push 0x5f23f3
lea eax, [ebp - 0x103c]
push eax
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5ac8f8
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
mov ecx, dword [ebp - 0x3c]
push ecx
push 0x5f23f6
lea eax, [ebp - 0x103c]
push eax
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5ac900
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x1e
push 0x5ac908
lea ecx, [ebp - 0x203c]
push ecx
call fcn.004524d4
add esp, 0x10
cmp edi, 1
jne 0x47bf4c
push 0x200
push 2
push 0x5ac926
lea eax, [ebp - 0x30]
push eax
call fcn.004524d4
add esp, 0x10
xor edx, edx
mov dl, bl
lea ecx, [ebp - 0x103c]
push edx
push 0x5f23f9
push ecx
call fcn.004d75f8
add esp, 0xc
push 0x200
push 2
push 0x5ac946
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
lea edx, [ebp - 0x103c]
push esi
push 0x5f23fe
push edx
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5ac948
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524d4
add esp, 0x10
mov eax, dword [ebp - 0x3c]
push eax
push 0x5f2401
lea edx, [ebp - 0x103c]
push edx
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5ac950
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x1e
push 0x5ac928
lea eax, [ebp - 0x203c]
push eax
call fcn.004524d4
add esp, 0x10
cmp edi, 2
jne 0x47c01f
push 0x200
push 2
push 0x5ac958
lea edx, [ebp - 0x30]
push edx
call fcn.004524d4
add esp, 0x10
xor ecx, ecx
mov cl, bl
lea eax, [ebp - 0x103c]
push ecx
push 0x5f2404
push eax
call fcn.004d75f8
add esp, 0xc
push 0x200
push 2
push 0x5ac978
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
lea ecx, [ebp - 0x103c]
push esi
push 0x5f2409
push ecx
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5ac97a
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
mov edx, dword [ebp - 0x3c]
push edx
push 0x5f240c
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5ac982
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x1e
push 0x5ac95a
lea edx, [ebp - 0x203c]
push edx
call fcn.004524d4
add esp, 0x10
cmp edi, 3
jne 0x47c0f2
push 0x200
push 2
push 0x5ac98a
lea ecx, [ebp - 0x30]
push ecx
call fcn.004524d4
add esp, 0x10
xor eax, eax
mov al, bl
lea edx, [ebp - 0x103c]
push eax
push 0x5f240f
push edx
call fcn.004d75f8
add esp, 0xc
push 0x200
push 2
push 0x5ac9aa
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524d4
add esp, 0x10
lea eax, [ebp - 0x103c]
push esi
push 0x5f2414
push eax
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5ac9ac
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
mov ecx, dword [ebp - 0x3c]
push ecx
push 0x5f2417
lea eax, [ebp - 0x103c]
push eax
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5ac9b4
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x1e
push 0x5ac98c
lea ecx, [ebp - 0x203c]
push ecx
call fcn.004524d4
add esp, 0x10
cmp edi, 4
jne 0x47c1c5
push 0x200
push 2
push 0x5ac9bc
lea eax, [ebp - 0x30]
push eax
call fcn.004524d4
add esp, 0x10
xor edx, edx
mov dl, bl
lea ecx, [ebp - 0x103c]
push edx
push 0x5f241a
push ecx
call fcn.004d75f8
add esp, 0xc
push 0x200
push 2
push 0x5ac9dc
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
lea edx, [ebp - 0x103c]
push esi
push 0x5f241f
push edx
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5ac9de
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524d4
add esp, 0x10
mov eax, dword [ebp - 0x3c]
push eax
push 0x5f2422
lea edx, [ebp - 0x103c]
push edx
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5ac9e6
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x1e
push 0x5ac9be
lea eax, [ebp - 0x203c]
push eax
call fcn.004524d4
add esp, 0x10
cmp edi, 5
jne 0x47c298
push 0x200
push 2
push 0x5ac9ee
lea edx, [ebp - 0x30]
push edx
call fcn.004524d4
add esp, 0x10
xor ecx, ecx
mov cl, bl
lea eax, [ebp - 0x103c]
push ecx
push 0x5f2425
push eax
call fcn.004d75f8
add esp, 0xc
push 0x200
push 2
push 0x5aca0e
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
lea ecx, [ebp - 0x103c]
push esi
push 0x5f242a
push ecx
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5aca10
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
mov edx, dword [ebp - 0x3c]
push edx
push 0x5f242d
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5aca18
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x1e
push 0x5ac9f0
lea edx, [ebp - 0x203c]
push edx
call fcn.004524d4
add esp, 0x10
cmp edi, 6
jne 0x47c36b
push 0x200
push 2
push 0x5aca20
lea ecx, [ebp - 0x30]
push ecx
call fcn.004524d4
add esp, 0x10
xor eax, eax
mov al, bl
lea edx, [ebp - 0x103c]
push eax
push 0x5f2430
push edx
call fcn.004d75f8
add esp, 0xc
push 0x200
push 2
push 0x5aca40
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524d4
add esp, 0x10
lea eax, [ebp - 0x103c]
push esi
push 0x5f2435
push eax
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5aca42
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
mov ecx, dword [ebp - 0x3c]
push ecx
push 0x5f2438
lea eax, [ebp - 0x103c]
push eax
call fcn.004d75f8
add esp, 0xc
push 0x200
push 8
push 0x5aca4a
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x1e
push 0x5aca22
lea ecx, [ebp - 0x203c]
push ecx
call fcn.004524d4
add esp, 0x10
lea eax, [ebp - 0x203c]
xor ecx, ecx
push eax
mov cl, bl
mov edx, dword [ebp - 0x38]
push edx
push ecx
push esi
mov ecx, edi
mov eax, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x303c]
movsx edx, byte [ebp - 0x30]
shl ecx, 4
push edx
add ecx, 0x1100
push ecx
push 0x5f243b
push eax
call fcn.004d75f8
add esp, 0x24
test byte [0x528c3d], 2
je 0x47c3c7
lea edx, [ebp - 0x303c]
push edx
push 0x5f2454
push 0x528c40
call fcn.004541dc
add esp, 0xc
inc edi
mov ecx, edi
shl ecx, 4
add ecx, 0x1100
cmp ecx, 0x1190
jg 0x47c401
movsx eax, byte [ebp - 0x30]
cmp eax, 0x5a
jne 0x47c3ed
mov byte [ebp - 0x30], 0x41
jmp 0x47bbea
inc byte [ebp - 0x30]
movsx edx, byte [ebp - 0x30]
cmp edx, 0x43
je 0x47c401
inc dword [ebp - 0x34]
jmp 0x47bbea
lea ecx, [ebp - 0x103c]
push ecx
push 0
push 1
call fcn.004116fc
add esp, 0xc
test byte [0x528c3d], 2
je 0x47c436
lea eax, [ebp - 0x103c]
push eax
push 0x5f245e
push 0x528c40
call fcn.004541dc
add esp, 0xc
push 0x200
push 0x32
push 0x5acb26
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
mov cl, byte [ebp - 0x103c]
test cl, cl
je 0x47c479
lea eax, [ebp - 0x103c]
push eax
push 0x1501
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
push 0
push 2
call fcn.004116fc
add esp, 0xc
push 0x200
push 0x32
push 0x5acbbc
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524d4
add esp, 0x10
mov al, byte [ebp - 0x103c]
test al, al
je 0x47c4cf
lea edx, [ebp - 0x103c]
push edx
push 0x1541
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
lea ecx, [ebp - 0x103c]
push ecx
push 0
push 3
call fcn.004116fc
add esp, 0xc
push 0x200
push 0x32
push 0x5acbee
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
mov dl, byte [ebp - 0x103c]
test dl, dl
je 0x47c525
lea ecx, [ebp - 0x103c]
push ecx
push 0x1551
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
lea eax, [ebp - 0x103c]
push eax
push 0
push 5
call fcn.004116fc
add esp, 0xc
push 0x200
push 0x32
push 0x5acc20
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
mov cl, byte [ebp - 0x103c]
test cl, cl
je 0x47c57b
lea eax, [ebp - 0x103c]
push eax
push 0x1561
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
push 0
push 6
call fcn.004116fc
add esp, 0xc
push 0x200
push 0x32
push 0x5acaf4
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524d4
add esp, 0x10
mov al, byte [ebp - 0x103c]
test al, al
je 0x47c5d1
lea edx, [ebp - 0x103c]
push edx
push 0x1531
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
push 1
lea ecx, [ebp - 0x103c]
push 0x104
push ecx
push 0x5f2491
push 0x5f2467
push 0x80000002
call fcn.00406a10
add esp, 0x18
test eax, eax
jne 0x47c61f
push 1
lea eax, [ebp - 0x103c]
push 0x104
push eax
push 0x5f24c9
push 0x5f249c
push 0x80000002
call fcn.00406a10
add esp, 0x18
push 0x200
push 0x28
push 0x5aca58
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
mov cl, byte [ebp - 0x103c]
test cl, cl
je 0x47c662
lea eax, [ebp - 0x103c]
push eax
push 0x1023
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
call fcn.0040fe44
pop ecx
push 0x200
push 6
push 0x5aca52
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524d4
add esp, 0x10
mov al, byte [ebp - 0x103c]
test al, al
je 0x47c6b2
lea edx, [ebp - 0x103c]
push edx
push 0x1020
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
push 0x5aceb2
call fcn.0047ad2c
pop ecx
mov ecx, dword [0x5aceb2]
push ecx
push 0x5f24d3
push 0x200
call fcn.00454390
add esp, 0xc
push 0x4b0
push 0x5ad3e2
call fcn.0047a664
add esp, 8
or dword [0x5aceb2], eax
mov eax, dword [0x5aceb2]
push eax
push 0x5f24dd
push 0x200
call fcn.00454390
add esp, 0xc
test byte [0x528c3d], 2
je 0x47c726
push 0x5f24f1
push 0x5f24e8
push 0x528c40
call fcn.004541dc
add esp, 0xc
call fcn.0047b170
mov word [ebp - 0x14], 8
xor ebx, ebx
mov byte [ebp - 0x103c], 0
lea eax, [ebx + 1]
lea edx, [ebp - 0x303c]
and eax, 0xfff
lea ecx, [ebp - 0x203c]
push eax
push edx
push ecx
lea eax, [ebp - 0x103c]
push eax
push 0
call fcn.00416a5c
add esp, 0x14
test al, al
jne 0x47c78c
lea edx, [ebp - 0x103c]
mov esi, ebx
push edx
push esi
push 4
call fcn.004116fc
add esp, 0xc
lea eax, [ebp - 0x203c]
push 0
push esi
push eax
call fcn.004417a4
add esp, 0xc
mov dl, byte [ebp - 0x103c]
test dl, dl
je 0x47c96c
mov esi, ebx
lea ecx, [ebp - 0x103c]
shl esi, 4
push ecx
mov eax, esi
add eax, 0x1300
push eax
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
lea edx, [ebp - 0x203c]
mov ecx, esi
add ecx, 0x1303
push edx
push ecx
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
lea eax, [ebp - 0x303c]
push eax
add esi, 0x1305
push esi
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
test ebx, ebx
jne 0x47c857
push 0x200
push 0x32
push 0x5acb58
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x19
push 0x5acb8a
lea ecx, [ebp - 0x203c]
push ecx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x19
push 0x5acba3
lea eax, [ebp - 0x303c]
push eax
call fcn.004524d4
add esp, 0x10
cmp ebx, 1
jne 0x47c8ad
push 0x200
push 0x32
push 0x5acc52
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x19
push 0x5acc84
lea ecx, [ebp - 0x203c]
push ecx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x19
push 0x5acc9d
lea eax, [ebp - 0x303c]
push eax
call fcn.004524d4
add esp, 0x10
cmp ebx, 2
jne 0x47c903
push 0x200
push 0x32
push 0x5acd4c
lea edx, [ebp - 0x103c]
push edx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x19
push 0x5acd7e
lea ecx, [ebp - 0x203c]
push ecx
call fcn.004524d4
add esp, 0x10
push 0x200
push 0x19
push 0x5acd97
lea eax, [ebp - 0x303c]
push eax
call fcn.004524d4
add esp, 0x10
lea edx, [ebp - 0x103c]
lea ecx, [ebp - 0x203c]
push edx
push ecx
lea eax, [ebp - 0x303c]
push 0x5f24f2
push eax
call fcn.004d2f1c
pop ecx
lea edx, [ebp - 0x303c]
add eax, edx
push eax
call fcn.004d75f8
add esp, 0x10
test byte [0x528c3d], 2
je 0x47c956
lea ecx, [ebp - 0x303c]
push ecx
push 0x5f24fb
push 0x528c40
call fcn.004541dc
add esp, 0xc
inc ebx
mov eax, ebx
shl eax, 4
add eax, 0x1300
cmp eax, 0x1390
jbe 0x47c733
lea edx, [ebp - 0x103c]
push edx
call fcn.004cb364
pop ecx
push 0x200
push 0x32
push 0x5acdb0
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004524d4
add esp, 0x10
lea eax, [ebp - 0x103c]
push eax
push 0x1701
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
lea edx, [ebp - 0x203c]
push edx
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004cb3cc
add esp, 8
push 0x200
push 0x32
push 0x5acde2
lea eax, [ebp - 0x203c]
push eax
call fcn.004524d4
add esp, 0x10
lea edx, [ebp - 0x203c]
push edx
push 0x1703
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0040aa50
pop ecx
push 0x200
push 0x14
push 0x5acd0a
lea eax, [ebp - 0x103c]
push eax
call fcn.004524d4
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
push 0x1003
push 0x4b0
push 0x5ad3e2
call fcn.00479d48
add esp, 0x10
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x47ca75
mov eax, dword [ebp - 0x2c]
push eax
push 0x5f2504
push 0x200
call fcn.00454390
add esp, 0xc
mov edx, dword [ebp - 0x2c]
push edx
push 0x47b3b0
call fcn.00401c40
add esp, 8
test byte [0x528c3d], 2
je 0x47ca95
push 0x5f251c
push 0x5f2512
push 0x528c40
call fcn.004541dc
add esp, 0xc
mov al, 1
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x47cad2
mov esp, ebp
mov edi, dword [ebp - 0x3048]
mov esi, dword [ebp - 0x3044]
mov ebx, dword [ebp - 0x3040]
pop ebp
ret