Function at 0x4053f0
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfc
push ebx
mov dword [ebp - 0x88], edx
xor edx, edx
push esi
inc edx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0xc], edx
xor ebx, ebx
push edi
mov dword [ebp - 0x18], 0xfffffffe
mov dword [ebp - 0x18], 0xc02a3062
push 3
mov dword [ebp - 0x1c], 0x3e997306
mov dword [ebp - 4], ebx
pop esi
jmp 0x40543e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xfc], 0x8bc07c20
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x40542d
mov dword [ebp - 4], ebx
jmp 0x405456
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x68], 0x4f78d7cb
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x405448
mov edi, dword [sym.imp.USER32.dll_CreatePopupMenu]
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x40546e
call edi
xor edx, edx
inc edx
cmp dword [ebp - 0xc], ebx
je 0x4054c3
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0xc], 4
jle 0x405491
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x18]
add eax, 0x66a0
cmp eax, dword [ebp - 0x60]
jne 0x4054a5
mov ecx, ebx
cmp dword [ebp - 0x60], ebx
je 0x4054a7
mov ecx, edx
xor eax, eax
cmp ecx, 0x693009c
mov ecx, edx
setg al
imul eax, dword [ebp - 0x60]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0xc]
jge 0x4054c5
mov ecx, ebx
mov eax, dword [ebp - 0x64]
add eax, ecx
cmp edx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x10], ebx
jmp 0x4054f3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf0], 0xade19d29
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x4054e2
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x405507
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x10], ebx
jmp 0x405530
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x54], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x405522
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], 0xfffffffc
jne 0x405608
xor edi, edi
inc edi
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0xc], 2
cmp dword [ebp - 0xc], ebx
jl 0x4055f5
mov dword [ebp - 0x14], 0xab274bf9
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x405581
push edi
push 0x1070
push 0x794
call esi
push eax
call dword [sym.imp.USER32.dll_SetDlgItemInt]
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x4055ec
mov dword [ebp - 0x10], ebx
jmp 0x4055a0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5c], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x405592
mov dword [ebp - 0x58], 2
cmp dword [ebp - 0x58], ebx
jl 0x4055d6
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x54], ecx
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x4055d1
call esi
push eax
call dword [sym.imp.USER32.dll_IsIconic]
dec dword [ebp - 0x58]
jns 0x4055b2
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x4055e7
call esi
push eax
call dword [sym.imp.USER32.dll_ShowCaret]
dec dword [ebp - 0x14]
jns 0x40558d
dec dword [ebp - 0xc]
jns 0x40555e
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffffc
je 0x40554b
mov edi, dword [sym.imp.USER32.dll_CreatePopupMenu]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], 0x72ba29f5
mov dword [ebp - 0xc], ebx
jmp 0x40564a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x30], 0xfffffff7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x40563c
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setne dl
imul eax, edx
test eax, eax
je 0x405683
cmp dword [ebp - 4], ebx
je 0x405683
xor edx, edx
inc edx
jmp 0x405685
mov edx, ebx
mov ecx, dword [ebp - 0x30]
xor eax, eax
imul ecx, dword [ebp - 0x30]
cmp edx, 1
setne al
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 4
ja 0x405787
mov dword [ebp - 0x14], 0xffff
mov dword [ebp - 0x18], 0xabe3335a
mov dword [ebp - 0xc], ebx
jmp 0x4056c8
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xb4], 0x6e16511c
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x4056b7
mov dword [ebp - 4], ebx
jmp 0x40577b
mov dword [ebp - 0x10], 0x6cad
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0xc], ebx
jmp 0x4056fa
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xcc], 0xfffffffd
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x4056e9
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
sub ecx, eax
mov eax, dword [ebp - 0x10]
imul eax, ecx
xor ecx, ecx
cmp eax, 0x4015
mov eax, dword [ebp - 0x10]
setne cl
imul eax, ecx
xor ecx, ecx
imul eax, eax, 0x4ba4
add eax, 3
cmp eax, 0x1d84
setl cl
xor eax, eax
cmp ecx, 0xfffffff8
setl al
xor edx, edx
sub eax, 0xb133
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setne dl
imul eax, edx, 0xd67
mov dword [ebp - 0x18], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], 0xa
jg 0x4056d6
jmp 0x4057ae
mov dword [ebp - 4], ebx
jmp 0x4057a8
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x4057a5
push ebx
push 0x21e4
push 0x1bf0
call dword [sym.imp.GDI32.dll_CreatePen]
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jle 0x40578c
xor ecx, ecx
mov dword [ebp - 0x30], 4
inc ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x18], 0x370cc321
mov dword [ebp - 4], 0xd
cmp dword [ebp - 4], 0xfffffffb
jg 0x40585a
mov dword [ebp - 0xc], ecx
xor edx, edx
mov dword [ebp - 0x14], 0xfffffff8
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], 0xd8ff8cd3
mov dword [ebp - 0x14], 0x4ccbb24a
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
push 1
setge dl
mov dword [ebp - 0x14], edx
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x10]
inc edx
mov dword [ebp - 0x14], edx
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
pop ecx
setl dl
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffffb
jle 0x4057d3
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x10], 0x69fdf99f
mov dword [ebp - 0x14], 0xc164f943
mov dword [ebp - 0xc], ebx
jmp 0x405882
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x38], 0xbacd7953
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x405874
mov dword [ebp - 0x10], 0xc
cmp dword [ebp - 0x10], 0x16
jge 0x4059a7
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0xc], ebx
jmp 0x4058ba
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xc4], 0x1362395e
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x4058a9
mov dword [ebp - 0x44], ebx
cmp dword [ebp - 0x44], ebx
jl 0x405982
mov dword [ebp - 4], 0xf1813f1a
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0x18], 0xf2f34e40
mov dword [ebp - 4], ebx
jmp 0x4058f7
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x4058f4
call dword [sym.imp.USER32.dll_DestroyCaret]
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jle 0x4058e6
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], ebx
jl 0x405979
mov eax, dword [ebp - 0x44]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x38]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x38]
sub edx, eax
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0x44]
cmp eax, edx
setl cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp + eax*4 - 0x38]
mov eax, dword [ebp - 0x14]
sub eax, 0x7806aa1c
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, edx
mov eax, dword [ebp - 0x44]
setle cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x38]
add ecx, eax
mov eax, dword [ebp - 0x40]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
sete dl
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
cmp ecx, eax
setle dl
mov dword [ebp - 0x18], edx
dec dword [ebp - 4]
jns 0x405904
dec dword [ebp - 0x44]
jns 0x4058cc
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x405997
push 0x13b7
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x16
push 1
pop ecx
jl 0x405898
mov dword [ebp - 4], 0x10c93b4e
push 2
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], ebx
pop edx
jmp 0x4059ca
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xbc], 0x778e10a3
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x4059b9
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], 0xfffffff8
jg 0x405a94
mov dword [ebp - 0x14], 0xf13e
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0xc], ebx
jmp 0x4059fd
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x24], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x4059ef
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], 0x87a7525d
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 4]
jne 0x405a30
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x14], ebx
jne 0x405a2a
cmp dword [ebp - 4], ebx
je 0x405a2d
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x24]
je 0x405a53
cmp dword [ebp - 0x24], ebx
je 0x405a53
xor edx, edx
inc edx
jmp 0x405a55
mov edx, ebx
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x24], ebx
je 0x405a79
cmp dword [ebp - 0x10], ebx
je 0x405a79
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x405a7e
xor ecx, ecx
mov eax, ebx
inc ecx
mov dword [ebp - 0xbc], eax
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffff8
jle 0x4059dc
push 2
pop edx
push 0xd
pop eax
mov dword [ebp - 0x10], eax
jmp 0x405aab
mov dword [ebp - 0x18], 0x213ed423
cmp dword [ebp - 0x18], ebx
jne 0x405ab0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jne 0x405a9c
mov dword [ebp - 0x34], 0xc02a3062
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x20], 0xa8cf1d65
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xc], ebx
jmp 0x405aee
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xe4], 0xd8e5ccc9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x405add
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], ebx
je 0x405b4c
mov dword [ebp - 0x10], ebx
jmp 0x405b37
mov dword [ebp - 0x14], 0xfffffffc
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
jl 0x405b34
mov dword [ebp - 4], 5
mov dword [ebp - 4], ebx
jmp 0x405b29
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xe4], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x405b1c
dec dword [ebp - 0x14]
jns 0x405b10
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x405b01
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x405b99
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
jmp 0x405b96
mov eax, 0xad7d711e
xor edx, edx
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x20], 0x5954
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0xa0]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0xa4], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0xc], 0x3e997306
mov dword [ebp - 4], 9
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x18], 0x2cbd4dae
mov dword [ebp - 0x18], 0xd54b
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 4], ebx
jmp 0x405bd9
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x9c], 0x4ec2e0cf
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x405bc8
mov dword [ebp - 4], ebx
jmp 0x405bf2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x80], 0xde9829cb
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x405be4
mov dword [ebp - 4], ebx
jmp 0x405c0a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x84], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x405bfd
mov dword [ebp - 4], 3
cmp dword [ebp - 4], ebx
jl 0x405cfc
mov dword [ebp - 0x10], 0x532bb11a
mov dword [ebp - 0x20], 0x475761ac
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 3
jg 0x405cf3
mov dword [ebp - 0x18], 0xf08700d3
mov dword [ebp - 0x20], 0xfffffff7
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x405c63
push ecx
push ebx
push 0x9a8
call esi
push eax
call dword [sym.imp.USER32.dll_SetScrollInfo]
xor ecx, ecx
inc ecx
cmp dword [ebp - 4], ebx
je 0x405c78
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
neg eax
cmp eax, 0x4475
jg 0x405c7a
mov ecx, ebx
mov eax, dword [ebp - 4]
add ecx, 2
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setle dl
xor ecx, ecx
cmp edx, 0xfffffffa
push 1
mov eax, dword [ebp + eax*4 - 0x9c]
setl cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setne dl
sub edx, dword [ebp + eax*4 - 0x9c]
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x9c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x53526c71
setl al
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
cmp eax, 0xffffffff
mov dword [ebp - 0x7c], eax
setge cl
mov dword [ebp - 0x20], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
pop ecx
jle 0x405c3a
dec dword [ebp - 4]
jns 0x405c1f
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 0x98]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
push 3
setl cl
dec eax
add eax, ecx
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x70d8ac50
mov eax, dword [ebp - 0x7c]
setg cl
xor ebx, ebx
cmp ecx, eax
setg bl
xor edx, edx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x84], ebx
mov eax, dword [ebp - 0x94]
cmp ebx, eax
mov eax, dword [ebp - 0x98]
sete dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setle cl
xor ebx, ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], ebx
pop ecx
jmp 0x405d9f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xd8], 0x8bc07c20
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x405d8e
mov dword [ebp - 4], ebx
jmp 0x405db7
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x74], 0x4f78d7cb
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x405da9
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x405dc6
call edi
cmp dword [ebp - 0x1c], ebx
je 0x405e25
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0xc]
dec dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0x1c], 4
jle 0x405de9
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x34]
add eax, 0x66a0
cmp eax, dword [ebp - 0x6c]
jne 0x405e02
cmp dword [ebp - 0x6c], ebx
jne 0x405e02
xor edx, edx
mov ecx, ebx
inc edx
jmp 0x405e07
xor edx, edx
inc edx
mov ecx, edx
xor eax, eax
cmp ecx, 0x693009c
setg al
imul eax, dword [ebp - 0x6c]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x1c]
jl 0x405e25
mov ecx, edx
jmp 0x405e2a
xor edx, edx
mov ecx, ebx
inc edx
mov eax, dword [ebp - 0x70]
add eax, ecx
cmp edx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x7862fd41
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x405e51
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x405e71
push ebx
push 0x4ae