Function at 0x41a580
Capabilities:
Get disk information
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b8413
mov eax, dword fs:[0]
push eax
sub esp, 0x200
mov eax, dword [0x62dc50]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov edi, ecx
mov dword [ebp - 4], ebx
mov ecx, dword [0x62f750]
mov eax, ecx
inc ecx
mov dword [ebp - 0x1d0], edi
mov dword [0x62f750], ecx
cmp eax, 0x1c20
jl 0x41a5dc
xor ecx, ecx
mov dword [0x62f750], ecx
mov eax, 0x1b4e81b5
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x258
mov edx, ecx
sub edx, eax
jne 0x41a71b
lea eax, [ebp - 0xf4]
push eax
call fcn.0042b990
add esp, 4
cmp dword [ebp - 0xe0], 0x10
mov eax, dword [ebp - 0xf4]
jae 0x41a621
lea eax, [ebp - 0xf4]
push eax
lea ecx, [edi + 0xc8f8]
push pe_nt_image_headers32
push ecx
call fcn.00589394
mov esi, 0xf
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x74], ebx
mov byte [ebp - 0x84], 0
lea edx, [ebp - 0x84]
push edx
mov byte [ebp - 4], 2
call fcn.00432b20
mov eax, dword [ebp - 0x84]
add esp, 0x10
cmp dword [ebp - 0x70], 0x10
jae 0x41a66a
lea eax, [ebp - 0x84]
push eax
lea eax, [edi + 0xcaf8]
push pe_nt_image_headers32
push eax
call fcn.00589394
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], 0
lea ecx, [ebp - 0x4c]
push ecx
mov byte [ebp - 4], 3
call fcn.00432c30
mov eax, dword [ebp - 0x4c]
add esp, 0x10
cmp dword [ebp - 0x38], 0x10
jae 0x41a6a2
lea eax, [ebp - 0x4c]
push eax
push pe_nt_image_headers32
add edi, 0xc9f8
push edi
call fcn.00589394
mov edi, 0x10
add esp, 0xc
cmp dword [ebp - 0x38], edi
jb 0x41a6cd
mov edx, dword [ebp - 0x4c]
push edx
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], 0
cmp dword [ebp - 0x70], edi
jb 0x41a6eb
mov eax, dword [ebp - 0x84]
push eax
call fcn.0047f7fb
add esp, 4
mov byte [ebp - 4], 0
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x74], ebx
mov byte [ebp - 0x84], 0
cmp dword [ebp - 0xe0], edi
jb 0x41a713
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.0047f7fb
add esp, 4
mov ecx, dword [0x62f750]
jmp 0x41a720
mov esi, 0xf
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
shl edx, 4
sub edx, eax
add edx, edx
add edx, edx
mov eax, ecx
sub eax, edx
jne 0x41b253
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0x100], ebx
mov byte [ebp - 0x110], al
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x74], ebx
mov byte [ebp - 0x84], al
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], al
mov byte [ebp - 4], 6
mov byte [ebp - 0x1c9], 0x41
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov edi, eax
mov dword [ebp - 0x20c], edi
mov dword [ebp - 0x1dc], ebx
mov dword [ebp - 0x1d8], ebx
mov dword [ebp - 0x1e4], ebx
mov dword [ebp - 0x1e0], ebx
cmp edi, ebx
jbe 0x41b1e3
mov esi, dword [ebp - 0x1d0]
push 0x1000
lea ecx, [esi + 0xcef8]
push 0
push ecx
mov dword [ebp - 0x1c8], 0
call fcn.0058c670
push str.Normal
push pe_nt_image_headers32
add esi, 0xff20
push esi
call fcn.00589394
add esp, 0x18
mov esi, 2
mov eax, edi
mov ecx, esi
shr eax, cl
mov dword [ebp - 0x204], esi
test eax, eax
je 0x41b10c
test al, 1
je 0x41b106
movsx edx, byte [ebp - 0x1c9]
add edx, esi
push edx
xor eax, eax
push str._c:_
mov word [ebp - 0x1c3], ax
mov byte [ebp - 0x1c1], al
lea eax, [ebp - 0x1c4]
push 4
push eax
mov byte [ebp - 0x1c4], 0
call fcn.0058917b
add esp, 0x10
lea ecx, [ebp - 0x1c4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 2
je 0x41a860
cmp eax, 3
je 0x41a860
cmp eax, 4
je 0x41a860
cmp eax, 6
jne 0x41b106
xor eax, eax
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], eax
lea edx, [ebp - 0x1fc]
push edx
lea eax, [ebp - 0x200]
push eax
lea ecx, [ebp - 0x208]
push ecx
lea edx, [ebp - 0x1f0]
push edx
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceA]
test eax, eax
je 0x41b106
mov eax, dword [ebp - 0x1f0]
mov ebx, dword [ebp - 0x208]
xor ecx, ecx
push ecx
push eax
push ecx
mov ecx, dword [ebp - 0x200]
push ecx
xor esi, esi
call fcn.0058eb30
push esi
push ebx
push edx
push eax
call fcn.0058eb30
push esi
push 0x100000
push edx
push eax
call fcn.0058eb70
mov esi, eax
xor eax, eax
push eax
mov eax, dword [ebp - 0x1f0]
push eax
mov edi, edx
mov edx, dword [ebp - 0x1fc]
push 0
push edx
call fcn.0058eb30
xor ecx, ecx
push ecx
push ebx
push edx
push eax
call fcn.0058eb30
push 0
push 0x100000
push edx
push eax
call fcn.0058eb70
push 0xa
mov ebx, eax
mov ecx, edx
sub eax, esi
push 0
mov dword [ebp - 0x1e8], ecx
sbb ecx, edi
add dword [ebp - 0x1e4], eax
push 0x64
push edi
adc dword [ebp - 0x1e0], ecx
push esi
mov dword [ebp - 0x1ec], ebx
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], ecx
mov byte [ebp - 0x1c3], 0
call fcn.0058eb30
mov ecx, dword [ebp - 0x1e8]
push ecx
push ebx
push edx
push eax
call fcn.0058eb70
push edx
push eax
lea edx, [ebp - 0x12c]
push edx
call fcn.00427860
add esp, 0x10
mov dword [ebp - 0x1d4], eax
push 0xa
push edi
lea eax, [ebp - 0x68]
push esi
push eax
mov byte [ebp - 4], 7
call fcn.00427860
add esp, 0x10
mov edi, eax
mov ecx, dword [ebp - 0x1e8]
push 0xa
push ecx
lea edx, [ebp - 0xa0]
push ebx
push edx
mov byte [ebp - 4], 8
call fcn.00427860
add esp, 0x10
mov esi, eax
mov byte [ebp - 4], 9
lea eax, [ebp - 0x1c4]
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], 0
mov byte [ebp - 0x30], 0
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41a9d0
sub eax, edx
push eax
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x30]
call fcn.004049e0
lea ecx, [ebp - 0x30]
push ecx
mov eax, str._disk_:_
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0xa
call fcn.0040a740
add esp, 4
push eax
mov eax, str.___total_:_
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0xb
call fcn.0040a790
add esp, 4
mov ecx, eax
mov eax, esi
lea ebx, [ebp - 0x1b8]
mov byte [ebp - 4], 0xc
call fcn.0040a820
push eax
mov eax, str.___free_:_
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 0xd
call fcn.0040a790
add esp, 4
mov ecx, eax
mov eax, edi
lea ebx, [ebp - 0x164]
mov byte [ebp - 4], 0xe
call fcn.0040a820
push eax
mov eax, str.___free_ratio_:_
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0xf
call fcn.0040a790
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x1d4]
lea ebx, [ebp - 0x180]
mov byte [ebp - 4], 0x10
call fcn.0040a820
push eax
mov eax, 0x5efb2c
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x11
call fcn.0040a790
add esp, 4
mov edi, eax
lea esi, [ebp - 0x110]
mov byte [ebp - 4], 0x12
call fcn.00404560
mov esi, 0x10
cmp dword [ebp - 0xe0], esi
jb 0x41aace
mov edx, dword [ebp - 0xf4]
push edx
call fcn.0047f7fb
add esp, 4
xor ebx, ebx
mov edi, 0xf
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xe4], ebx
mov byte [ebp - 0xf4], bl
cmp dword [ebp - 0x16c], esi
jb 0x41aafe
mov eax, dword [ebp - 0x180]
push eax
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0x16c], edi
mov dword [ebp - 0x170], ebx
mov byte [ebp - 0x180], bl
cmp dword [ebp - 0x134], esi
jb 0x41ab27
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x138], ebx
mov byte [ebp - 0x148], bl
cmp dword [ebp - 0x150], esi
jb 0x41ab50
mov edx, dword [ebp - 0x164]
push edx
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x154], ebx
mov byte [ebp - 0x164], bl
cmp dword [ebp - 0x188], esi
jb 0x41ab79
mov eax, dword [ebp - 0x19c]
push eax
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0x188], edi
mov dword [ebp - 0x18c], ebx
mov byte [ebp - 0x19c], bl
cmp dword [ebp - 0x1a4], esi
jb 0x41aba2
mov ecx, dword [ebp - 0x1b8]
push ecx
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0x1a4], edi
mov dword [ebp - 0x1a8], ebx
mov byte [ebp - 0x1b8], bl
cmp dword [ebp - 0xc4], esi
jb 0x41abcb
mov edx, dword [ebp - 0xd8]
push edx
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], ebx
mov byte [ebp - 0xd8], bl
cmp dword [ebp - 0xa8], esi
jb 0x41abf4
mov eax, dword [ebp - 0xbc]
push eax
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xac], ebx
mov byte [ebp - 0xbc], bl
cmp dword [ebp - 0x1c], esi
jb 0x41ac17
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
cmp dword [ebp - 0x8c], esi
jb 0x41ac37
mov edx, dword [ebp - 0xa0]
push edx
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x90], ebx
mov byte [ebp - 0xa0], bl
cmp dword [ebp - 0x54], esi
jb 0x41ac5a
mov eax, dword [ebp - 0x68]
push eax
call fcn.0047f7fb
add esp, 4
mov byte [ebp - 4], 6
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
cmp dword [ebp - 0x118], esi
jb 0x41ac7e
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.0047f7fb
add esp, 4
mov ecx, dword [ebp - 0x110]
cmp dword [ebp - 0xfc], esi
jae 0x41ac92
lea ecx, [ebp - 0x110]
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1d0]
shl edx, 8
add eax, edx
push ecx
mov dword [ebp - 0x1d4], eax
add eax, 0xcef8
push pe_nt_image_headers32
push eax
call fcn.00589394
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1e8]
add esp, 0xc
add dword [ebp - 0x1dc], eax
push 0xa
push ebx
adc dword [ebp - 0x1d8], ecx
push 0x400
push ecx
push eax
call fcn.0058eb70
push edx
push eax
lea ecx, [ebp - 0x12c]
push ecx
call fcn.00427860
add esp, 0x10
mov esi, eax
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x1c4]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41ad10
sub eax, edx
push eax
lea edx, [ebp - 0x1c4]
push edx
lea ecx, [ebp - 0x30]
call fcn.004049e0
lea eax, [ebp - 0x30]
push eax
mov eax, str._title_:_
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 0x14
call fcn.0040a740
add esp, 4
push eax
mov eax, str.___size_:_
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x15
call fcn.0040a790
add esp, 4
mov ecx, eax
mov eax, esi
lea ebx, [ebp - 0xbc]
mov byte [ebp - 4], 0x16
call fcn.0040a820
push eax
mov eax, 0x5efc24
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x17
call fcn.0040a790
add esp, 4
push eax
mov eax, 0x5efb2c
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x18
call fcn.0040a790
add esp, 4
mov edi, eax
lea esi, [ebp - 0x84]
mov byte [ebp - 4], 0x19
call fcn.00404560
mov esi, 0x10
cmp dword [ebp - 0x54], esi
jb 0x41adc3
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.0047f7fb
add esp, 4
xor ebx, ebx
mov edi, 0xf
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
cmp dword [ebp - 0x8c], esi
jb 0x41adea
mov edx, dword [ebp - 0xa0]
push edx
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x90], ebx
mov byte [ebp - 0xa0], bl
cmp dword [ebp - 0xa8], esi
jb 0x41ae13
mov eax, dword [ebp - 0xbc]
push eax
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xac], ebx
mov byte [ebp - 0xbc], bl
cmp dword [ebp - 0xc4], esi
jb 0x41ae3c
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], ebx
mov byte [ebp - 0xd8], bl
cmp dword [ebp - 0x1a4], esi
jb 0x41ae65
mov edx, dword [ebp - 0x1b8]
push edx
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0x1a4], edi
mov dword [ebp - 0x1a8], ebx
mov byte [ebp - 0x1b8], bl
cmp dword [ebp - 0x1c], esi
jb 0x41ae88
mov eax, dword [ebp - 0x30]
push eax
call fcn.0047f7fb
add esp, 4
mov byte [ebp - 4], 6
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
cmp dword [ebp - 0x118], esi
jb 0x41aeac
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.0047f7fb
add esp, 4
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0x70], esi
jae 0x41aebd
lea eax, [ebp - 0x84]
mov edx, dword [ebp - 0x1d4]
push eax
add edx, 0xdef8
push pe_nt_image_headers32
push edx
call fcn.00589394
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1f8]
add esp, 0xc
push 0xa
push ebx
push 0x64
push eax
push ecx
call fcn.0058eb30
mov ecx, dword [ebp - 0x1e8]
push ecx
mov ecx, dword [ebp - 0x1ec]
push ecx
push edx
push eax
call fcn.0058eb70
push edx
push eax
lea edx, [ebp - 0x12c]
push edx
call fcn.00427860
add esp, 0x10
mov esi, eax
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x1c4]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41af30
sub eax, edx
push eax
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x30]
call fcn.004049e0
lea ecx, [ebp - 0x30]
push ecx
mov eax, str._title_:_
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 0x1b
call fcn.0040a740
add esp, 4
push eax
mov eax, str.___rate_:_
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x1c
call fcn.0040a790
add esp, 4
mov ecx, eax
mov eax, esi
lea ebx, [ebp - 0xbc]
mov byte [ebp - 4], 0x1d
call fcn.0040a820
push eax
mov eax, 0x5efc40
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x1e
call fcn.0040a790
add esp, 4
push eax
mov eax, 0x5efb2c
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x1f
call fcn.0040a790
add esp, 4
mov edi, eax
lea esi, [ebp - 0x4c]
mov byte [ebp - 4], 0x20
call fcn.00404560
mov esi, 0x10
cmp dword [ebp - 0x54], esi
jb 0x41afe0
mov edx, dword [ebp - 0x68]
push edx
call fcn.0047f7fb
add esp, 4
xor ebx, ebx
mov edi, 0xf
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
cmp dword [ebp - 0x8c], esi
jb 0x41b007
mov eax, dword [ebp - 0xa0]
push eax
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x90], ebx
mov byte [ebp - 0xa0], bl
cmp dword [ebp - 0xa8], esi
jb 0x41b030
mov ecx, dword [ebp - 0xbc]
push ecx
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xac], ebx
mov byte [ebp - 0xbc], bl
cmp dword [ebp - 0xc4], esi
jb 0x41b059
mov edx, dword [ebp - 0xd8]
push edx
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xc8], ebx
mov byte [ebp - 0xd8], bl
cmp dword [ebp - 0x1a4], esi
jb 0x41b082
mov eax, dword [ebp - 0x1b8]
push eax
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0x1a4], edi
mov dword [ebp - 0x1a8], ebx
mov byte [ebp - 0x1b8], bl
cmp dword [ebp - 0x1c], esi
jb 0x41b0a5
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0047f7fb
add esp, 4
mov byte [ebp - 4], 6
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
cmp dword [ebp - 0x118], esi
jb 0x41b0c9
mov edx, dword [ebp - 0x12c]
push edx
call fcn.0047f7fb
add esp, 4
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x38], esi
jae 0x41b0d4
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x1d4]
add eax, 0xeef8
push pe_nt_image_headers32
push eax
call fcn.00589394
mov edi, dword [ebp - 0x20c]
mov esi, dword [ebp - 0x204]
mov ebx, dword [ebp - 0x1dc]
add esp, 0xc
inc dword [ebp - 0x1c8]
inc esi
jmp 0x41a7e9
mov ecx, ebx
or ecx, dword [ebp - 0x1d8]
je 0x41b1e3
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1d0]
push 0xa
push 0
push 0x64
push eax
push ecx
mov dword [edx + 0xff1c], ebx
call fcn.0058eb30
mov ecx, dword [ebp - 0x1d8]
push ecx
push ebx
push edx
push eax
call fcn.0058eb70
push edx
push eax
lea edx, [ebp - 0x12c]
push edx
call fcn.00427860
add esp, 0x10
push eax
mov eax, 0x5efc40
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x21
call fcn.0040a790
add esp, 4
mov edi, eax
lea esi, [ebp - 0x4c]
mov byte [ebp - 4], 0x22
call fcn.00404560
mov esi, 0x10
cmp dword [ebp - 0x54], esi
jb 0x41b198
mov eax, dword [ebp - 0x68]
push eax
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], 0
mov byte [ebp - 0x68], 0
cmp dword [ebp - 0x118], esi
jb 0x41b1c1
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.0047f7fb
add esp, 4
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x38], esi
jae 0x41b1cc
lea eax, [ebp - 0x4c]
mov edx, dword [ebp - 0x1d0]
push eax
add edx, 0xfef8
push esi
push edx
call fcn.00589394
add esp, 0xc
cmp dword [ebp - 0x38], 0x10
jb 0x41b1f5
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0047f7fb
add esp, 4
cmp dword [ebp - 0x70], 0x10
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x4c], 0
jb 0x41b21c
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.0047f7fb
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0xfc], 0x10
mov dword [ebp - 0x70], 0xf
mov dword [ebp - 0x74], 0
mov byte [ebp - 0x84], 0
jb 0x41b24d
mov edx, dword [ebp - 0x110]
push edx
call fcn.0047f7fb
add esp, 4
mov ecx, dword [0x62f750]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub ecx, eax
jne 0x41b578
lea ecx, [ebp - 0x1c8]
xor eax, eax
push ecx
lea edx, [ebp - 0x1c4]
push edx
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c8], eax
call fcn.00432a70
add esp, 8
test eax, eax
je 0x41b578
cmp dword [ebp - 0x1c8], 0
je 0x41b578
mov eax, dword [ebp - 0x1c4]
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
cdq
push 0xa
push edx
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00427860
add esp, 0x10
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x1c4]
and eax, 0x800003ff
push 0xa
jns 0x41b2e7
dec eax
or eax, 0xfffffc00
inc eax
lea eax, [eax + eax*4]
add eax, eax
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
cdq
push edx
push eax
lea ecx, [ebp - 0xf4]
push ecx
call fcn.00427860
add esp, 0x10
mov byte [ebp - 4], 0x24
push 1
mov edi, 0xf
xor esi, esi
push 0x5efc24
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], esi
mov byte [ebp - 0x4c], 0
call fcn.004049e0
mov byte [ebp - 4], 0x25
push 1
push 0x5ee47c
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], esi
mov byte [ebp - 0x30], 0
call fcn.004049e0
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x84]
lea ebx, [ebp - 0xbc]
mov byte [ebp - 4], 0x26
call fcn.0040a7e0
mov ecx, eax
lea eax, [ebp - 0xf4]
lea ebx, [ebp - 0xa0]
mov byte [ebp - 4], 0x27
call fcn.00405440
mov ecx, eax
lea eax, [ebp - 0x4c]
lea ebx, [ebp - 0x68]
mov byte [ebp - 4], 0x28
call fcn.0040a820
mov edi, eax
lea esi, [ebp - 0x84]
mov byte [ebp - 4], 0x29
call fcn.00404560
mov esi, 0x10
cmp dword [ebp - 0x54], esi
jb 0x41b3b2
mov edx, dword [ebp - 0x68]
push edx
call fcn.0047f7fb
add esp, 4
xor ebx, ebx
mov edi, 0xf
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
cmp dword [ebp - 0x8c], esi
jb 0x41b3d9
mov eax, dword [ebp - 0xa0]
push eax
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x90], ebx
mov byte [ebp - 0xa0], bl
cmp dword [ebp - 0xa8], esi
jb 0x41b402
mov ecx, dword [ebp - 0xbc]
push ecx
call fcn.0047f7fb
add esp, 4
mov dword [ebp - 0xa8], edi
mov dword [ebp - 0xac], ebx
mov byte [ebp - 0xbc], bl
cmp dword [ebp - 0x1c], esi
jb 0x41b425
mov edx, dword [ebp - 0x30]
push edx
call fcn.0047f7fb
add esp, 4
mov byte [ebp - 4], 0x24
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
cmp dword [ebp - 0x38], esi
jb 0x41b443
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0047f7fb
add esp, 4
mov eax, dword [ebp - 0x84]
cmp dword [ebp - 0x70], esi
jae 0x41b454
lea eax, [ebp - 0x84]
mov edi, dword [ebp - 0x1d0]
push eax
lea ecx, [edi + 0xcbf8]
push pe_nt_image_headers32
push ecx
call fcn.00589394
mov eax, dword [ebp - 0x1c4]
cdq
push 0xa
push edx
push eax
lea edx, [ebp - 0x12c]
push edx
call fcn.00427860
add esp, 0x1c
cmp dword [eax + 0x14], esi
jb 0x41b48d
mov eax, dword [eax]
push eax
lea eax, [edi + 0xccf8]
push pe_nt_image_headers32
push eax
call fcn.00589394
add esp, 0xc
cmp dword [ebp - 0x118], esi
jb 0x41b4b9
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.0047f7fb
add esp, 4
mov ecx, dword [ebp - 0x1c4]
mov eax, ecx
sub eax, dword [ebp - 0x1c8]
push 0xa
imul eax, eax, 0x64
cdq
idiv ecx
cdq
push edx
push eax
lea edx, [ebp - 0x110]
push edx
call fcn.00427860
mov eax, dword [ebp - 0x110]
add esp, 0x10
cmp dword [ebp - 0xfc], esi
jae 0x41b4f5
lea eax, [ebp - 0x110]
push eax
push pe_nt_image_headers32
add edi, 0xcdf8
push edi
call fcn.00589394
add esp, 0xc
cmp dword [ebp - 0xfc], esi
jb 0x41b521
mov eax, dword [ebp - 0x110]
push eax
call fcn.0047f7fb
add esp, 4
mov edi, 0xf
mov dword [ebp - 0xfc], edi
mov dword [ebp - 0x100], ebx
mov byte [ebp - 0x110], bl
cmp dword [ebp - 0xe0], esi
jb 0x41b54f
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.0047f7fb
add esp, 4
mov byte [ebp - 4], bl
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xe4], ebx
mov byte [ebp - 0xf4], bl
cmp dword [ebp - 0x70], esi
jb 0x41b578
mov edx, dword [ebp - 0x84]
push edx
call fcn.0047f7fb
add esp, 4
cmp byte [0x67ed28], 0
jne 0x41b5e1
push 0x67edb0
push 0x67eda8
push 0x67eda0
call dword [sym.imp.KERNEL32.dll_GetSystemTimes]
mov eax, dword [0x67eda0]
mov ecx, dword [0x67eda4]
mov edx, dword [0x67eda8]
mov dword [0x67ed98], eax
mov eax, dword [0x67edac]
mov dword [0x67ed9c], ecx
mov ecx, dword [0x67edb0]
mov dword [0x67ed90], edx
mov edx, dword [0x67edb4]
mov dword [0x67ed94], eax
mov dword [0x67ed88], ecx
mov dword [0x67ed8c], edx
mov byte [0x67ed28], 1
push 0x67edb0
push 0x67eda8
push 0x67eda0
call dword [sym.imp.KERNEL32.dll_GetSystemTimes]
mov eax, dword [0x67eda0]
sub eax, dword [0x67ed98]
mov edx, dword [0x67eda8]
sub edx, dword [0x67ed90]
mov dword [ebp - 0x1f8], eax
mov eax, dword [0x67edb0]
sub eax, dword [0x67ed88]
xor ebx, ebx
xor ecx, ecx
mov esi, eax
add esi, edx
mov edi, ecx
adc edi, ebx
mov ebx, esi
or ebx, edi
je 0x41b6ab
sub eax, dword [ebp - 0x1f8]
mov ebx, ecx
sbb ecx, ebx
add eax, edx
push ebx
mov edx, ebx
push 0x64
adc ecx, edx
push ecx
push eax
call fcn.0058eb30
push edi
push esi
push edx
push eax
call fcn.0058eb70
test edx, edx
jg 0x41b6ab
jl 0x41b65e
cmp eax, 0x64
ja 0x41b6ab
push 0xa
push edx
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.00427860
mov esi, 0x10
add esp, 0x10
cmp dword [eax + 0x14], esi
jb 0x41b67d
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1d0]
push eax
add ecx, 0xff08
push esi
push ecx
call fcn.00589394
add esp, 0xc
cmp dword [ebp - 0x118], esi
jb 0x41b6ab
mov edx, dword [ebp - 0x12c]
push edx
call fcn.0047f7fb
add esp, 4
mov eax, dword [0x67eda0]
mov ecx, dword [0x67eda4]
mov edx, dword [0x67eda8]
mov dword [0x67ed98], eax
mov eax, dword [0x67edac]
mov dword [0x67ed9c], ecx
mov ecx, dword [0x67edb0]
mov dword [0x67ed90], edx
mov edx, dword [0x67edb4]
mov dword [0x67ed94], eax
mov dword [0x67ed88], ecx
mov dword [0x67ed8c], edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00587964
mov esp, ebp
pop ebp
ret