Function at 0x1001a76e
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb4
push ebx
push esi
mov dword [ebp - 0x10], 0x39e3cf95
mov bl, dl
mov dword [ebp - 0xc], 0xffffffff
xor edx, edx
push edi
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x10], eax
inc edx
mov dword [ebp - 0x10], 0xfffffffb
xor edi, edi
mov dword [ebp - 0x10], 0x1e6e2bf
mov esi, ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0xce1a812c
mov dword [ebp - 0x24], 0xe1a0e1c2
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], 0x1fdf20be
mov dword [ebp - 4], edi
jmp 0x1001a7d3
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x6c], 0xb59008cf
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x1001a7c5
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
neg ecx
push 2
sbb ecx, ecx
neg eax
inc ecx
dec dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x6c]
mov ecx, edx
cmovge ecx, edi
xor eax, eax
cmp ecx, edx
pop edi
setg al
xor edx, edx
cmp eax, 0x61c0f806
setl dl
sub edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x28]
neg edx
mov eax, dword [ebp - 0x68]
sbb edx, edx
inc edx
imul ecx, edx
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x6c]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
test bl, bl
je 0x1001ae6a
mov dword [ebp - 0x14], 0xad313dd3
xor ebx, ebx
mov dword [ebp - 0xc], 0x36378284
mov dword [ebp - 4], ebx
jmp 0x1001a86c
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb4], 0xa62
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1001a85b
mov dword [ebp - 0x14], 0x18
cmp dword [ebp - 0x14], 0xfffffffa
jle 0x1001aa5e
push 9
xor edx, edx
pop ebx
inc edx
mov dword [ebp - 0x18], 7
mov ecx, edx
mov dword [ebp - 4], 0x3a3dbc56
xor esi, esi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x10], 0xfffffffe
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
sub ecx, eax
je 0x1001a8f1
mov eax, dword [ebp - 4]
mov ecx, esi
cmp dword [ebp - 0x18], esi
je 0x1001a8c1
mov ecx, edx
mov eax, dword [ebp - 0x18]
sub eax, ecx
sub eax, dword [ebp - 0x14]
cmp eax, 0x5062d7bc
jg 0x1001a8d5
cmp dword [ebp - 0x14], esi
jne 0x1001a8d7
mov edx, esi
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
imul ecx, dword [ebp - 0x1c]
inc edx
test ecx, ecx
je 0x1001a8f1
cmp dword [ebp - 4], esi
jne 0x1001a8f6
cmp dword [ebp - 4], esi
je 0x1001a920
mov dword [ebp - 4], esi
jmp 0x1001a905
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x48], esi
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x1001a8fb
mov dword [ebp - 0x18], esi
jmp 0x1001a919
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x48], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1001a90f
jmp 0x1001a985
mov dword [ebp - 0xc], esi
jmp 0x1001a933
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x38], 5
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jl 0x1001a925
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x1c], esi
je 0x1001a943
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov ecx, 0xd0b41ef3
mov eax, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
sub ecx, eax
add ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setge dl
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x38], esi
jne 0x1001aa5c
xor edx, edx
inc edx
mov dword [ebp - 0xc], 0xffffffee
jmp 0x1001aa46
mov dword [ebp - 4], 0xe743
mov dword [ebp - 0x18], esi
jmp 0x1001aa3a
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x10], 0x61160dd4
cmp dword [ebp - 0x28], esi
jne 0x1001aa43
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], edx
jg 0x1001aa37
mov dword [ebp - 0x24], 0xaed5a0a0
xor edx, edx
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 4]
setle dl
sub esi, edx
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp eax, 0x995
setl dl
xor ecx, ecx
imul edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
cmp edx, eax
setge cl
sub esi, ecx
neg esi
sbb esi, esi
xor edx, edx
inc esi
add esi, dword [ebp - 0x1c]
neg esi
mov dword [ebp - 0x10], esi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
cmp ecx, eax
setle dl
mov dword [ebp - 0x10], edx
xor edx, edx
inc dword [ebp - 0x1c]
inc edx
cmp dword [ebp - 0x1c], edx
jle 0x1001a9bf
xor esi, esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jle 0x1001a9a0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jge 0x1001a991
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffa
jg 0x1001a888
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov eax, 0x2cb51dba
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x10], 0x885c82f7
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x10], 0xfffffff9
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 8
jge 0x1001ab94
push 3
pop esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x10], 0x4c039ecf
mov dword [ebp - 0x28], 0xf57440e7
mov dword [ebp - 0x10], 0xfffffffe
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], 0xfffffffe
mov dword [ebp - 0x10], 0x1fc53136
mov dword [ebp - 4], ebx
jmp 0x1001ab7e
mov dword [ebp - 0xc], 0xd2086bd0
mov dword [ebp - 0x20], 0x868fdadf
mov dword [ebp - 0x10], 0x5c59c3f9
mov dword [ebp - 0x10], 0x6a687e91
mov dword [ebp - 0x10], 0x426ae69e
mov dword [ebp - 0x24], 0xffff
mov dword [ebp - 0xc], ebx
jmp 0x1001ab76
mov dword [ebp - 0x18], 0x17d0b0a3
mov dword [ebp - 0x10], 0x85bd
mov dword [ebp - 0x1c], ebx
jmp 0x1001ab22
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9c], 0xd0d42ad0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1001ab11
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 4]
cmp eax, ecx
setle dl
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x84], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x98], 1
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], ebx
dec dword [ebp - 0x24]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jle 0x1001aafe
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x1001aacf
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 8
jl 0x1001aa96
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x1001aba3
call dword [sym.imp.USER32.dll_GetMessageTime]
mov byte [ebp - 5], bl
xor esi, esi
mov dword [ebp - 0x18], 0xb871c7bf
inc esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x20], 0xfcd553b7
mov dword [ebp - 4], ebx
jmp 0x1001abe0
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x34], 0x64a6847d
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x1001abd2
mov dword [ebp - 0x18], ebx
jmp 0x1001ac74
mov dword [ebp - 0x1c], esi
xor ecx, ecx
mov dword [ebp - 4], 0xa4ccfd6
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
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 eax, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp eax, 0xfffa
mov eax, dword [ebp - 0xc]
setne cl
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
setle dl
mov dword [ebp + eax*4 - 0x34], ecx
mov eax, dword [ebp - 0x18]
add eax, edx
add eax, ecx
imul eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x1001abee
cmp dword [ebp - 0x2c], ebx
je 0x1001ac9e
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
cmp eax, ecx
mov ecx, esi
setl dl
imul eax, edx, 0x16e1
test eax, eax
jne 0x1001aca0
mov ecx, ebx
mov eax, dword [ebp - 0x18]
sub eax, ecx
xor ecx, ecx
cmp eax, 0xf7fa
setl cl
sub ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x30]
sub ecx, eax
mov eax, dword [ebp - 0x28]
sub ecx, eax
xor eax, eax
cmp eax, ecx
sbb eax, eax
neg eax
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x7342
mov eax, dword [ebp - 0xc]
setl cl
sub eax, ecx
cmp eax, 0x7fcf6239
jne 0x1001acfb
mov dword [ebp - 0x10], 0x3ad33dc2
mov dword [ebp - 0x24], 0xfffffff8
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
jmp 0x1001adb0
mov dword [ebp - 0x10], 0x59a1248f
mov dword [ebp - 0x10], 0x7f4763cd
mov dword [ebp - 0x10], 0xfffffffd
mov dword [ebp - 0x24], 0xb48eda29
mov dword [ebp - 4], ebx
jmp 0x1001ad2a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x44], 0x7b094c6
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1001ad1c
cmp dword [ebp - 0x40], ebx
je 0x1001adab
mov eax, dword [ebp - 0x4c]
dec dword [ebp - 0x4c]
test eax, eax
je 0x1001adab
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
neg eax
sbb eax, eax
neg eax
imul ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jne 0x1001ad68
mov eax, ebx
cmp dword [ebp - 0x40], ebx
je 0x1001ad6a
mov eax, esi
xor edx, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setle dl
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x24]
lea ecx, [edx - 9]
xor edx, edx
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x24]
jle 0x1001ad96
mov edx, esi
cmp dword [ebp - 0x28], ebx
jne 0x1001ad98
mov edx, ebx
mov eax, dword [ebp - 0x58]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc]
setge cl
add eax, ecx
mov eax, esi
jne 0x1001adad
mov eax, ebx
mov dword [ebp - 0xc], eax
cmp byte [ebp - 5], 0
je 0x1001adea
mov dword [ebp - 0x10], 0xffffffff
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x1001add4
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x1001ade4
push ebx
call dword [sym.imp.USER32.dll_CharUpperW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 4], 0x667a876e
mov dword [ebp - 4], ebx
jmp 0x1001ae00
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x60], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1001adf6
mov dword [ebp - 4], esi
cmp dword [ebp - 4], ebx
jl 0x1001b174
mov dword [ebp - 0xc], 0x6887e0
xor ecx, ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x60]
cmp eax, 0xffffaf82
mov eax, dword [ebp - 4]
sete cl
xor edx, edx
test ecx, ecx
mov eax, dword [ebp + eax*4 - 0x60]
sets dl
xor ecx, ecx
test eax, eax
sete cl
cmp ecx, edx
jge 0x1001ae4e
mov dword [ebp - 0x10], 0xfff7
dec dword [ebp - 0x10]
jmp 0x1001ae60
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0xc], ebx
jl 0x1001ae60
cmp dword [ebp - 0x5c], ebx
jne 0x1001ae60
dec dword [ebp - 0xc]
jns 0x1001ae56
dec dword [ebp - 4]
jns 0x1001ae11
jmp 0x1001b174
xor edx, edx
mov dword [ebp - 0x1c], 0xffffffff
inc edx
xor ecx, ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], ecx
jmp 0x1001ae8f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x74], 0x3198a8f9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001ae81
mov dword [ebp - 0x14], ecx
jmp 0x1001aea3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001ae99
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], ecx
jl 0x1001aed4
mov dword [ebp - 0x10], 0x6dd8
mov dword [ebp - 0x10], 0xd00693e9
mov dword [ebp - 0x10], 0xfffffffc
mov dword [ebp - 0x10], 0xffffffff
dec dword [ebp - 0x3c]
dec dword [ebp - 0x1c]
jns 0x1001aeb0
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], ecx
jl 0x1001af33
mov byte [ebp - 5], cl
cmp byte [ebp - 5], 0
je 0x1001aef7
push 0x233
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
xor edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], ecx
jl 0x1001af2e
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], edx
jg 0x1001af29
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0x74]
mov eax, dword [ebp - 0x1c]
add ecx, dword [ebp + eax*4 - 0x74]
mov dword [ebp - 0x10], ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jle 0x1001af0e
xor ecx, ecx
dec dword [ebp - 0x1c]
jns 0x1001aeff
dec dword [ebp - 0xc]
jns 0x1001aedc
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], 0x6c0e263
push 9
mov dword [ebp - 0x10], 0xb4983ca3
mov dword [ebp - 0x1c], ecx
pop ebx
jmp 0x1001b10e
mov dword [ebp - 0xc], 0xa12b57e8
mov dword [ebp - 0x24], 4
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], ebx
jne 0x1001b10b
mov dword [ebp - 0x18], 0xfffffff9
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], 0xffffffe6
jmp 0x1001afc8
mov dword [ebp - 0x14], 0x2c9cc141
mov dword [ebp - 0x14], ebx
jmp 0x1001af98
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 4], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x11
jge 0x1001af8c
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0xfffffff4
jle 0x1001afc5
mov byte [ebp - 5], cl
cmp byte [ebp - 5], 0
je 0x1001afb9
push ecx
call dword [sym.imp.USER32.dll_SetKeyboardState]
xor ecx, ecx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff4
jg 0x1001afa7
xor edx, edx
inc edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jle 0x1001af80
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
add edx, 0x4adca19c
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
neg eax
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, edx
jge 0x1001b02b
xor ecx, ecx
mov byte [ebp - 5], cl
cmp byte [ebp - 5], cl
je 0x1001b0fc
push 0xda8
push ecx
push 0x50c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
jmp 0x1001b0fa
mov dword [ebp - 0x14], 0xffffffff
xor edi, edi
mov dword [ebp - 0x20], 0xb0f4f2d8
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x88], edi
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
je 0x1001b063
cmp dword [ebp - 0x10], edi
jne 0x1001b06c
cmp dword [ebp - 0xc], edi
jne 0x1001b06c
mov eax, edi
jmp 0x1001b06f
xor eax, eax
inc eax
neg eax
jne 0x1001b07c
cmp dword [ebp - 0x18], edi
jne 0x1001b07c
mov eax, edi
jmp 0x1001b07f
xor eax, eax
inc eax
add eax, 8
xor edx, edx
imul eax, dword [ebp - 0x10]
imul ecx, eax, 0x5f7f
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setg dl
imul edx, dword [ebp - 0x18]
test edx, edx
jne 0x1001b0ab
cmp dword [ebp - 0x14], edi
jne 0x1001b0ab
cmp dword [ebp - 4], edi
jne 0x1001b0ab
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0xc], edi
jne 0x1001b0c5
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], edi
jne 0x1001b0dc
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x14], edi
jle 0x1001b0e7
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setge dl
mov dword [ebp - 0x8c], edx
xor ecx, ecx
inc dword [ebp - 0xc]
push 1
pop edx
cmp dword [ebp - 0xc], ebx
je 0x1001af69
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xc
jl 0x1001af4f
mov dword [ebp - 0xc], 0xfffffff8
mov dword [ebp - 0xc], 0xfffffff9
jmp 0x1001b167
mov dword [ebp - 4], ecx
jmp 0x1001b13a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xac], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x1001b12d
mov byte [ebp - 5], cl
cmp byte [ebp - 5], 0
je 0x1001b15e
push ecx
push ecx
push 0x7ac
push 0x8c2
push ecx
call dword [sym.imp.USER32.dll_ModifyMenuW]
xor ecx, ecx
dec dword [ebp - 0xa8]
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffeb
jne 0x1001b128
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esi], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret