Function at 0x10021bf0
Capabilities:
Check os version
Create directory
Create pipe
Create process on windows
Delete registry value
Enumerate files on windows
Get common file path
Get disk information
Get file system object information
Get geographical location
Identify system language via api
Parse pe header
Query environment variable
Query or enumerate registry key
Start service

Disassembly:
mov eax, 0x1007e81f
call fcn.1007d230
mov eax, 0x16bc
call fcn.1007af60
push ebx
push esi
or eax, 0xffffffff
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0xcf0]
xor ebx, ebx
mov byte [ebp - 0x5d], dl
push edi
inc ebx
mov esi, 0x3cdf98a5
mov dword [ebp - 0x30], ebx
mov edi, 0xc07e17f7
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x30], 0x79e672ca
mov dword [ebp - 0x30], 0xfffffff8
push 3
call fcn.100166d2
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x10021c85
push dword [ebp - 0x18]
lea ecx, [ebp - 0xcf0]
call fcn.1001675e
mov dword [eax], 0xf1ad
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10021c66
xor eax, eax
push eax
lea ecx, [ebp - 0xcf0]
call fcn.1001675e
lea ecx, [ebp - 0xcf0]
inc dword [eax]
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10016759
or eax, 0xffffffff
lea ecx, [ebp - 0xd08]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x30], eax
push 3
mov dword [ebp - 0x30], eax
pop esi
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x30], 0x79e672ca
mov dword [ebp - 0x30], 0xfffffff8
push esi
call fcn.100166d2
xor eax, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x10021d0f
push dword [ebp - 0x18]
lea ecx, [ebp - 0xd08]
call fcn.1001675e
mov dword [eax], 0xf1ad
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10021cf1
xor eax, eax
push eax
lea ecx, [ebp - 0xd08]
call fcn.1001675e
lea ecx, [ebp - 0xd08]
inc dword [eax]
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10016759
push esi
lea ecx, [ebp - 0x1130]
call fcn.100166d2
push 2
pop ecx
mov dword [ebp - 4], ecx
xor eax, eax
mov dword [ebp - 0x28], 0x667a876e
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x10021d72
push dword [ebp - 0x18]
lea ecx, [ebp - 0x1130]
call fcn.1001675e
mov dword [eax], 0x9ff6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10021d51
push 2
xor eax, eax
pop ecx
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [sym.imp.KERNEL32.dll_GetThreadTimes]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], eax
jl 0x10021df1
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], eax
jl 0x10021dda
mov dword [ebp - 0x1c], 1
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10021db3
push eax
call edi
push 2
xor eax, eax
pop ecx
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], eax
jl 0x10021dd5
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10021dcd
push eax
push eax
push eax
push eax
push eax
call esi
xor eax, eax
dec dword [ebp - 0x1c]
jns 0x10021dbb
push 2
pop ecx
dec dword [ebp - 0x18]
jns 0x10021d9b
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10021de9
push eax
push eax
call ebx
xor eax, eax
dec dword [ebp - 0x28]
push 2
pop ecx
jns 0x10021d8c
or eax, 0xffffffff
lea ecx, [ebp - 0x1130]
mov dword [ebp - 4], eax
call fcn.10016759
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp - 0x30], ecx
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x3cdf98a5
mov dword [ebp - 0x30], 0xc07e17f7
push 9
pop eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0xd20]
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x30], 0x79e672ca
mov dword [ebp - 0x30], 0xfffffff8
push 3
call fcn.100166d2
push 3
pop ecx
xor eax, eax
mov dword [ebp - 4], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x10021e79
push dword [ebp - 0x18]
lea ecx, [ebp - 0xd20]
call fcn.1001675e
mov dword [eax], 0xf1ad
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10021e5a
xor eax, eax
push eax
lea ecx, [ebp - 0xd20]
call fcn.1001675e
lea ecx, [ebp - 0xd20]
inc dword [eax]
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10016759
push 3
lea ecx, [ebp - 0xe18]
call fcn.100166d2
mov dword [ebp - 4], 4
xor eax, eax
mov dword [ebp - 0x28], 0x667a876e
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x10021edd
push dword [ebp - 0x18]
lea ecx, [ebp - 0xe18]
call fcn.1001675e
mov dword [eax], 0x9ff6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10021ebe
xor eax, eax
push 2
pop ecx
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], eax
jl 0x10021f4d
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], eax
jl 0x10021f36
mov dword [ebp - 0x1c], 1
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10021f0f
push eax
call edi
push 2
xor eax, eax
pop ecx
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], eax
jl 0x10021f31
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10021f29
push eax
push eax
push eax
push eax
push eax
call esi
xor eax, eax
dec dword [ebp - 0x1c]
jns 0x10021f17
push 2
pop ecx
dec dword [ebp - 0x18]
jns 0x10021ef7
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10021f45
push eax
push eax
call ebx
xor eax, eax
dec dword [ebp - 0x28]
push 2
pop ecx
jns 0x10021ee8
or ebx, 0xffffffff
lea ecx, [ebp - 0xe18]
mov dword [ebp - 4], ebx
call fcn.10016759
mov dword [ebp - 0x24], 0xb5934215
lea ecx, [ebp - 0x2f8]
push 3
call fcn.100166d2
mov dword [ebp - 4], 5
lea ecx, [ebp - 0xfe0]
mov dword [ebp - 0x18], 0x83afd470
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], ebx
xor ebx, ebx
push 2
inc ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0xfffffffd
pop edi
mov dword [ebp - 0x30], 0xfefd5227
mov dword [ebp - 0x30], 0x2d0b182b
mov dword [ebp - 0x30], 4
push edi
call fcn.100166d2
push 6
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x30], 0x31915e30
mov dword [ebp - 0x40], 0xdf500c33
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10021ff4
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2f8]
call fcn.1001675e
and dword [eax], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10021fd8
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002200c
push dword [ebp - 0x14]
lea ecx, [ebp - 0xfe0]
call fcn.1001675e
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10021ff9
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x2f8]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
push edi
call fcn.1001675e
push ebx
lea ecx, [ebp - 0x2f8]
call fcn.1001675e
push edi
lea ecx, [ebp - 0x2f8]
mov esi, dword [eax]
sub esi, 0x228a7d46
call fcn.1001675e
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x2f8]
add edi, esi
sub edi, dword [eax]
neg edi
sbb edi, edi
xor eax, eax
push eax
inc edi
call fcn.1001675e
xor edx, edx
push 2
cmp edi, dword [eax]
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp eax, edx
pop edi
setle cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x2f8]
push edi
call fcn.1001675e
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x2f8]
push edi
add esi, dword [eax]
call fcn.1001675e
mov edi, dword [ebp - 0x24]
push 2
pop ecx
push ecx
add edi, esi
lea ecx, [ebp - 0x2f8]
imul edi, dword [eax]
call fcn.1001675e
mov ecx, dword [ebp - 0x24]
xor edx, edx
cmp edi, ecx
mov esi, 0xb6a69eed
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
setne dl
add edx, dword [eax]
cmp edx, dword [ebp - 0x24]
jl 0x10022152
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
neg ecx
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp eax, edx
setg cl
cmp esi, ecx
sbb eax, eax
neg eax
cmp eax, 0x481d
jne 0x1002213b
xor eax, eax
push 2
mov dword [ebp - 0x24], eax
pop ecx
jmp 0x10022134
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], eax
jl 0x10022131
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10022129
push eax
push eax
push 0x24dc
push 0x1758
call edi
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
xor eax, eax
dec dword [ebp - 0x18]
jns 0x10022109
push 2
pop ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jle 0x10022101
jmp 0x10022168
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10022168
push 0x379
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
jmp 0x10022168
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10022168
push 0x197d
push eax
call dword [sym.imp.USER32.dll_CharLowerBuffW]
inc dword [ebp - 0x40]
lea ecx, [ebp - 0xfe0]
call fcn.10016759
or eax, 0xffffffff
lea ecx, [ebp - 0x2f8]
mov dword [ebp - 4], eax
call fcn.10016759
push ebx
lea ecx, [ebp - 0x118]
call fcn.100166d2
push 2
pop esi
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x644]
mov dword [ebp - 0x18], 0x473eb905
push esi
call fcn.100166d2
push 8
pop eax
mov byte [ebp - 4], al
or eax, 0xffffffff
mov dword [ebp - 0x14], 4
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100221eb
push dword [ebp - 0x14]
lea ecx, [ebp - 0x118]
call fcn.1001675e
mov dword [eax], 0x504c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100221cd
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10022211
push dword [ebp - 0x14]
lea ecx, [ebp - 0x644]
call fcn.1001675e
mov dword [eax], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100221f3
xor eax, eax
push eax
lea ecx, [ebp - 0x118]
call fcn.1001675e
push ebx
lea ecx, [ebp - 0x644]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
call fcn.1001675e
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
xor eax, eax
push eax
lea ecx, [ebp - 0x118]
call fcn.1001675e
xor eax, eax
lea ecx, [ebp - 0x644]
push eax
call fcn.1001675e
xor eax, eax
lea ecx, [ebp - 0x118]
push eax
call fcn.1001675e
xor eax, eax
lea ecx, [ebp - 0x118]
push eax
call fcn.1001675e
lea ecx, [ebp - 0x118]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
xor eax, eax
push eax
call fcn.1001675e
mov ecx, dword [ebp - 0x18]
mov esi, dword [eax]
xor eax, eax
sub esi, ecx
lea ecx, [ebp - 0x118]
push eax
sub esi, 0x7c2
call fcn.1001675e
mov ecx, dword [ebp - 0x14]
xor ebx, ebx
add ecx, dword [eax]
cmp ecx, esi
lea ecx, [ebp - 0x118]
setg bl
xor eax, eax
push eax
dec ebx
call fcn.1001675e
xor ecx, ecx
cmp ebx, dword [eax]
mov eax, dword [ebp - 0x18]
setg cl
xor ebx, ebx
cmp ecx, eax
lea ecx, [ebp - 0x644]
setl bl
xor eax, eax
inc eax
push eax
call fcn.1001675e
mov dword [eax], ebx
xor eax, eax
cmp dword [ebp - 0x18], ebx
je 0x10022381
xor ebx, ebx
mov dword [ebp - 0x40], 0xa565
mov dword [ebp - 0x14], eax
inc ebx
cmp dword [ebp - 0x14], ebx
jge 0x1002230b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10a4], 0x1307
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100222f3
xor eax, eax
push 4
mov dword [ebp - 0x14], eax
pop esi
cmp dword [ebp - 0x14], esi
jge 0x1002232e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1678], 0xb15d3e99
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10022316
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10022379
push esi
lea ecx, [ebp - 0xe30]
call fcn.100166d2
push 9
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002235d
push dword [ebp - 0x18]
call fcn.1001675e
mov dword [eax], 0x457023
inc dword [ebp - 0x18]
lea ecx, [ebp - 0xe30]
cmp dword [ebp - 0x18], esi
jl 0x1002234c
inc dword [ebp - 0x40]
push 8
pop eax
mov byte [ebp - 4], al
call fcn.10016759
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x14
jg 0x10022333
jmp 0x100223b6
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jl 0x100223b3
push dword [ebp - 0x14]
lea ecx, [ebp - 0x118]
call fcn.1001675e
push dword [ebp - 0x14]
lea ecx, [ebp - 0x118]
mov esi, eax
call fcn.1001675e
mov ecx, dword [eax]
mov dword [esi], ecx
mov dword [ebp - 0x2c], ecx
dec dword [ebp - 0x14]
jns 0x10022389
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0x644]
call fcn.10016759
or eax, 0xffffffff
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], eax
call fcn.10016759
push ebx
lea ecx, [ebp - 0x10b0]
call fcn.100166d2
push 2
pop esi
push esi
lea ecx, [ebp - 0x57c]
mov dword [ebp - 4], 0xa
call fcn.100166d2
xor eax, eax
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x10022422
or esi, 0xffffffff
push dword [ebp - 0x20]
lea ecx, [ebp - 0x10b0]
call fcn.1001675e
mov dword [eax], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x10022405
push 2
xor eax, eax
pop esi
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x10022448
push dword [ebp - 0x20]
lea ecx, [ebp - 0x57c]
call fcn.1001675e
mov dword [eax], 0x1f2c29a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1002242a
xor eax, eax
push 3
mov dword [ebp - 0x20], eax
pop esi
cmp dword [ebp - 0x20], esi
jge 0x1002246a
or ecx, 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x14a8], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10022456
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10022481
push eax
push 0xaf3
call dword [sym.imp.GDI32.dll_CreateHatchBrush]
xor eax, eax
push eax
lea ecx, [ebp - 0x57c]
call fcn.1001675e
and dword [eax], 0
jmp 0x100224a6
xor eax, eax
mov dword [ebp - 0x14a0], 0xfffffffd
push eax
call fcn.1001675e
dec dword [eax]
xor eax, eax
lea ecx, [ebp - 0x57c]
push eax
call fcn.1001675e
lea ecx, [ebp - 0x57c]
cmp dword [eax], 0
jge 0x10022492
call fcn.10016759
or eax, 0xffffffff
lea ecx, [ebp - 0x10b0]
mov dword [ebp - 4], eax
call fcn.10016759
xor eax, eax
or edx, 0xffffffff
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], 0x6df3
mov dword [ebp - 0x14], 0xc8959310
mov dword [ebp - 0x18], 0x3ccd
mov dword [ebp - 0x9a0], eax
mov dword [ebp - 0x99c], eax
mov dword [ebp - 0x998], eax
mov dword [ebp - 0x994], eax
mov dword [ebp - 0x38], 0xd3d8e1ce
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], 0x6a391de2
cmp dword [ebp - 0x14], edx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, edx
setl cl
cmp edx, ecx
sbb eax, eax
neg eax
cmp eax, 0x145c
jne 0x10022538
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setg cl
xor eax, eax
cmp ecx, 0x6e9f0866
setne al
cmp eax, dword [ebp - 0x14]
jl 0x100225dc
lea eax, [ebp - 0x1380]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x1390]
push eax
lea ecx, [ebp - 0x1550]
movdqu xmmword [ebp - 0x1390], xmm0
call fcn.1001676d
lea ecx, [ebp - 0x109]
mov esi, eax
call fcn.10008be3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xe48]
push dword [esi]
call fcn.10016733
push 3
mov dword [ebp - 4], 0xc
xor eax, eax
pop esi
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x100225c9
push ebx
lea ecx, [ebp - 0xe48]
call fcn.1001675e
dec dword [eax]
dec dword [ebp - 0x18]
jns 0x100225b6
or eax, 0xffffffff
lea ecx, [ebp - 0xe48]
mov dword [ebp - 4], eax
call fcn.10016759
jmp 0x1002262d
xor eax, eax
mov dword [ebp - 0x40], 0x34e1054
mov dword [ebp - 0x14], eax
jmp 0x10022628
mov dword [ebp - 0x38], 0xb659
cmp dword [ebp - 0x38], eax
jne 0x100225f9
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x99c]
xor edx, edx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
test eax, eax
mov eax, dword [ebp - 0x40]
setg dl
xor ecx, ecx
cmp ecx, eax
push 0
sbb eax, eax
neg eax
cmp eax, edx
pop eax
setne cl
mov dword [ebp - 0x38], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x100225ea
mov eax, dword [ebp - 0x34]
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1002263e
mov ecx, eax
cmp dword [ebp - 0x28], eax
jne 0x10022640
mov ecx, ebx
mov eax, dword [ebp - 0x28]
neg ecx
xor edx, edx
cmp ecx, 0x6a952366
push 4
setle dl
xor ecx, ecx
add edx, 0xc737
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x9a0]
add edx, esi
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
mov eax, dword [ebp - 0x28]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x14], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x934]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0x3cdf98a5
mov dword [ebp - 0x30], 0xc07e17f7
call fcn.100166d2
mov dword [ebp - 4], 0xd
or esi, 0xffffffff
mov dword [ebp - 0x14], 0xfffffffd
xor eax, eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x100226f9
push dword [ebp - 0x18]
lea ecx, [ebp - 0x934]
call fcn.1001675e
mov dword [eax], 0xdfa860b4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x100226da
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002270b
push dword [ebp - 0x14]
call fcn.1001675e
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
lea ecx, [ebp - 0x934]
jl 0x100226fe
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x38]
push 3
call fcn.1001675e
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
add ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
sub eax, ecx
lea ecx, [ebp - 0x934]
neg eax
sbb eax, eax
or esi, 0xffffffff
inc eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], esi
call fcn.10016759
push 9
pop eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x40], 0xfffffff9
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x40], 0xfffffffb
mov dword [ebp - 0x50], esi
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xe649
jne 0x1002278b
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002278d
mov eax, ebx
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x18]
push 5
pop ebx
mov edx, ebx
sub edx, eax
mov eax, dword [ebp - 0x2c]
cmp edx, eax
setne cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x18]
test eax, eax
jne 0x100227bb
cmp dword [ebp - 0x18], eax
je 0x100227be
xor eax, eax
inc eax
mov dword [ebp - 0x50], eax
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x100227dd
push eax
push eax
push 0x85
call edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItemInt]
xor eax, eax
mov dword [ebp - 0x30], esi
lea ecx, [ebp - 0xd38]
push 3
mov dword [ebp - 0x44], eax
pop esi
mov dword [ebp - 0x40], 0xeec54165
mov dword [ebp - 0x38], 0x9a7b445a
mov dword [ebp - 0x48], 0xc5c6a81d
push esi
call fcn.100166d2
mov dword [ebp - 4], 0xe
xor eax, eax
xor edi, edi
mov dword [ebp - 0x30], 0xfffffffb
mov dword [ebp - 0x14], eax
inc edi
cmp dword [ebp - 0x14], edi
jge 0x10022837
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x64], 0x229a275f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10022822
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002284f
push dword [ebp - 0x14]
lea ecx, [ebp - 0xd38]
call fcn.1001675e
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002283c
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
dec eax
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x64]
je 0x10022880
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x64]
lea ecx, [ebp - 0xd38]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x64]
push 2
pop ebx
push ebx
call fcn.1001675e
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x44]
mov dword [eax], ecx
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x100228c5
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegLoadKeyW]
or eax, 0xffffffff
lea ecx, [ebp - 0xd38]
mov dword [ebp - 4], eax
call fcn.10016759
or eax, 0xffffffff
lea ecx, [ebp - 0x88c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], 0x8d327cb3
mov dword [ebp - 0x40], 0xc3707822
mov dword [ebp - 0x40], 0x166c1932
push 4
call fcn.100166d2
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0xa14]
xor eax, eax
mov dword [ebp - 0x40], 0x40c9ba5b
mov dword [ebp - 0x48], eax
push ebx
call fcn.100166d2
push edi
lea ecx, [ebp - 0xcb4]
mov byte [ebp - 4], 0x10
call fcn.100166d2
xor eax, eax
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x10022957
push dword [ebp - 0x20]
lea ecx, [ebp - 0x88c]
call fcn.1001675e
mov dword [eax], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1002293c
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x1002297d
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa14]
call fcn.1001675e
mov dword [eax], 0x20725fc1
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1002295f
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10022999
push dword [ebp - 0x20]
lea ecx, [ebp - 0xcb4]
call fcn.1001675e
mov dword [eax], 0xc2b2e5f5
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10022982
dec dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setl dl
xor eax, eax
cmp edx, 0xfffffff7
jne 0x100229c4
mov edx, edi
cmp dword [ebp - 0x14], eax
jne 0x100229c6
mov edx, eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
sete cl
sub ecx, dword [ebp - 0x14]
je 0x100229d8
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x100229e4
mov eax, edi
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x88c]
imul esi, eax
neg esi
sbb esi, esi
xor eax, eax
push eax
neg esi
call fcn.1001675e
lea ecx, [esi - 0xc18502f]
xor edx, edx
imul ecx, ecx, 6
add ecx, dword [ebp - 0x14]
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], eax
je 0x10022a2a
mov eax, dword [ebp - 0x48]
xor eax, eax
mov dword [ebp - 0x40], 0x7d214c40
lea ecx, [ebp - 0x88c]
push eax
call fcn.1001675e
mov esi, dword [ebp - 0x40]
lea ecx, [ebp - 0xa14]
push edi
sub esi, dword [eax]
neg esi
sbb esi, esi
inc esi
call fcn.1001675e
lea ecx, [ebp - 0xcb4]
mov dword [eax], esi
xor eax, eax
push eax
call fcn.1001675e
mov ecx, dword [ebp - 0x48]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0xcb4]
setg dl
mov dword [eax], edx
call fcn.10016759
lea ecx, [ebp - 0xa14]
call fcn.10016759
or ebx, 0xffffffff
lea ecx, [ebp - 0x88c]
mov dword [ebp - 4], ebx
call fcn.10016759
push 8
pop eax
mov dword [ebp - 0x30], 4
lea ecx, [ebp - 0x14b8]
mov dword [ebp - 0x28], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x11a0]
push eax
lea eax, [ebp - 0x11b0]
push eax
movdqu xmmword [ebp - 0x11b0], xmm0
call fcn.1001676d
lea ecx, [ebp - 0x10b]
mov esi, eax
call fcn.10008be3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x904]
push dword [esi]
call fcn.10016733
mov dword [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x1c], 0xe7b7
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x38], 4
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], 0x7b3925b
mov dword [ebp - 0x40], 0xd24015e1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10022b3b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x718], 0x4055
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10022b23
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10022b51
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbc4], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10022b40
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x904]
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x28]
neg esi
push edi
sbb esi, esi
neg esi
sub esi, dword [ebp - 0x28]
neg esi
sbb esi, esi
inc esi
call fcn.1001675e
xor edx, edx
test esi, esi
push edi
setne dl
xor ecx, ecx
mov dword [eax], esi
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setl cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x904]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xbc4]
call fcn.1001675e
mov ecx, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x2c]
setle dl
sub eax, edx
je 0x10022bbf
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x718]
dec dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0xbc4]
push 2
setl cl
xor ebx, ebx
cmp ecx, eax
lea ecx, [ebp - 0x904]
pop esi
push esi
setg bl
call fcn.1001675e
xor ecx, ecx
mov dword [eax], ebx
mov eax, dword [ebp - 0xbc0]
cmp ebx, eax
setge cl
or ebx, 0xffffffff
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x904]
mov dword [ebp - 4], ebx
call fcn.10016759
mov dword [ebp - 0x30], 0x79e672ca
lea ecx, [ebp - 0xa2c]
mov dword [ebp - 0x30], 0xfffffff8
push 3
call fcn.100166d2
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0xff8]
mov dword [ebp - 0x48], 0x3d1bca9d
xor eax, eax
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], 0x5378470e
mov dword [ebp - 0x2c], 0xb8e136dc
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x40], eax
push edi
call fcn.100166d2
mov byte [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x30], 0xa320
mov dword [ebp - 0x30], 0x8c458a92
mov dword [ebp - 0x1c], 0xbf2b8319
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x18], eax
jmp 0x10022cb8
push dword [ebp - 0x18]
lea ecx, [ebp - 0xff8]
call fcn.1001675e
and dword [eax], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10022ca4
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
cmp edi, eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, ecx
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x48]
cmp eax, edx
mov eax, dword [ebp - 0x28]
setne cl
xor edx, edx
cmp ecx, eax
setl dl
sub edx, 0xa94fe87
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, edi
setge al
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setle dl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
inc eax
je 0x10022d31
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10022d33
mov eax, edi
jmp 0x10022d33
xor eax, eax
mov dword [ebp - 0x40], eax
xor edx, edx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x50]
sub ecx, 0x2c64
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0xff8]
mov byte [ebp - 4], 0x13
call fcn.10016759
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0xfffd
mov dword [ebp - 0x40], 0xfffffffb
mov dword [ebp - 0x38], 0xcafa32fd
mov dword [ebp - 0x48], 0xc93cc254
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x10022dab
push eax
push 0x1765
push 0x1950
call dword [sym.imp.KERNEL32.dll_GetCPInfoExW]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
test eax, eax
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
push 5
setg cl
xor eax, eax
pop ebx
cmp ecx, ebx
setge al
cmp dword [ebp - 0x40], eax
je 0x10022de6
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10022ded
jmp 0x10022de8
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x10022df0
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x10022e29
push dword [ebp - 0x18]
lea ecx, [ebp - 0xa2c]
call fcn.1001675e
mov dword [eax], 0xf1ad
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10022e0a
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x50], 0x501874da
mov dword [ebp - 0x40], 0x6bd
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10022e60
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x598], 0xebb0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10022e47
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10022e80
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10d8], 0xf13e13a6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10022e68
xor eax, eax
mov ecx, edi
cmp dword [ebp - 0x590], eax
jne 0x10022e8c
mov ecx, eax
mov eax, dword [ebp - 0x590]
mov eax, dword [ebp - 0x590]
mov eax, dword [ebp - 0x590]
imul eax, ecx, 0x2d2c
lea ecx, [ebp - 0xa2c]
add eax, dword [ebp - 0x590]
mov dword [ebp - 0x10d8], eax
mov eax, dword [ebp - 0x58c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x590]
mov dword [ebp - 0x50], eax
xor eax, eax
inc dword [ebp - 0x40]
push eax
call fcn.1001675e
or esi, 0xffffffff
lea ecx, [ebp - 0xa2c]
inc dword [eax]
mov dword [ebp - 4], esi
call fcn.10016759
push 8
pop eax
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0xc9c]
mov dword [ebp - 0x1c], 0x2bfb
mov dword [ebp - 0x40], 0xfffffffc
push edi
call fcn.100166d2
mov dword [ebp - 4], 0x15
xor eax, eax
mov dword [ebp - 0x2c], 0x43b8a277
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x10022f3f
push dword [ebp - 0x18]
lea ecx, [ebp - 0xc9c]
call fcn.1001675e
mov dword [eax], 0x1de6fc60
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10022f21
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10022f83
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub edx, eax
mov eax, dword [ebp - 0x34]
neg edx
push 6
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
pop eax
setne cl
cmp eax, ecx
mov ecx, dword [ebp - 0x34]
sbb eax, eax
neg eax
sub ecx, eax
xor eax, eax
add ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jle 0x10022f7b
cmp dword [ebp - 0x34], eax
je 0x10022f83
cmp dword [ebp - 0x1c], eax
je 0x10022f83
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xc9c]
mov dword [ebp - 0x40], eax
xor eax, eax
mov esi, dword [ebp - 0x40]
push eax
call fcn.1001675e
lea ecx, [ebp - 0xc9c]
mov dword [eax], esi
or eax, 0xffffffff
mov dword [ebp - 0x2c], esi
dec dword [ebp - 0x48]
mov dword [ebp - 4], eax
call fcn.10016759
push 3
lea ecx, [ebp - 0xe60]
call fcn.100166d2
mov dword [ebp - 4], 0x16
xor eax, eax
mov dword [ebp - 0x28], 0x667a876e
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x10022ff8
push dword [ebp - 0x18]
lea ecx, [ebp - 0xe60]
call fcn.1001675e
mov dword [eax], 0x9ff6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10022fd9
xor eax, eax
push 2
pop esi
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], eax
jl 0x10023067
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x1002304f
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10023027
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor eax, eax
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], eax
jl 0x1002304a
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10023045
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetThreadTimes]
xor eax, eax
dec dword [ebp - 0x1c]
jns 0x1002302f
dec dword [ebp - 0x18]
jns 0x10023012
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10023062
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
xor eax, eax
dec dword [ebp - 0x28]
jns 0x10023003
or eax, 0xffffffff
lea ecx, [ebp - 0xe60]
mov dword [ebp - 4], eax
call fcn.10016759
mov dword [ebp - 0x48], 0x3d1bca9d
xor eax, eax
mov dword [ebp - 0x38], edi
or ecx, 0xffffffff
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], 0x5378470e
mov dword [ebp - 0x2c], 0xb8e136dc
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x1108]
mov dword [ebp - 0x40], eax
push edi
call fcn.100166d2
mov dword [ebp - 4], 0x17
xor eax, eax
mov dword [ebp - 0x30], 0xa320
mov dword [ebp - 0x30], 0x8c458a92
mov dword [ebp - 0x1c], 0xbf2b8319
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x18], eax
jmp 0x100230ea
push dword [ebp - 0x18]
lea ecx, [ebp - 0x1108]
call fcn.1001675e
and dword [eax], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100230d6
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
cmp edi, eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, ecx
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x48]
cmp eax, edx
mov eax, dword [ebp - 0x28]
setne cl
xor edx, edx
cmp ecx, eax
setl dl
sub edx, 0xa94fe87
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, edi
setge al
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setle dl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
inc eax
je 0x10023163
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10023165
mov eax, edi
jmp 0x10023165
xor eax, eax
mov dword [ebp - 0x40], eax
xor edx, edx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x50]
sub ecx, 0x2c64
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
or eax, 0xffffffff
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x1108]
mov dword [ebp - 4], eax
call fcn.10016759
mov dword [ebp - 0x24], 0xb5934215
lea ecx, [ebp - 0x328]
push 3
call fcn.100166d2
mov dword [ebp - 4], 0x18
lea ecx, [ebp - 0xe78]
mov dword [ebp - 0x18], 0x83afd470
xor eax, eax
mov dword [ebp - 0x30], eax
or eax, 0xffffffff
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x30], 0xfefd5227
mov dword [ebp - 0x30], 0x2d0b182b
mov dword [ebp - 0x30], 4
push esi
call fcn.100166d2
mov byte [ebp - 4], 0x19
xor eax, eax
mov dword [ebp - 0x30], 0x31915e30
mov dword [ebp - 0x40], 0xdf500c33
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10023236
push dword [ebp - 0x14]
lea ecx, [ebp - 0x328]
call fcn.1001675e
and dword [eax], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002321a
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002324e
push dword [ebp - 0x14]
lea ecx, [ebp - 0xe78]
call fcn.1001675e
mov dword [eax], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002323b
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x328]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
push esi
call fcn.1001675e
push edi
lea ecx, [ebp - 0x328]
call fcn.1001675e
push 2
pop ecx
push ecx
mov esi, dword [eax]
lea ecx, [ebp - 0x328]
sub esi, 0x228a7d46
call fcn.1001675e
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x328]
add edi, esi
sub edi, dword [eax]
neg edi
sbb edi, edi
xor eax, eax
push eax
inc edi
call fcn.1001675e
xor edx, edx
push 2
cmp edi, dword [eax]
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp eax, edx
pop edi
setle cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x328]
push edi
call fcn.1001675e
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x328]
push edi
add esi, dword [eax]
call fcn.1001675e
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x328]
push 2
add edi, esi
imul edi, dword [eax]
pop esi
push esi
call fcn.1001675e
mov ecx, dword [ebp - 0x24]
xor edx, edx
cmp edi, ecx
setne dl
add edx, dword [eax]
cmp edx, dword [ebp - 0x24]
jl 0x1002338f
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
neg ecx
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, 0xb6a69eed
setg cl
cmp eax, ecx
sbb eax, eax
neg eax
cmp eax, 0x481d
jne 0x10023378
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x10023371
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x1002336e
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10023369
push eax
push eax
push 0x24dc
push 0x1758
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
xor eax, eax
dec dword [ebp - 0x18]
jns 0x10023345
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x1002333d
jmp 0x100233a5
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x100233a5
push 0x379
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
jmp 0x100233a5
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x100233a5
push 0x197d
push eax
call dword [sym.imp.USER32.dll_CharLowerBuffW]
inc dword [ebp - 0x40]
lea ecx, [ebp - 0xe78]
call fcn.10016759
or eax, 0xffffffff
lea ecx, [ebp - 0x328]
mov dword [ebp - 4], eax
call fcn.10016759
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x100233e9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x13dc], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100233d1
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x10023405
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x434], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100233f1
xor eax, eax
mov dword [ebp - 0x434], eax
jmp 0x10023424
mov eax, dword [ebp - 0x434]
mov dword [ebp + eax*4 - 0x13dc], 0xd16df251
inc dword [ebp - 0x434]
cmp dword [ebp - 0x434], ecx
jl 0x1002340d
mov dword [ebp - 0x434], 0x88a137b1
mov eax, 0x19f8c517
mov dword [ebp - 0x14], 0x57fd5464
mov dword [ebp - 0x5c8], eax
mov dword [ebp - 0x5c4], eax
mov dword [ebp - 0x5c0], eax
mov dword [ebp - 0x5bc], eax
mov dword [ebp - 0x38], 0xf2fe
mov dword [ebp - 0x2c], 0x25d8bac8
mov dword [ebp - 0x50], 0x665fec6b
mov dword [ebp - 0x14], 0x17
jmp 0x10023517
mov dword [ebp - 0x18], ebx
xor edx, edx
mov dword [ebp - 0x40], 0x49dcb7be
push 9
pop eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], 0x274cb070
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setl dl
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5c4]
mov eax, dword [ebp - 0x5c8]
mov eax, dword [ebp - 0x5c8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x5c0]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x38], 0xffff
test eax, eax
je 0x100234f2
xor eax, eax
cmp dword [ebp - 0x5c4], eax
je 0x100234f4
lea ecx, [eax + 1]
jmp 0x100234f6
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], esi
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x11
jle 0x1002347b
push 8
pop eax
xor edi, edi
mov dword [ebp - 0x34], eax
inc edi
mov dword [ebp - 0x1c], 0x2bfb
mov dword [ebp - 0x40], 0xfffffffc
lea ecx, [ebp - 0xa44]
push edi
call fcn.100166d2
mov dword [ebp - 4], 0x1a
or eax, 0xffffffff
mov dword [ebp - 0x2c], 0x43b8a277
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x10023580
push dword [ebp - 0x18]
lea ecx, [ebp - 0xa44]
call fcn.1001675e
mov dword [eax], 0x1de6fc60
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10023562
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x100235c4
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
sub edx, eax
mov eax, dword [ebp - 0x34]
neg edx
push 6
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
pop eax
setne cl
cmp eax, ecx
mov ecx, dword [ebp - 0x34]
sbb eax, eax
neg eax
sub ecx, eax
xor eax, eax
add ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jle 0x100235bc
cmp dword [ebp - 0x34], eax
je 0x100235c4
cmp dword [ebp - 0x1c], eax
je 0x100235c4
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xa44]
mov dword [ebp - 0x40], eax
xor eax, eax
mov esi, dword [ebp - 0x40]
push eax
call fcn.1001675e
lea ecx, [ebp - 0xa44]
mov dword [eax], esi
mov dword [ebp - 0x2c], esi
or esi, 0xffffffff
dec dword [ebp - 0x48]
mov dword [ebp - 4], esi
call fcn.10016759
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x40], 0xfffffff9
push 9
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x40], 0xfffffffb
mov dword [ebp - 0x50], esi
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xe649
jne 0x10023625
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10023627
mov eax, edi
mov dword [ebp - 0x40], eax
mov edx, ebx
mov eax, dword [ebp - 0x40]
xor ecx, ecx
imul eax, dword [ebp - 0x18]
sub edx, eax
mov eax, dword [ebp - 0x2c]
cmp edx, eax
setne cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x18]
test eax, eax
jne 0x10023657
cmp dword [ebp - 0x18], eax
jne 0x10023657
xor ebx, ebx
inc ebx
jmp 0x1002365c
xor ebx, ebx
inc ebx
mov eax, ebx
mov dword [ebp - 0x50], eax
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x1002367d
push eax
push eax
push 0x85
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgItemInt]
mov dword [ebp - 0x24], 0xb5934215
lea ecx, [ebp - 0x310]
push 3
call fcn.100166d2
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0x1010]
mov dword [ebp - 0x18], 0x83afd470
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], ebx
push 2
mov dword [ebp - 0x30], 0xfffffffd
pop edi
mov dword [ebp - 0x30], 0xfefd5227
mov dword [ebp - 0x30], 0x2d0b182b
mov dword [ebp - 0x30], 4
push edi
call fcn.100166d2
mov byte [ebp - 4], 0x1c
xor eax, eax
mov dword [ebp - 0x30], 0x31915e30
mov dword [ebp - 0x40], 0xdf500c33
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1002370e
push dword [ebp - 0x14]
lea ecx, [ebp - 0x310]
call fcn.1001675e
and dword [eax], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100236f2
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10023726
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1010]
call fcn.1001675e
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10023713
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x310]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
push edi
call fcn.1001675e
push ebx
lea ecx, [ebp - 0x310]
call fcn.1001675e
push edi
lea ecx, [ebp - 0x310]
mov esi, dword [eax]
sub esi, 0x228a7d46
call fcn.1001675e
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x310]
add edi, esi
sub edi, dword [eax]
neg edi
sbb edi, edi
xor eax, eax
push eax
inc edi
call fcn.1001675e
xor edx, edx
push 2
cmp edi, dword [eax]
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp eax, edx
pop edi
setle cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x310]
push edi
call fcn.1001675e
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x310]
push edi
add esi, dword [eax]
call fcn.1001675e
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x310]
push 2
add edi, esi
imul edi, dword [eax]
pop esi
push esi
call fcn.1001675e
mov ecx, dword [ebp - 0x24]
xor edx, edx
cmp edi, ecx
setne dl
add edx, dword [eax]
cmp edx, dword [ebp - 0x24]
jl 0x10023864
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
neg ecx
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, 0xb6a69eed
setg cl
cmp eax, ecx
sbb eax, eax
neg eax
cmp eax, 0x481d
jne 0x1002384d
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x10023846
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x10023843
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x1002383e
push eax
push eax
push 0x24dc
push 0x1758
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
xor eax, eax
dec dword [ebp - 0x18]
jns 0x1002381a
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x10023812
jmp 0x1002387a
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x1002387a
push 0x379
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
jmp 0x1002387a
xor eax, eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], al
je 0x1002387a
push 0x197d
push eax
call dword [sym.imp.USER32.dll_CharLowerBuffW]
inc dword [ebp - 0x40]
lea ecx, [ebp - 0x1010]
call fcn.10016759
or esi, 0xffffffff
lea ecx, [ebp - 0x310]
mov dword [ebp - 4], esi
call fcn.10016759
movdqa xmm0, xmmword [0x10007c30]
lea ecx, [ebp - 0x14c0]
mov dword [ebp - 0x44], 0x477862fd
mov eax, 0x38299fa9
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0x468], eax
lea eax, [ebp - 0x12a0]
push eax
lea eax, [ebp - 0x12b0]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x40], 0xd7f285f4
push eax
movdqu xmmword [ebp - 0x12b0], xmm0
call fcn.1001676d
lea ecx, [ebp - 0xf3]
mov esi, eax
call fcn.10008be3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xe90]
push dword [esi]
call fcn.10016733
mov dword [ebp - 4], 0x1d
xor eax, eax
push 2
mov dword [ebp - 0x2c], ebx
pop ecx
mov dword [ebp - 0x50], 0x2e882408
mov dword [ebp - 0x18], eax
push 5
pop edi
cmp dword [ebp - 0x18], ecx
jge 0x10023943
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x724], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002392f
xor eax, eax
mov dword [ebp - 0x44], 0x17
cmp dword [ebp - 0x44], 0xfffffffc
jl 0x10023aa6
jmp 0x10023958
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x1002397a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x22c], 0xc62e0897
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10023961
xor eax, eax
cmp dword [ebp - 0x224], eax
je 0x10023a8a
mov eax, dword [ebp - 0x220]
xor edx, edx
mov eax, dword [ebp - 0x474]
imul ecx, eax, 0xe26b
mov eax, dword [ebp - 0x220]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setge dl
xor ecx, ecx
add edx, 9
cmp eax, edx
setge cl
add ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
sub eax, 0xfffb
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x224]
cmp ecx, eax
mov eax, dword [ebp - 0x224]
setne dl
sub eax, edx
cmp dword [ebp - 0x44], eax
je 0x100239f4
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x228], eax
je 0x100239f6
mov ecx, ebx
mov eax, dword [ebp - 0x22c]
xor edx, edx
cmp eax, ecx
mov ecx, dword [ebp - 0x474]
mov eax, dword [ebp - 0x46c]
setg dl
xor ebx, ebx
imul ecx, edx
cmp ecx, eax
lea ecx, [ebp - 0xe90]
sete bl
xor eax, eax
inc eax
push eax
call fcn.1001675e
mov dword [eax], ebx
xor eax, eax
test ebx, ebx
setne al
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0x474]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x720]
setne dl
imul eax, edx
cmp eax, dword [ebp - 0x46c]
jge 0x10023a5c
mov eax, dword [ebp - 0x224]
mov eax, dword [ebp - 0x220]
xor ebx, ebx
mov eax, dword [ebp - 0x474]
mov eax, dword [ebp - 0x720]
mov eax, dword [ebp - 0x720]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x224]
inc eax
je 0x10023a87
inc ebx
mov eax, ebx
jmp 0x10023a8a
xor eax, eax
inc ebx
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x50]
sub dword [ebp - 0x224], eax
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xfffffffc
jge 0x10023956
or esi, 0xffffffff
lea ecx, [ebp - 0xe90]
mov dword [ebp - 4], esi
call fcn.10016759
mov dword [ebp - 0x48], 0x3d1bca9d
lea ecx, [ebp - 0x10c0]
mov dword [ebp - 0x38], ebx
xor eax, eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], 0x5378470e
mov dword [ebp - 0x2c], 0xb8e136dc
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x40], eax
push ebx
call fcn.100166d2
mov dword [ebp - 4], 0x1e
xor eax, eax
mov dword [ebp - 0x30], 0xa320
mov dword [ebp - 0x30], 0x8c458a92
mov dword [ebp - 0x1c], 0xbf2b8319
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x18], eax
jmp 0x10023b26
push dword [ebp - 0x18]
lea ecx, [ebp - 0x10c0]
call fcn.1001675e
and dword [eax], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10023b12
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
cmp ebx, eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, ecx
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x48]
cmp eax, edx
mov eax, dword [ebp - 0x28]
setne cl
xor edx, edx
cmp ecx, eax
setl dl
sub edx, 0xa94fe87
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, ebx
setge al
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setle dl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
inc eax
je 0x10023b9f
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10023ba1
mov eax, ebx
jmp 0x10023ba1
xor eax, eax
mov dword [ebp - 0x40], eax
xor edx, edx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x50]
sub ecx, 0x2c64
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x10c0]
mov dword [ebp - 4], esi
call fcn.10016759
mov dword [ebp - 0x54], 0x942a
lea ecx, [ebp - 0xbdc]
mov dword [ebp - 0x38], esi
xor eax, eax
mov dword [ebp - 0x44], 0xfffffffc
mov dword [ebp - 0x40], eax
push 3
call fcn.100166d2
mov dword [ebp - 4], 0x1f
xor eax, eax
mov dword [ebp - 0x2c], 0x3589fe57
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10023c39
push dword [ebp - 0x14]
lea ecx, [ebp - 0xbdc]
call fcn.1001675e
mov dword [eax], 0x1af7f3e7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10023c1a
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10023c4f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x82c], 0x1aa08ecb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10023c3e
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x38], eax
xor eax, eax
mov esi, eax
cmp dword [ebp - 0x38], eax
je 0x10023c65
mov esi, ebx
push 6
pop eax
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0xbdc]
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x54]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor eax, eax
push eax
call fcn.1001675e
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp - 0x54]
cmp esi, eax
sete cl
sub ecx, 0xc9ca
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x82c], ecx
mov dword [ebp - 0x44], 0xfffffff5
cmp dword [ebp - 0x44], 7
jle 0x10023cc9
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], eax
jne 0x10023cc9
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 7
jg 0x10023cb8
or esi, 0xffffffff
lea ecx, [ebp - 0xbdc]
mov dword [ebp - 4], esi
call fcn.10016759
push ebx
lea ecx, [ebp - 0x128]
call fcn.100166d2
mov dword [ebp - 4], 0x20
xor eax, eax
mov dword [ebp - 0x40], 0xfffffff8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10023d1c
push dword [ebp - 0x18]
lea ecx, [ebp - 0x128]
call fcn.1001675e
mov dword [eax], 4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10023cfe
xor eax, eax
push eax
lea ecx, [ebp - 0x128]
call fcn.1001675e
and dword [eax], 0
jmp 0x10023de4
mov dword [ebp - 0x34], 0xb4e76ab2
xor eax, eax
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x40], eax
je 0x10023d46
cmp dword [ebp - 0x34], eax
jne 0x10023d7a
push eax
lea ecx, [ebp - 0x128]
call fcn.1001675e
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x128]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
xor eax, eax
push eax
call fcn.1001675e
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x128]
xor eax, eax
push eax
call fcn.1001675e
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x128]
xor eax, eax
push eax
call fcn.1001675e
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jne 0x10023daa
push eax
lea ecx, [ebp - 0x128]
call fcn.1001675e
cmp dword [eax], 0
jne 0x10023daa
xor eax, eax
jmp 0x10023dac
mov eax, ebx
xor edx, edx
cmp eax, 0x76e1ee67
sete dl
xor ecx, ecx
sub edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
cmp edx, eax
setl cl
xor eax, eax
add ecx, dword [ebp - 0x38]
cmp ecx, 0xb042
lea ecx, [ebp - 0x128]
setle al
mov dword [ebp - 0x38], eax
xor eax, eax
push eax
call fcn.1001675e
dec dword [eax]
xor eax, eax
lea ecx, [ebp - 0x128]
push eax
call fcn.1001675e
cmp dword [eax], 0xffffffed
je 0x10023d30
lea ecx, [ebp - 0x128]
mov dword [ebp - 4], esi
call fcn.10016759
mov dword [ebp - 0x18], esi
xor eax, eax
push 3
mov dword [ebp - 0x18], eax
pop esi
cmp dword [ebp - 0x18], esi
jge 0x10023e31
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x149c], 0x90be4438
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10023e19
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x10023e88
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10023e61
push eax
push 0x192e
push 0xbdf
push eax
push 0x20df
push 0x18f
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xffffffef
je 0x10023e85
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1494], eax
xor eax, eax
cmp dword [ebp - 0x44], eax
jne 0x10023e83
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xffffffef
jne 0x10023e6a
xor eax, eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe6
jl 0x10023e36
mov byte [ebp - 0x39], al
cmp byte [ebp - 0x39], 0
je 0x10023e9f
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetCommTimeouts]
push esi
lea ecx, [ebp - 0xef0]
call fcn.100166d2
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x8a4]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x40], 0xd52aa0a5
push esi
call fcn.100166d2
push 2
pop esi
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x7b4]
mov dword [ebp - 0x38], 0xfffffff9
push esi
call fcn.100166d2
mov byte [ebp - 4], 0x23
xor eax, eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10023f13