Function at 0x477488
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 3
add esp, 0xfffff004
push eax
dec eax
jne 0x477491
add esp, 0xffffffc8
mov eax, dword [ebp - 4]
mov eax, 0x593dcd
push ebx
push esi
push edi
mov edi, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
call fcn.004cfcb8
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 [0x514ff1], 2
je 0x4774ed
push 0x5d7564
push 0x5d755b
push 0x514ff4
call fcn.00451068
add esp, 0xc
push 0x83e
push 0
push 0x59271c
call fcn.004cd264
add esp, 0xc
push 3
push 0x59271c
call fcn.004525a8
add esp, 8
push 0x834
push 0
push 0x592f5a
call fcn.004cd264
add esp, 0xc
push 4
push 0x592f5a
call fcn.004525a8
mov ax, word [0x515294]
movzx edx, ax
mov dword [0x592c02], edx
add esp, 8
mov word [0x5932d0], ax
lea eax, [ebp - 0x103c]
mov cx, word [0x515296]
push eax
mov word [0x5932ce], cx
call fcn.00476f7c
test byte [0x514ff1], 2
pop ecx
je 0x477585
lea edx, [ebp - 0x103c]
push edx
push 0x5d7567
push 0x514ff4
call fcn.00451068
add esp, 0xc
push 0x200
push 0x1e
push 0x592720
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x28
push 0x592fb8
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
call fcn.00476fa0
pop ecx
test al, al
jne 0x4775d3
or dword [ebp - 0x2c], 0x100
or dword [ebp - 0x2c], 0x100
test byte [0x514ff1], 2
je 0x4775fc
lea ecx, [ebp - 0x103c]
push ecx
push 0x5d7577
push 0x514ff4
call fcn.00451068
add esp, 0xc
push 0x200
push 0x1e
push 0x59273e
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x32
push 0x59303a
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
lea ecx, [ebp - 0x103c]
push ecx
call fcn.00476f90
test byte [0x514ff1], 2
pop ecx
je 0x477661
lea eax, [ebp - 0x103c]
push eax
push 0x5d7582
push 0x514ff4
call fcn.00451068
add esp, 0xc
push 0x200
push 0x1e
push 0x59277a
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x28
push 0x592fe0
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f360
add esp, 0x10
test ebx, ebx
je 0x4776e1
test byte [0x514ff1], 2
je 0x4776b7
push ebx
push 0x5d758e
push 0x514ff4
call fcn.00451068
add esp, 0xc
push 0x200
push 0x1e
push 0x59275c
push ebx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x32
push 0x59309e
push ebx
call fcn.0044f360
add esp, 0x10
test esi, esi
je 0x47772b
test byte [0x514ff1], 2
je 0x477701
push esi
push 0x5d759a
push 0x514ff4
call fcn.00451068
add esp, 0xc
push 0x200
push 0x1e
push 0x592d88
push esi
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x32
push 0x5930d0
push esi
call fcn.0044f360
add esp, 0x10
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4777d6
test byte [0x514ff1], 2
je 0x477755
mov edx, dword [ebp + 0x10]
push edx
push 0x5d75a7
push 0x514ff4
call fcn.00451068
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 0x4777a0
lea edx, [ebp - 0x103c]
push edx
call fcn.00414570
pop ecx
dec eax
je 0x4777a0
or dword [ebp - 0x2c], 0x200
push 0x200
push 0x1e
push 0x592f1e
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x32
push 0x593102
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
test edi, edi
je 0x4778bf
mov dl, byte [edi]
test dl, dl
je 0x4778bf
test byte [0x514ff1], 2
je 0x477804
push edi
push 0x5d75b3
push 0x514ff4
call fcn.00451068
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 0x477846
push 0
lea edx, [ebp - 0x103c]
push edx
call fcn.00414be4
add esp, 8
mov cl, byte [ebp - 0x103c]
test cl, cl
je 0x477867
lea eax, [ebp - 0x103c]
push eax
call fcn.00414570
pop ecx
dec eax
je 0x477867
or dword [ebp - 0x2c], 0x400
test byte [0x514ff1], 2
je 0x477889
lea edx, [ebp - 0x103c]
push edx
push 0x5d75bf
push 0x514ff4
call fcn.00451068
add esp, 0xc
push 0x200
push 0x1e
push 0x592f3c
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x32
push 0x593134
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x1e
push 0x592be4
push 0x5d75cd
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x1e
push 0x592f5e
push 0x5d75e3
call fcn.0044f360
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f328
test byte [0x514ff1], 2
pop ecx
je 0x477920
lea ecx, [ebp - 0x103c]
push ecx
push 0x5d75f9
push 0x514ff4
call fcn.00451068
add esp, 0xc
push 0x200
push 0x3c
push 0x592798
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x3c
push 0x592f7c
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f314
pop ecx
push 0x200
push 8
push 0x5927e4
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
push 0x1693
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f344
pop ecx
push 0x200
push 0x10
push 0x5927d4
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
push 0x1691
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
call fcn.004106fc
push eax
push 0x5d760a
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x5927ec
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
push 0x1695
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
mov ecx, dword [0x593dc9]
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.0x477a62.0
jmp dword [ecx*4 + 0x477a69]
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.0041134c
add esp, 0xc
test al, al
jne 0x477bce
lea eax, [ebp - 0x203c]
push eax
mov edx, dword [ebp - 0x34]
push edx
push 7
call fcn.00410c94
add esp, 0xc
jmp 0x477bce
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.0041134c
add esp, 0xc
test al, al
jne 0x477bce
lea eax, [ebp - 0x203c]
push eax
mov edx, dword [ebp - 0x34]
push edx
push 7
call fcn.00410c94
add esp, 0xc
jmp 0x477bce
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.0041134c
add esp, 0xc
test al, al
jne 0x477bce
lea eax, [ebp - 0x203c]
push eax
mov edx, dword [ebp - 0x34]
push edx
push 7
call fcn.00410c94
add esp, 0xc
jmp 0x477bce
mov bl, 0x31
push 1
lea eax, [ebp - 0x30]
push eax
call fcn.00410860
add esp, 8
mov esi, eax
push 0
lea eax, [ebp - 0x30]
push eax
call fcn.00410860
add esp, 8
mov dword [ebp - 0x3c], eax
lea edx, [ebp - 0x203c]
lea ecx, [ebp - 0x30]
push 0
push edx
push ecx
call fcn.0041134c
add esp, 0xc
test al, al
jne 0x477bce
lea eax, [ebp - 0x203c]
push eax
mov edx, dword [ebp - 0x34]
push edx
push 7
call fcn.00410c94
add esp, 0xc
jmp 0x477bce
mov bl, 0x34
push 1
lea eax, [ebp - 0x30]
push eax
call fcn.00410860
add esp, 8
mov esi, eax
push 0
lea eax, [ebp - 0x30]
push eax
call fcn.00410860
add esp, 8
mov dword [ebp - 0x3c], eax
lea edx, [ebp - 0x203c]
push edx
lea ecx, [ebp - 0x30]
push ecx
call fcn.0043e568
add esp, 8
test bl, bl
je 0x47823f
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.004cd3e4
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 0x5932de
call fcn.00475ac0
add esp, 0x14
test edi, edi
jne 0x477cdd
push esi
push 0x5d760d
lea eax, [ebp - 0x103c]
push eax
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x5927f4
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
mov ecx, dword [ebp - 0x3c]
push ecx
push 0x5d7610
lea eax, [ebp - 0x103c]
push eax
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x5927fc
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x1e
push 0x592804
lea ecx, [ebp - 0x203c]
push ecx
call fcn.0044f360
add esp, 0x10
cmp edi, 1
jne 0x477db0
push 0x200
push 2
push 0x592822
lea eax, [ebp - 0x30]
push eax
call fcn.0044f360
add esp, 0x10
xor edx, edx
mov dl, bl
lea ecx, [ebp - 0x103c]
push edx
push 0x5d7613
push ecx
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 2
push 0x592842
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
lea edx, [ebp - 0x103c]
push esi
push 0x5d7618
push edx
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x592844
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f360
add esp, 0x10
mov eax, dword [ebp - 0x3c]
push eax
push 0x5d761b
lea edx, [ebp - 0x103c]
push edx
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x59284c
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x1e
push 0x592824
lea eax, [ebp - 0x203c]
push eax
call fcn.0044f360
add esp, 0x10
cmp edi, 2
jne 0x477e83
push 0x200
push 2
push 0x592854
lea edx, [ebp - 0x30]
push edx
call fcn.0044f360
add esp, 0x10
xor ecx, ecx
mov cl, bl
lea eax, [ebp - 0x103c]
push ecx
push 0x5d761e
push eax
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 2
push 0x592874
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
lea ecx, [ebp - 0x103c]
push esi
push 0x5d7623
push ecx
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x592876
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
mov edx, dword [ebp - 0x3c]
push edx
push 0x5d7626
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x59287e
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x1e
push 0x592856
lea edx, [ebp - 0x203c]
push edx
call fcn.0044f360
add esp, 0x10
cmp edi, 3
jne 0x477f56
push 0x200
push 2
push 0x592886
lea ecx, [ebp - 0x30]
push ecx
call fcn.0044f360
add esp, 0x10
xor eax, eax
mov al, bl
lea edx, [ebp - 0x103c]
push eax
push 0x5d7629
push edx
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 2
push 0x5928a6
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f360
add esp, 0x10
lea eax, [ebp - 0x103c]
push esi
push 0x5d762e
push eax
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x5928a8
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
mov ecx, dword [ebp - 0x3c]
push ecx
push 0x5d7631
lea eax, [ebp - 0x103c]
push eax
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x5928b0
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x1e
push 0x592888
lea ecx, [ebp - 0x203c]
push ecx
call fcn.0044f360
add esp, 0x10
cmp edi, 4
jne 0x478029
push 0x200
push 2
push 0x5928b8
lea eax, [ebp - 0x30]
push eax
call fcn.0044f360
add esp, 0x10
xor edx, edx
mov dl, bl
lea ecx, [ebp - 0x103c]
push edx
push 0x5d7634
push ecx
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 2
push 0x5928d8
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
lea edx, [ebp - 0x103c]
push esi
push 0x5d7639
push edx
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x5928da
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f360
add esp, 0x10
mov eax, dword [ebp - 0x3c]
push eax
push 0x5d763c
lea edx, [ebp - 0x103c]
push edx
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x5928e2
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x1e
push 0x5928ba
lea eax, [ebp - 0x203c]
push eax
call fcn.0044f360
add esp, 0x10
cmp edi, 5
jne 0x4780fc
push 0x200
push 2
push 0x5928ea
lea edx, [ebp - 0x30]
push edx
call fcn.0044f360
add esp, 0x10
xor ecx, ecx
mov cl, bl
lea eax, [ebp - 0x103c]
push ecx
push 0x5d763f
push eax
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 2
push 0x59290a
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
lea ecx, [ebp - 0x103c]
push esi
push 0x5d7644
push ecx
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x59290c
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
mov edx, dword [ebp - 0x3c]
push edx
push 0x5d7647
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x592914
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x1e
push 0x5928ec
lea edx, [ebp - 0x203c]
push edx
call fcn.0044f360
add esp, 0x10
cmp edi, 6
jne 0x4781cf
push 0x200
push 2
push 0x59291c
lea ecx, [ebp - 0x30]
push ecx
call fcn.0044f360
add esp, 0x10
xor eax, eax
mov al, bl
lea edx, [ebp - 0x103c]
push eax
push 0x5d764a
push edx
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 2
push 0x59293c
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f360
add esp, 0x10
lea eax, [ebp - 0x103c]
push esi
push 0x5d764f
push eax
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x59293e
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
mov ecx, dword [ebp - 0x3c]
push ecx
push 0x5d7652
lea eax, [ebp - 0x103c]
push eax
call fcn.004d1ac0
add esp, 0xc
push 0x200
push 8
push 0x592946
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x1e
push 0x59291e
lea ecx, [ebp - 0x203c]
push ecx
call fcn.0044f360
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 0x5d7655
push eax
call fcn.004d1ac0
add esp, 0x24
test byte [0x514ff1], 2
je 0x47822b
lea edx, [ebp - 0x303c]
push edx
push 0x5d766e
push 0x514ff4
call fcn.00451068
add esp, 0xc
inc edi
mov ecx, edi
shl ecx, 4
add ecx, 0x1100
cmp ecx, 0x1190
jg 0x478265
movsx eax, byte [ebp - 0x30]
cmp eax, 0x5a
jne 0x478251
mov byte [ebp - 0x30], 0x41
jmp 0x477a4e
inc byte [ebp - 0x30]
movsx edx, byte [ebp - 0x30]
cmp edx, 0x43
je 0x478265
inc dword [ebp - 0x34]
jmp 0x477a4e
lea ecx, [ebp - 0x103c]
push ecx
push 0
push 1
call fcn.00410c94
add esp, 0xc
test byte [0x514ff1], 2
je 0x47829a
lea eax, [ebp - 0x103c]
push eax
push 0x5d767b
push 0x514ff4
call fcn.00451068
add esp, 0xc
push 0x200
push 0x32
push 0x592a22
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
mov cl, byte [ebp - 0x103c]
test cl, cl
je 0x4782dd
lea eax, [ebp - 0x103c]
push eax
push 0x1501
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
push 0
push 2
call fcn.00410c94
add esp, 0xc
push 0x200
push 0x32
push 0x592ab8
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f360
add esp, 0x10
mov al, byte [ebp - 0x103c]
test al, al
je 0x478333
lea edx, [ebp - 0x103c]
push edx
push 0x1541
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
lea ecx, [ebp - 0x103c]
push ecx
push 0
push 3
call fcn.00410c94
add esp, 0xc
push 0x200
push 0x32
push 0x592aea
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
mov dl, byte [ebp - 0x103c]
test dl, dl
je 0x478389
lea ecx, [ebp - 0x103c]
push ecx
push 0x1551
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
lea eax, [ebp - 0x103c]
push eax
push 0
push 5
call fcn.00410c94
add esp, 0xc
push 0x200
push 0x32
push 0x592b1c
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
mov cl, byte [ebp - 0x103c]
test cl, cl
je 0x4783df
lea eax, [ebp - 0x103c]
push eax
push 0x1561
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
push 0
push 6
call fcn.00410c94
add esp, 0xc
push 0x200
push 0x32
push 0x5929f0
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f360
add esp, 0x10
mov al, byte [ebp - 0x103c]
test al, al
je 0x478435
lea edx, [ebp - 0x103c]
push edx
push 0x1531
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
push 1
lea ecx, [ebp - 0x103c]
push 0x104
push ecx
push 0x5d76b1
push 0x5d7687
push 0x80000002
call fcn.00406a20
add esp, 0x18
test eax, eax
jne 0x478483
push 1
lea eax, [ebp - 0x103c]
push 0x104
push eax
push 0x5d76e9
push 0x5d76bc
push 0x80000002
call fcn.00406a20
add esp, 0x18
push 0x200
push 0x28
push 0x592954
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
mov cl, byte [ebp - 0x103c]
test cl, cl
je 0x4784c6
lea eax, [ebp - 0x103c]
push eax
push 0x1023
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
call fcn.0040f730
pop ecx
push 0x200
push 6
push 0x59294e
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f360
add esp, 0x10
mov al, byte [ebp - 0x103c]
test al, al
je 0x478516
lea edx, [ebp - 0x103c]
push edx
push 0x1020
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
push 0x592dae
call fcn.00476bc0
pop ecx
mov ecx, dword [0x592dae]
push ecx
push 0x5d76f3
push 0x200
call fcn.0045121c
add esp, 0xc
push 0x4b0
push 0x5932de
call fcn.004764f8
add esp, 8
or dword [0x592dae], eax
mov eax, dword [0x592dae]
push eax
push 0x5d7700
push 0x200
call fcn.0045121c
add esp, 0xc
test byte [0x514ff1], 2
je 0x47858a
push 0x5d771a
push 0x5d770e
push 0x514ff4
call fcn.00451068
add esp, 0xc
call fcn.00476fd4
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.00415fcc
add esp, 0x14
test al, al
jne 0x4785f0
lea edx, [ebp - 0x103c]
mov esi, ebx
push edx
push esi
push 4
call fcn.00410c94
add esp, 0xc
lea eax, [ebp - 0x203c]
push 0
push esi
push eax
call fcn.0043f340
add esp, 0xc
mov dl, byte [ebp - 0x103c]
test dl, dl
je 0x4787d0
mov esi, ebx
lea ecx, [ebp - 0x103c]
shl esi, 4
push ecx
mov eax, esi
add eax, 0x1300
push eax
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
lea edx, [ebp - 0x203c]
mov ecx, esi
add ecx, 0x1303
push edx
push ecx
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
lea eax, [ebp - 0x303c]
push eax
add esi, 0x1305
push esi
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
test ebx, ebx
jne 0x4786bb
push 0x200
push 0x32
push 0x592a54
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x19
push 0x592a86
lea ecx, [ebp - 0x203c]
push ecx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x19
push 0x592a9f
lea eax, [ebp - 0x303c]
push eax
call fcn.0044f360
add esp, 0x10
cmp ebx, 1
jne 0x478711
push 0x200
push 0x32
push 0x592b4e
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x19
push 0x592b80
lea ecx, [ebp - 0x203c]
push ecx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x19
push 0x592b99
lea eax, [ebp - 0x303c]
push eax
call fcn.0044f360
add esp, 0x10
cmp ebx, 2
jne 0x478767
push 0x200
push 0x32
push 0x592c48
lea edx, [ebp - 0x103c]
push edx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x19
push 0x592c7a
lea ecx, [ebp - 0x203c]
push ecx
call fcn.0044f360
add esp, 0x10
push 0x200
push 0x19
push 0x592c93
lea eax, [ebp - 0x303c]
push eax
call fcn.0044f360
add esp, 0x10
lea edx, [ebp - 0x103c]
lea ecx, [ebp - 0x203c]
push edx
push ecx
lea eax, [ebp - 0x303c]
push 0x5d771b
push eax
call fcn.004cd3e4
pop ecx
lea edx, [ebp - 0x303c]
add eax, edx
push eax
call fcn.004d1ac0
add esp, 0x10
test byte [0x514ff1], 2
je 0x4787ba
lea ecx, [ebp - 0x303c]
push ecx
push 0x5d7724
push 0x514ff4
call fcn.00451068
add esp, 0xc
inc ebx
mov eax, ebx
shl eax, 4
add eax, 0x1300
cmp eax, 0x1390
jbe 0x478597
lea edx, [ebp - 0x103c]
push edx
call fcn.004c58c0
pop ecx
push 0x200
push 0x32
push 0x592cac
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0044f360
add esp, 0x10
lea eax, [ebp - 0x103c]
push eax
push 0x1701
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
lea edx, [ebp - 0x203c]
push edx
lea ecx, [ebp - 0x103c]
push ecx
call fcn.004c5928
add esp, 8
push 0x200
push 0x32
push 0x592cde
lea eax, [ebp - 0x203c]
push eax
call fcn.0044f360
add esp, 0x10
lea edx, [ebp - 0x203c]
push edx
push 0x1703
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
lea ecx, [ebp - 0x103c]
push ecx
call fcn.0040aa48
pop ecx
push 0x200
push 0x14
push 0x592c06
lea eax, [ebp - 0x103c]
push eax
call fcn.0044f360
add esp, 0x10
lea edx, [ebp - 0x103c]
push edx
push 0x1003
push 0x4b0
push 0x5932de
call fcn.00475bdc
add esp, 0x10
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x4788d9
mov eax, dword [ebp - 0x2c]
push eax
push 0x5d7730
push 0x200
call fcn.0045121c
add esp, 0xc
mov edx, dword [ebp - 0x2c]
push edx
push 0x477214
call fcn.00401c38
add esp, 8
test byte [0x514ff1], 2
je 0x4788f9
push 0x5d774e
push 0x5d7741
push 0x514ff4
call fcn.00451068
add esp, 0xc
mov al, 1
mov edx, dword [ebp - 0x24]
mov dword fs:[0], edx
jmp 0x478936
mov esp, ebp
mov edi, dword [ebp - 0x3048]
mov esi, dword [ebp - 0x3044]
mov ebx, dword [ebp - 0x3040]
pop ebp
ret