Function at 0x53a098
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x24
push 0
push 0
dec ecx
jne 0x53a0a1
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov byte [ebp - 6], cl
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404848
xor eax, eax
push ebp
push 0x53ad15
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0xc]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x330]
call fcn.0040d7c0
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 4]
call fcn.004043ec
lea eax, [ebp - 0x30]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx - 0x14]
mov edx, dword [edx + 0x328]
call fcn.00404430
mov al, byte [ebp - 5]
or al, byte [ebp + 0xc]
je 0x53a130
mov al, byte [0x53ad28]
push eax
lea eax, [ebp - 0x48]
push eax
mov ecx, 0x53ad34
mov edx, 0x53ad40
mov eax, dword [ebp - 0x30]
call fcn.0040df9c
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x30]
call fcn.00404430
mov al, byte [0x53ad44]
push eax
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
mov edx, 0x53ad50
call fcn.0040df9c
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp + 8]
call fcn.004043ec
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0xc]
call fcn.00404430
mov al, byte [ebp - 5]
or al, byte [ebp + 0xc]
je 0x53a191
mov al, byte [0x53ad28]
push eax
lea eax, [ebp - 0x50]
push eax
mov ecx, 0x53ad34
mov edx, 0x53ad40
mov eax, dword [ebp - 0x30]
call fcn.0040df9c
mov edx, dword [ebp - 0x50]
lea eax, [ebp - 0x30]
call fcn.00404430
mov al, byte [0x53ad44]
push eax
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
mov edx, 0x53ad64
call fcn.0040df9c
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp + 8]
call fcn.004043ec
lea eax, [ebp - 0x30]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004048b8
mov al, byte [ebp - 5]
or al, byte [ebp + 0xc]
je 0x53a1fd
mov al, byte [0x53ad28]
push eax
lea eax, [ebp - 0x58]
push eax
mov ecx, 0x53ad34
mov edx, 0x53ad40
mov eax, dword [ebp - 0x30]
call fcn.0040df9c
mov edx, dword [ebp - 0x58]
lea eax, [ebp - 0x30]
call fcn.00404430
mov al, byte [0x53ad44]
push eax
lea eax, [ebp - 0x5c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
mov edx, 0x53ad78
call fcn.0040df9c
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp + 8]
call fcn.004043ec
lea eax, [ebp - 0x30]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx - 0x14]
mov edx, dword [edx + 0x320]
call fcn.00404430
mov al, byte [ebp - 5]
or al, byte [ebp + 0xc]
je 0x53a267
mov al, byte [0x53ad28]
push eax
lea eax, [ebp - 0x60]
push eax
mov ecx, 0x53ad34
mov edx, 0x53ad40
mov eax, dword [ebp - 0x30]
call fcn.0040df9c
mov edx, dword [ebp - 0x60]
lea eax, [ebp - 0x30]
call fcn.00404430
mov al, byte [0x53ad44]
push eax
lea eax, [ebp - 0x64]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
mov edx, 0x53ad88
call fcn.0040df9c
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp + 8]
call fcn.004043ec
lea eax, [ebp - 0x30]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx - 0x14]
mov edx, dword [edx + 0x324]
call fcn.00404430
mov al, byte [ebp - 5]
or al, byte [ebp + 0xc]
je 0x53a2d1
mov al, byte [0x53ad28]
push eax
lea eax, [ebp - 0x68]
push eax
mov ecx, 0x53ad34
mov edx, 0x53ad40
mov eax, dword [ebp - 0x30]
call fcn.0040df9c
mov edx, dword [ebp - 0x68]
lea eax, [ebp - 0x30]
call fcn.00404430
mov al, byte [0x53ad44]
push eax
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
mov edx, 0x53ada0
call fcn.0040df9c
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp + 8]
call fcn.004043ec
lea edx, [ebp - 0x70]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
call fcn.004089b4
mov eax, dword [ebp - 0x70]
push eax
lea edx, [ebp - 0x74]
mov eax, 0x53adb4
call fcn.004089b4
mov eax, dword [ebp - 0x74]
pop edx
call fcn.0040499c
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jle 0x53a47e
mov byte [ebp - 0xd], 0
lea eax, [ebp - 0x78]
push eax
mov edx, dword [ebp - 0x14]
add edx, 0xa
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, 0x309
call fcn.004048b8
mov eax, dword [ebp - 0x78]
lea edx, [ebp - 0x18]
call fcn.00408bc8
mov byte [ebp - 0x19], 0x5a
push 0
lea eax, [ebp - 0x80]
mov dl, byte [ebp - 0x19]
call fcn.00404580
push dword [ebp - 0x80]
push 0x53adc8
lea eax, [ebp - 0x7c]
mov edx, 3
call fcn.00404718
mov eax, dword [ebp - 0x7c]
call fcn.00404858
push eax
call sub.kernel32.dll_GetDriveTypeA
cmp eax, 2
je 0x53a42b
lea eax, [ebp - 0x84]
mov dl, byte [ebp - 0x19]
call fcn.00404580
lea eax, [ebp - 0x84]
mov edx, dword [ebp - 0x18]
call fcn.00404660
mov eax, dword [ebp - 0x84]
call fcn.004092e8
test al, al
jne 0x53a3e7
lea eax, [ebp - 0x88]
mov dl, byte [ebp - 0x19]
call fcn.00404580
lea eax, [ebp - 0x88]
mov edx, dword [ebp - 0x18]
call fcn.00404660
mov eax, dword [ebp - 0x88]
call fcn.004092f8
test al, al
je 0x53a42b
mov al, byte [0x53ad44]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
mov dl, byte [ebp - 0x19]
call fcn.00404580
mov ecx, dword [ebp - 0x90]
mov edx, 0x53adb4
mov eax, dword [ebp + 8]
mov eax, dword [eax]
call fcn.0040df9c
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp + 8]
call fcn.004043ec
mov byte [ebp - 0xd], 1
jmp 0x53a438
dec byte [ebp - 0x19]
cmp byte [ebp - 0x19], 0x42
jne 0x53a358
cmp byte [ebp - 0xd], 0
jne 0x53a47e
mov eax, dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x94]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x9c], eax
mov byte [ebp - 0x98], 0xb
lea edx, [ebp - 0x9c]
xor ecx, ecx
mov eax, 0x53add4
call fcn.00409ffc
mov eax, dword [ebp - 0x94]
mov edx, 0x53adf0
call fcn.00539da0
pop ecx
lea eax, [ebp - 0x28]
call fcn.00404398
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov eax, 0x53ae00
call fcn.0040499c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jle 0x53a4d2
mov ecx, dword [ebp - 0x20]
inc ecx
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov eax, 0x53ae0c
call fcn.00433858
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jle 0x53a4d2
lea eax, [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x20]
inc ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [ebp - 0x20]
call fcn.004048b8
cmp dword [ebp - 0x28], 0
je 0x53ac92
mov byte [ebp - 0x39], 0
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x28]
call fcn.00404658
mov ecx, eax
sub ecx, 2
mov edx, 2
mov eax, dword [ebp - 0x28]
call fcn.004048b8
mov dl, 1
mov eax, dword [0x418180]
call fcn.004035d8
mov dword [ebp - 0x34], eax
mov dl, 1
mov eax, dword [0x418180]
call fcn.004035d8
mov dword [ebp - 0x38], eax
xor eax, eax
push ebp
push 0x53aa37
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x18]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 0x18]
mov edx, dword [ebp - 0x28]
call fcn.0041bc18
cmp dword [ebp - 0x18], 0
je 0x53a545
mov byte [ebp - 0x39], 1
cmp byte [ebp - 6], 0
je 0x53a556
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
call fcn.00406420
cmp byte [ebp - 0x39], 0
jne 0x53a89a
mov byte [ebp - 0x19], 0x5a
push 0
lea eax, [ebp - 0xa4]
mov dl, byte [ebp - 0x19]
call fcn.00404580
push dword [ebp - 0xa4]
push 0x53adc8
lea eax, [ebp - 0xa0]
mov edx, 3
call fcn.00404718
mov eax, dword [ebp - 0xa0]
call fcn.00404858
push eax
call sub.kernel32.dll_GetDriveTypeA
cmp eax, 2
je 0x53a88d
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
call dword [edx + 0x44]
lea eax, [ebp - 0xac]
mov dl, byte [ebp - 0x19]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0xac]
lea eax, [ebp - 0xb0]
call fcn.00402d4c
mov edx, 0x53ae10
lea eax, [ebp - 0xb0]
mov cl, 2
call fcn.00402d1c
lea edx, [ebp - 0xb0]
lea eax, [ebp - 0xa8]
call fcn.004045fc
mov eax, dword [ebp - 0xa8]
call fcn.004092f8
test al, al
je 0x53a654
lea eax, [ebp - 0xac]
mov dl, byte [ebp - 0x19]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0xac]
lea eax, [ebp - 0xb0]
call fcn.00402d4c
mov edx, 0x53ae10
lea eax, [ebp - 0xb0]
mov cl, 2
call fcn.00402d1c
lea edx, [ebp - 0xb0]
lea eax, [ebp - 0xb4]
call fcn.004045fc
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x34]
call fcn.0047e680
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x53a887
inc eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], 0
mov edx, 0x53ae1c
mov eax, dword [ebp - 0x2c]
call fcn.00408a94
test al, al
jne 0x53a6a7
mov edx, 0x53ae30
mov eax, dword [ebp - 0x2c]
call fcn.00408a94
test al, al
jne 0x53a6a7
mov edx, 0x53ae40
mov eax, dword [ebp - 0x2c]
call fcn.00408a94
test al, al
je 0x53a74b
lea ecx, [ebp - 0xb8]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xb8]
mov edx, 0x53ae50
call fcn.00408a94
test al, al
jne 0x53a87b
lea ecx, [ebp - 0xbc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xbc]
mov edx, 0x53ae64
call fcn.00408a94
test al, al
jne 0x53a87b
lea ecx, [ebp - 0xc0]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc0]
mov edx, 0x53ae78
call fcn.00408a94
test al, al
jne 0x53a87b
lea ecx, [ebp - 0xc4]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc4]
mov edx, 0x53ae88
call fcn.00408a94
test al, al
jne 0x53a87b
push 0
push 0
push 0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xc8]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0xac]
mov dl, byte [ebp - 0x19]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0xac]
lea eax, [ebp - 0xb0]
call fcn.00402d4c
mov edx, 0x53ae10
lea eax, [ebp - 0xb0]
mov cl, 2
call fcn.00402d1c
lea edx, [ebp - 0xb0]
lea eax, [ebp - 0xcc]
call fcn.004045fc
mov eax, dword [ebp - 0xcc]
mov ecx, 1
pop edx
call fcn.00475c38
mov eax, dword [ebp - 0x18]
call fcn.004092f8
test al, al
je 0x53a7eb
mov byte [ebp - 0x39], 1
jmp 0x53a887
push 0
push 0
push 0
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0xd8]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0xac]
mov dl, byte [ebp - 0x19]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0xac]
lea eax, [ebp - 0xb0]
call fcn.00402d4c
mov edx, 0x53ae10
lea eax, [ebp - 0xb0]
mov cl, 2
call fcn.00402d1c
lea edx, [ebp - 0xb0]
lea eax, [ebp - 0xdc]
call fcn.004045fc
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
pop edx
call fcn.00475c38
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0x14]
dec dword [ebp - 0x44]
jne 0x53a670
cmp byte [ebp - 0x39], 0
jne 0x53a89a
dec byte [ebp - 0x19]
cmp byte [ebp - 0x19], 0x42
jne 0x53a564
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x53aa16
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
call dword [edx + 0x44]
lea ecx, [ebp - 0xe0]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x34]
call fcn.0047e680
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x53aa13
inc eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], 0
mov edx, 0x53ae1c
mov eax, dword [ebp - 0x2c]
call fcn.00408a94
test al, al
je 0x53a99c
lea ecx, [ebp - 0xe4]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xe4]
mov edx, 0x53ae50
call fcn.00408a94
test al, al
jne 0x53aa07
lea ecx, [ebp - 0xe8]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xe8]
mov edx, 0x53ae64
call fcn.00408a94
test al, al
jne 0x53aa07
lea ecx, [ebp - 0xec]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xec]
mov edx, 0x53ae78
call fcn.00408a94
test al, al
jne 0x53aa07
lea ecx, [ebp - 0xf0]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf0]
mov edx, 0x53ae88
call fcn.00408a94
test al, al
jne 0x53aa07
push 0
push 0
push 0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xf4]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xf8]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xf8]
mov ecx, 1
pop edx
call fcn.00475c38
mov eax, dword [ebp - 0x18]
call fcn.004092f8
test al, al
je 0x53aa07
mov byte [ebp - 0x39], 1
jmp 0x53aa13
inc dword [ebp - 0x14]
dec dword [ebp - 0x44]
jne 0x53a8e7
inc dword [ebp - 0x40]
cmp byte [ebp - 0x39], 0
jne 0x53aa2d
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, dword [ebp - 0x40]
jg 0x53a8a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x53aa41
mov eax, dword [ebp - 0x38]
call fcn.00403608
mov eax, dword [ebp - 0x34]
call fcn.00403608
cmp byte [ebp - 0x39], 0
je 0x53ab81
lea edx, [ebp - 0xfc]
mov eax, dword [ebp - 0x18]
call fcn.0040d7c0
mov edx, dword [ebp - 0xfc]
lea eax, [ebp - 0x18]
call fcn.00404430
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x18]
call fcn.00404430
mov al, byte [ebp - 5]
or al, byte [ebp + 0xc]
je 0x53aab7
mov al, byte [0x53ad28]
push eax
lea eax, [ebp - 0x100]
push eax
mov ecx, 0x53ad34
mov edx, 0x53ad40
mov eax, dword [ebp - 0x30]
call fcn.0040df9c
mov edx, dword [ebp - 0x100]
lea eax, [ebp - 0x30]
call fcn.00404430
cmp byte [ebp - 6], 0
je 0x53aac8
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0x30]
call fcn.004063d0
mov al, byte [0x53ad44]
push eax
lea eax, [ebp - 0x104]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
call fcn.0040df9c
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp + 8]
call fcn.004043ec
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 0x18]
mov edx, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jge 0x53a47e
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 0x18]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
call fcn.0041c300
mov eax, dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x108]
push eax
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 0x28]
call fcn.00406420
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x118], eax
mov byte [ebp - 0x114], 0xb
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x110], eax
mov byte [ebp - 0x10c], 0xb
lea edx, [ebp - 0x118]
mov ecx, 1
mov eax, 0x53ae9c
call fcn.00409ffc
mov eax, dword [ebp - 0x108]
mov edx, 0x53aec4
call fcn.00539da0
pop ecx
jmp 0x53a47e
mov eax, dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x120]
mov ecx, dword [ebp - 0x28]
mov edx, 0x53aed4
call fcn.004046a4
mov eax, dword [ebp - 0x120]
mov edx, 0x53aef4
call fcn.00539da0
pop ecx
mov edx, 0x53af04
mov eax, dword [ebp - 0x2c]
call fcn.00408a94
test al, al
jne 0x53ac24
mov edx, 0x53ae1c
mov eax, dword [ebp - 0x2c]
call fcn.00408a94
test al, al
jne 0x53ac24
mov edx, 0x53af1c
mov eax, dword [ebp - 0x2c]
call fcn.00408a94
test al, al
jne 0x53ac24
mov edx, 0x53ae30
mov eax, dword [ebp - 0x2c]
call fcn.00408a94
test al, al
jne 0x53ac24
mov edx, 0x53af34
mov eax, dword [ebp - 0x2c]
call fcn.00408a94
test al, al
jne 0x53ac24
mov edx, 0x53af54
mov eax, dword [ebp - 0x2c]
call fcn.00408a94
test al, al
jne 0x53ac24
mov edx, 0x53af64
mov eax, dword [ebp - 0x2c]
call fcn.00408a94
test al, al
je 0x53a47e
lea eax, [ebp - 0x124]
push eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x118], eax
mov byte [ebp - 0x114], 0xb
mov eax, dword [ebp + 0x10]
push eax
lea edx, [ebp - 0x128]
mov eax, dword [ebp - 0x2c]
call fcn.00539e38
pop ecx
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x110], eax
mov byte [ebp - 0x10c], 0xb
lea edx, [ebp - 0x118]
mov ecx, 1
mov eax, 0x53af74
call fcn.00409ffc
mov ecx, dword [ebp - 0x124]
mov dl, 1
mov eax, dword [0x407cac]
call fcn.0040ca98
call fcn.00403dd4
jmp 0x53a47e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x53ad1c
lea eax, [ebp - 0x128]
mov edx, 4
call fcn.004043bc
lea eax, [ebp - 0x108]
mov edx, 0xd
call fcn.004043bc
lea eax, [ebp - 0xd0]
mov edx, 8
call fcn.004043bc
lea eax, [ebp - 0xa8]
mov edx, 3
call fcn.004043bc
lea eax, [ebp - 0x94]
mov edx, 0x14
call fcn.004043bc
lea eax, [ebp - 0x30]
mov edx, 3
call fcn.004043bc
lea eax, [ebp - 0x18]
call fcn.00404398
lea eax, [ebp - 0xc]
call fcn.00404398
lea eax, [ebp - 4]
call fcn.00404398
ret