Function at 0x10034416
Capabilities:
Compare security identifiers
Create directory
Create process on windows
Delete file
Get common file path
Get disk information
Get keyboard layout
Get session user name
Get system information on windows
Modify service
Parse pe header
Query service status
Read .ini file

Disassembly:
mov eax, 0x1008a175
call fcn.10088738
mov eax, 0x184c
call fcn.100713e0
push ebx
push esi
xor eax, eax
mov dword [ebp - 0x54], ecx
push edi
inc eax
mov byte [ebp - 0x55], dl
mov esi, 0x3f7bf48c
lea ecx, [ebp - 0xae4]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], 0x6652d0da
push eax
call fcn.1001a98c
xor eax, eax
mov dword [ebp - 4], eax
push 3
mov dword [ebp - 0x10], eax
pop edi
cmp dword [ebp - 0x10], edi
jge 0x10034479
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x534], 0x25b9b55b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10034461
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x10], eax
inc ebx
cmp dword [ebp - 0x10], ebx
jge 0x100344a3
push dword [ebp - 0x10]
lea ecx, [ebp - 0xae4]
call fcn.1001aa1a
mov dword [eax], ebx
xor eax, eax
inc dword [ebp - 0x10]
inc eax
push eax
pop ebx
cmp dword [ebp - 0x10], eax
jl 0x10034484
xor eax, eax
mov dword [ebp - 0x530], eax
jmp 0x1003453d
mov dword [ebp - 0x24], 0xecc2443a
mov dword [ebp - 0x38], 0x5da2282d
mov dword [ebp - 0x30], 0xdac842f8
mov dword [ebp - 0x30], 0xffffffff
cmp dword [ebp - 0x24], eax
jne 0x100344dd
push eax
lea ecx, [ebp - 0xae4]
call fcn.1001aa1a
inc dword [eax]
mov eax, dword [ebp - 0x34]
xor edx, edx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x530]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
push 0
setle cl
sub eax, ecx
xor ecx, ecx
cmp eax, 7
mov eax, dword [ebp - 0x534]
setg cl
cmp ecx, 0xb30498d2
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x530]
pop eax
cmp dword [ebp - 0x530], 0xffffffeb
jne 0x100344ae
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xae4]
call fcn.1001aa15
xor eax, eax
mov dword [ebp - 0x38], 0xfffffff9
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x10034582
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd24], 0x7182b47
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003456a
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x100345a2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x15d0], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003458a
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x100345b8
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
jl 0x100345b8
xor eax, eax
mov edx, eax
jmp 0x100345bd
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0xd1c]
jge 0x100345d9
xor eax, eax
cmp dword [ebp - 0xd1c], eax
jne 0x100345dc
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov ebx, dword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
cmp eax, 0x82aa
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageW]
setl cl
mov dword [ebp - 0xd1c], eax
sub ecx, dword [ebp - 0x3c]
je 0x1003466c
mov dword [ebp - 0x28], 0x30eca6d7
xor eax, eax
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x24], eax
jmp 0x1003462d
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x12c8], 0xcb8f2ba1
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x1003461c
mov eax, dword [ebp - 0x12c8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x30]
cmp eax, 0x198ab79a
jne 0x10034650
xor eax, eax
lea edx, [eax + 1]
jmp 0x10034654
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x15d0]
xor ecx, ecx
shl eax, 2
cmp edx, eax
setle cl
mov dword [ebp - 0x12c8], ecx
jmp 0x100346a3
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10034691
push eax
push 0xd2a
push eax
push 0x13a0
push 0x1754
push eax
push 0x26b5
call edi
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100346a5
push eax
push 0xe06
push eax
call ebx
xor eax, eax
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], 0xfffffff9
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x100346d2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xafc], 0x7182b47
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100346ba
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x100346f2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x15a0], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100346da
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x10034708
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
jl 0x10034708
xor eax, eax
mov edx, eax
jmp 0x1003470d
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0xaf4]
jge 0x10034729
xor eax, eax
cmp dword [ebp - 0xaf4], eax
jne 0x1003472c
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp eax, 0x82aa
mov dword [ebp - 0xaf4], eax
setl cl
xor eax, eax
sub ecx, dword [ebp - 0x3c]
je 0x100347b0
mov dword [ebp - 0x28], 0x30eca6d7
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x24], eax
jmp 0x10034771
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1508], 0xcb8f2ba1
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x10034760
mov eax, dword [ebp - 0x1508]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x30]
cmp eax, 0x198ab79a
jne 0x10034794
xor eax, eax
lea edx, [eax + 1]
jmp 0x10034798
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x15a0]
xor ecx, ecx
shl eax, 2
cmp edx, eax
setle cl
mov dword [ebp - 0x1508], ecx
jmp 0x100347e5
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x100347d3
push eax
push 0xd2a
push eax
push 0x13a0
push 0x1754
push eax
push 0x26b5
call edi
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100347e7
push eax
push 0xe06
push eax
call ebx
xor eax, eax
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], 0xfffffff9
push 3
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10034814
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd60], 0x7182b47
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100347fc
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10034834
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1600], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1003481c
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x1003484a
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
jl 0x1003484a
xor eax, eax
mov edx, eax
jmp 0x1003484f
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0xd58]
jge 0x1003486b
xor eax, eax
cmp dword [ebp - 0xd58], eax
jne 0x1003486e
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp eax, 0x82aa
mov dword [ebp - 0xd58], eax
setl cl
xor eax, eax
sub ecx, dword [ebp - 0x3c]
je 0x100348f2
mov dword [ebp - 0x28], 0x30eca6d7
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x24], eax
jmp 0x100348b3
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x12e8], 0xcb8f2ba1
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x100348a2
mov eax, dword [ebp - 0x12e8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x30]
cmp eax, 0x198ab79a
jne 0x100348d6
xor eax, eax
lea edx, [eax + 1]
jmp 0x100348da
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x1600]
xor ecx, ecx
shl eax, 2
cmp edx, eax
setle cl
mov dword [ebp - 0x12e8], ecx
jmp 0x10034927
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10034915
push eax
push 0xd2a
push eax
push 0x13a0
push 0x1754
push eax
push 0x26b5
call edi
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10034927
push eax
push 0xe06
push eax
call ebx
push 6
pop eax
xor esi, esi
mov dword [ebp - 0x30], 0xffffffff
inc esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x7ac]
push esi
call fcn.1001a98c
mov dword [ebp - 4], esi
xor eax, eax
mov dword [ebp - 0x34], 0xcc90
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10034974
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x178], 4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1003495b
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x100349a2
xor edi, edi
inc edi
push dword [ebp - 0x10]
lea ecx, [ebp - 0x7ac]
call fcn.1001aa1a
mov dword [eax], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003497f
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageW]
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x178], 0xffffffee
jmp 0x100349df
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100349d9
push 0x4e8
push eax
push eax
push eax
push eax
push 0xff8
push 0x1d40
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ScrollWindowEx]
xor eax, eax
inc dword [ebp - 0x178]
cmp dword [ebp - 0x178], esi
jle 0x100349ae
mov ecx, dword [ebp - 0x178]
xor edx, edx
mov eax, dword [ebp - 0x178]
imul ecx, eax
mov eax, dword [ebp - 0x174]
cmp ecx, eax
mov eax, dword [ebp - 0x170]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x174]
setg bl
xor ecx, ecx
cmp ebx, eax
setle cl
imul eax, ecx, 0xc9f1
cmp eax, 0x6c8c
jg 0x10034a37
xor eax, eax
cmp dword [ebp - 0x178], eax
je 0x10034a37
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x7ac]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x178]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x178]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x174]
mov eax, dword [ebp - 0x170]
xor eax, eax
push eax
call fcn.1001aa1a
xor eax, eax
lea ecx, [ebp - 0x7ac]
push eax
call fcn.1001aa1a
xor eax, eax
lea ecx, [ebp - 0x7ac]
push eax
call fcn.1001aa1a
mov eax, dword [ebp - 0x178]
lea ecx, [ebp - 0x7ac]
mov dword [ebp - 0x34], esi
or dword [ebp - 4], 0xffffffff
call fcn.1001aa15
xor eax, eax
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x38], 0xd3740063
mov dword [ebp - 0x30], 0xa38d0672
mov dword [ebp - 0x10], 4
cmp dword [ebp - 0x10], 0xa
jne 0x10034b46
xor edi, edi
inc edi
xor eax, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x24], eax
jmp 0x10034ae0
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xb14], 0x4edc0223
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x10034acf
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x38], 0x3938
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], edi
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xb10]
xor eax, eax
cmp dword [ebp - 0xb10], eax
jne 0x10034b2c
cmp dword [ebp - 0x30], eax
je 0x10034b2e
mov eax, edi
mov dword [ebp - 0xb10], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xa
je 0x10034ac5
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageW]
xor eax, eax
inc eax
mov dword [ebp - 0x1c], 0x3f7bf48c
xor edx, edx
mov dword [ebp - 0x10], 0xd925
inc edx
push 5
pop ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x30], 0x89fff12f
mov dword [ebp - 0x38], 0x3631af66
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], edx
jge 0x10034b99
xor edi, edi
inc edi
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x124], 0xaa12afd7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x10034b7b
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageW]
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x10034ba2
mov ecx, eax
jmp 0x10034ba7
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x10]
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setge dl
xor ecx, ecx
cmp eax, edx
setne cl
xor edx, edx
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x30]
cmp eax, 0xd1cb
mov eax, dword [ebp - 0x10]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setle cl
xor edx, edx
cmp ecx, eax
setle dl
xor ecx, ecx
add edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setne cl
mov dword [ebp - 0x124], ecx
mov eax, dword [ebp - 0x124]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x124]
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x10034c1c
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
xor esi, esi
mov eax, dword [ebp - 0x38]
inc esi
mov eax, dword [ebp - 0x124]
xor ecx, ecx
mov dword [ebp - 0x124], esi
mov eax, dword [ebp - 0x24]
cmp eax, esi
push esi
setle cl
sub ecx, 0xf4fc6a3f
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0xcd0]
mov dword [ebp - 0x34], 0x6652d0da
call fcn.1001a98c
push 2
pop ebx
xor eax, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10034c86
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5c4], 0x25b9b55b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10034c6d
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10034cb4
xor edi, edi
inc edi
push dword [ebp - 0x10]
lea ecx, [ebp - 0xcd0]
call fcn.1001aa1a
mov dword [eax], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10034c91
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageW]
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x5c0], eax
jmp 0x10034d4e
mov dword [ebp - 0x24], 0xecc2443a
mov dword [ebp - 0x38], 0x5da2282d
mov dword [ebp - 0x30], 0xdac842f8
mov dword [ebp - 0x30], 0xffffffff
cmp dword [ebp - 0x24], eax
jne 0x10034cee
push eax
lea ecx, [ebp - 0xcd0]
call fcn.1001aa1a
inc dword [eax]
mov eax, dword [ebp - 0x34]
xor edx, edx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x5c0]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
push 0
setle cl
sub eax, ecx
xor ecx, ecx
cmp eax, 7
mov eax, dword [ebp - 0x5c4]
setg cl
cmp ecx, 0xb30498d2
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x5c0]
pop eax
cmp dword [ebp - 0x5c0], 0xffffffeb
jne 0x10034cbf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xcd0]
call fcn.1001aa15
mov dword [ebp - 0x38], 0xfffffff9
lea ecx, [ebp - 0x23c]
push esi
call fcn.1001a98c
mov dword [ebp - 4], 3
lea ecx, [ebp - 0xb2c]
mov dword [ebp - 0x14], 0xe1ca2961
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x28], 0xfb5c4ce1
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x28], 0x7ad11e75
mov dword [ebp - 0x38], 0x7d660f18
mov dword [ebp - 0x28], 0xbf7d69fd
push ebx
call fcn.1001a98c
xor eax, eax
mov byte [ebp - 4], 4
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x10034e01
xor edi, edi
inc edi
push dword [ebp - 0x20]
lea ecx, [ebp - 0x23c]
call fcn.1001aa1a
mov dword [eax], edi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10034dde
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageW]
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x10034e21
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x8c], 0x2c70bb74
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x10034e09
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x10034e44
push dword [ebp - 0x20]
lea ecx, [ebp - 0xb2c]
call fcn.1001aa1a
or dword [eax], 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x10034e29
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x10034e64
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xa5c], 0x1684
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x10034e4c
xor eax, eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], eax
jl 0x10035101
push esi
lea ecx, [ebp - 0x650]
call fcn.1001a98c
push 5
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x24], eax
jmp 0x10034ea9
push dword [ebp - 0x24]
lea ecx, [ebp - 0x650]
call fcn.1001aa1a
mov dword [eax], 0x176df7e
inc dword [ebp - 0x24]
xor eax, eax
inc eax
cmp dword [ebp - 0x24], eax
jl 0x10034e92
push dword [ebp - 0x88]
lea ecx, [ebp - 0x23c]
call fcn.1001aa1a
lea ecx, [ebp - 0x23c]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x8c]
xor eax, eax
push eax
call fcn.1001aa1a
xor eax, eax
lea ecx, [ebp - 0x650]
push eax
call fcn.1001aa1a
push dword [ebp - 0x88]
mov esi, 0xd39c7c6f
lea ecx, [ebp - 0x23c]
mov dword [eax], esi
call fcn.1001aa1a
push dword [ebp - 0x88]
xor ebx, ebx
lea ecx, [ebp - 0x23c]
cmp dword [eax], esi
setl bl
call fcn.1001aa1a
push 0
lea ecx, [ebp - 0x23c]
cmp ebx, dword [eax]
pop ebx
push dword [ebp - 0x88]
setg bl
call fcn.1001aa1a
xor ecx, ecx
sub ebx, dword [eax]
mov eax, dword [ebp - 0x88]
cmp eax, ebx
setle cl
xor edx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setge dl
cmp edx, 0xffffffff
jg 0x10034f64
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10034f64
mov edi, eax
jmp 0x10034f69
xor eax, eax
lea edi, [eax + 1]
push dword [ebp - 0x88]
lea ecx, [ebp - 0x23c]
call fcn.1001aa1a
lea ecx, [ebp - 0x23c]
mov esi, dword [eax]
xor eax, eax
push eax
add esi, edi
call fcn.1001aa1a
cmp esi, dword [eax]
je 0x10034fad
push dword [ebp - 0x88]
lea ecx, [ebp - 0x23c]
call fcn.1001aa1a
cmp dword [eax], 0
je 0x10034fad
xor esi, esi
inc esi
mov eax, esi
jmp 0x10034fb2
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x100350ac
push 5
pop edx
mov dword [ebp - 0x38], edx
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0xaa296768
mov dword [ebp - 0x34], 3
mov dword [ebp - 0x28], eax
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], 0x93cbfb41
mov dword [ebp - 0x28], 0x4f89c894
mov dword [ebp - 0x30], 0xffffffff
push dword [ebp - 0x88]
call fcn.1001aa1a
xor eax, eax
lea ecx, [ebp - 0x650]
push eax
call fcn.1001aa1a
mov ecx, dword [ebp - 0x88]
xor edx, edx
cmp ecx, dword [eax]
setl dl
cmp edx, dword [ebp - 0x38]
je 0x100350a2
inc dword [ebp - 0xa58]
lea ecx, [ebp - 0x650]
xor eax, eax
push eax
call fcn.1001aa1a
mov edx, dword [ebp - 0x34]
mov esi, eax
mov ecx, dword [ebp - 0x24]
xor eax, eax
cmp edx, ecx
lea ecx, [ebp - 0x650]
setg al
xor ebx, ebx
cmp eax, dword [esi]
setne bl
xor eax, eax
push eax
call fcn.1001aa1a
push dword [ebp - 0x88]
lea ecx, [ebp - 0x23c]
mov dword [eax], ebx
xor eax, eax
test ebx, ebx
setne al
mov dword [ebp - 0x38], eax
call fcn.1001aa1a
mov ecx, dword [ebp - 0x30]
xor edx, edx
cmp dword [ebp - 0x38], ecx
setg dl
sub edx, dword [eax]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sub eax, 0xf5ea
je 0x100350a2
xor esi, esi
inc esi
mov eax, esi
jmp 0x100350a7
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x30], eax
jmp 0x100350db
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0xb2c]
inc dword [ebp - 0x38]
push esi
call fcn.1001aa1a
mov dword [eax], 0x5bd639b6
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x100350db
push 0x1555
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
lea ecx, [ebp - 0x650]
mov byte [ebp - 4], 4
call fcn.1001aa15
dec dword [ebp - 0x88]
jns 0x10034e76
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageW]
xor eax, eax
push 2
pop ebx
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1003511e
push esi
push eax
push 0x1137
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgItemInt]
lea ecx, [ebp - 0xb2c]
call fcn.1001aa15
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.1001aa15
mov dword [ebp - 0x3c], 0xe60f951f
xor eax, eax
mov dword [ebp - 0x38], 0x61eefb6f
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x38], 0x753589fe
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10035172
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RealizePalette]
mov eax, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x3c], eax
je 0x10035181
mov eax, esi
mov dword [ebp - 0x38], eax
xor ecx, ecx
mov eax, dword [ebp - 0x38]
cmp eax, esi
mov eax, dword [ebp - 0x3c]
setge cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x3c]
push 2
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setge cl
xor ebx, ebx
cmp ecx, eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
setne bl
xor edx, edx
cmp ecx, eax
lea ecx, [ebp - 0xf10]
setne dl
xor eax, eax
cmp edx, ebx
setl al
mov dword [ebp - 0x38], eax
call fcn.1001a98c
mov dword [ebp - 4], 6
xor eax, eax
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x10035208
push dword [ebp - 0x24]
lea ecx, [ebp - 0xf10]
call fcn.1001aa1a
mov dword [eax], 0xea75c96
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x100351e9
xor eax, eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], esi
jg 0x100352c1
xor edi, edi
inc edi
jmp 0x1003521b
xor eax, eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x1104]
mov dword [ebp - 0x40], 0xeee2fde2
mov dword [ebp - 0x28], 0x888999d9
push edi
call fcn.1001a98c
mov byte [ebp - 4], 7
xor eax, eax
mov dword [ebp - 0x38], 0x7bdd4840
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], edi
jge 0x10035267
push dword [ebp - 0x24]
lea ecx, [ebp - 0x1104]
call fcn.1001aa1a
mov dword [eax], edi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1003524d
xor eax, eax
dec dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
jmp 0x1003529b
mov dword [ebp - 0x24], eax
jmp 0x10035293
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10035290
push eax
push 0x462
push 0x1763
call dword [sym.imp.KERNEL32.dll_GetCPInfoExW]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jle 0x10035274
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], eax
jle 0x1003526f
lea ecx, [ebp - 0x1104]
mov byte [ebp - 4], 6
call fcn.1001aa15
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], edi
jle 0x10035219
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageW]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf10]
call fcn.1001aa15
xor eax, eax
push 3
mov dword [ebp - 0x10], eax
pop ebx
jmp 0x100352eb
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb44], 0x7182b47
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100352da
movdqa xmm0, xmmword [0x10009440]
lea eax, [ebp - 0x1418]
push eax
lea eax, [ebp - 0x1428]
mov dword [ebp - 0x10], 0x66fe7d8a
push eax
lea ecx, [ebp - 0x1614]
movdqu xmmword [ebp - 0x1428], xmm0
call fcn.1001aa29
lea ecx, [ebp - 0x2d7]
mov esi, eax
call fcn.1000a693
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x11c8]
push dword [esi]
call fcn.1001a9eb
push 8
pop eax
mov dword [ebp - 4], eax
xor edx, edx
push 9
mov dword [ebp - 0x38], 0x91f06e85
xor eax, eax
pop esi
mov dword [ebp - 0x28], esi
inc edx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], edx
jge 0x1003537f
xor edi, edi
inc edi
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xd8], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x10035361
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageW]
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x1003544a
xor edi, edi
inc edi
mov dword [ebp - 0x30], 0xfffffffd
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xd8]
xor eax, eax
cmp dword [ebp - 0xd8], eax
je 0x100353bd
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x11c8]
mov eax, dword [ebp - 0x10]
push edi
mov esi, dword [ebp + eax*4 - 0xd8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xd8]
sub esi, eax
call fcn.1001aa1a
xor edx, edx
cmp esi, 0x677b
push 0xfffffffffffffff7
setne dl
sub edx, 0xffff
mov dword [eax], esi
mov eax, dword [ebp - 0x30]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
pop eax
setle cl
sub ecx, 0x4d4e
cmp ecx, eax
jne 0x1003541c
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x1003541e
mov ecx, edi
jmp 0x10035420
xor eax, eax
mov ecx, eax
xor eax, eax
cmp ecx, 0xd2a6
setge al
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xd8]
dec dword [ebp - 0x10]
jns 0x1003538e
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageW]
push 9
pop esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x11c8]
call fcn.1001aa15
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10035471
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1564], 6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10035460
xor ebx, ebx
lea ecx, [ebp - 0xdd8]
inc ebx
push ebx
call fcn.1001a98c
mov dword [ebp - 4], esi
xor eax, eax
mov dword [ebp - 0x44], 0x8777
mov dword [ebp - 0x30], 0xbdf78b15
mov dword [ebp - 0x38], 0x71e9
mov dword [ebp - 0x34], 0xdeb256cd
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x100354cf
xor edi, edi
inc edi
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x60], 0x72ca
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x100354b1
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageW]
xor ebx, ebx
xor eax, eax
inc ebx
push 2
mov dword [ebp - 0x20], eax
pop ecx
cmp dword [ebp - 0x20], ecx
jge 0x100354ee
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x5d4], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x100354da
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x1003551d
xor edi, edi
inc edi
push dword [ebp - 0x20]
lea ecx, [ebp - 0xdd8]
call fcn.1001aa1a
mov dword [eax], 0x8628
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x100354f9
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageW]
xor eax, eax
mov dword [ebp - 0x20], eax
xor eax, eax
inc eax
cmp dword [ebp - 0x20], eax
jge 0x10035547
xor edi, edi
inc edi
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x470], 0x3cb8
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1003552b
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageW]
mov eax, dword [ebp - 0x5d4]
lea ecx, [ebp - 0xdd8]
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x60]
xor eax, eax
push eax
call fcn.1001aa1a
mov ecx, dword [ebp - 0x60]
mov esi, eax
xor edx, edx
inc dword [esi]
cmp ecx, 0xffffffff
mov ecx, dword [ebp - 0x5d0]
setne dl
sub edx, ecx
xor ecx, ecx
imul eax, edx, 0xffff
cmp ecx, eax
sbb eax, eax
xor edx, edx
neg eax
cmp dword [esi], eax
mov eax, dword [ebp - 0x60]
setne dl
cmp edx, eax
setg cl
xor eax, eax
inc eax
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x60]
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x44]
sete bl
xor ecx, ecx
cmp ebx, eax
setg cl
xor eax, eax
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], eax
je 0x100355da
mov eax, dword [ebp - 0x5d4]
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x100355da
cmp dword [ebp - 0x470], eax
je 0x100355da
lea edx, [eax + 1]
jmp 0x100355dc
mov edx, eax
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
push 0xfffffffffffffff7
setg cl
cmp ecx, 0xfffd
pop esi
sbb eax, eax
xor ecx, ecx
neg eax
add eax, dword [ebp - 0x60]
cmp eax, 0xa3c9
mov eax, dword [ebp - 0x44]
setg cl
add eax, ecx
cmp esi, eax
mov eax, dword [ebp - 0x60]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x60]
setge dl
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x60]
cmp edx, eax
mov eax, dword [ebp - 0x60]
setg cl
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setle bl
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x470]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
or esi, 0xffffffff
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0xdd8]
mov dword [ebp - 4], esi
call fcn.1001aa15
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x10035671
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jl 0x10035671
xor eax, eax
mov edx, eax
jmp 0x10035676
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0xb3c]
jge 0x10035692
xor eax, eax
cmp dword [ebp - 0xb3c], eax
jne 0x10035695
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, 0x82aa
mov dword [ebp - 0xb3c], eax
setl cl
xor eax, eax
sub ecx, dword [ebp - 0x1c]
je 0x100367c5
push 4
inc eax
mov dword [ebp - 0x10], eax
pop ecx
mov dword [ebp - 0x38], 0xd3740063
mov dword [ebp - 0x30], 0xa38d0672
push 0xa
mov dword [ebp - 0x10], ecx
pop ebx
cmp dword [ebp - 0x10], ebx
je 0x1003572e
xor edi, edi
inc edi
xor eax, eax
mov dword [ebp - 0x48], 0x6d4f
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0xd78]
push 3
call fcn.1001a98c
mov dword [ebp - 4], ebx
xor eax, eax
mov dword [ebp - 0x40], 0xc13fe66
mov dword [ebp - 0x28], 0x5d1cb6a7
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x30], 0xffea1e17
mov dword [ebp - 0x4c], 0xdf642d94
mov dword [ebp - 0x38], 0xfff7
mov dword [ebp - 0x24], eax
jmp 0x100357c1
xor eax, eax
inc eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x10035749
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xce8], 0x4edc0223
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x10035738
mov eax, dword [ebp - 0x10]
xor edi, edi
mov dword [ebp - 0x3c], eax
inc edi
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x38], 0x3938
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], edi
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xce4]
xor eax, eax
cmp dword [ebp - 0xce4], eax
jne 0x10035798
cmp dword [ebp - 0x30], eax
je 0x1003579a
mov eax, edi
mov dword [ebp - 0xce4], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
je 0x1003572b
jmp 0x100356d6
push dword [ebp - 0x24]
lea ecx, [ebp - 0xd78]
call fcn.1001aa1a
and dword [eax], 0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x100357ad
mov eax, dword [ebp - 0x48]
xor edx, edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x48]
cmp eax, 0xa5b7
mov eax, dword [ebp - 0x48]
mov esi, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
push edi
setne cl
add esi, ecx
lea ecx, [ebp - 0xd78]
call fcn.1001aa1a
xor edx, edx
mov dword [eax], esi
mov dword [ebp - 0x40], esi
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
cmp eax, ecx
mov eax, dword [ebp - 0x48]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x48]
setle bl
xor ecx, ecx
cmp ebx, eax
setg cl
cmp ecx, dword [ebp - 0x48]
je 0x10035904
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x44], 0x3b4709ba
push 0xfffffffffffffff7
mov dword [ebp - 0x38], 0x4e2bf5f4
pop ecx
mov dword [ebp - 0x48], 0xfffffff9
mov dword [ebp - 0x38], eax
push 2
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], eax
pop ebx
jmp 0x1003586d
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xaa4], 0x23703acb
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1003585c
inc dword [ebp - 0x50]
xor ecx, ecx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xaa0], 0x160ec253
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x30]
test eax, eax
mov eax, dword [ebp - 0x40]
sets cl
add eax, 0x376a9523
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setl dl
xor ecx, ecx
cmp edx, eax
push 5
setle cl
xor edx, edx
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0xaa0]
cmp eax, edi
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
pop eax
setge cl
cmp eax, ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x3c]
neg eax
sbb eax, eax
xor edx, edx
neg eax
add ecx, eax
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x40], ecx
jmp 0x1003594d
push 2
pop ebx
push ebx
lea ecx, [ebp - 0xb5c]
call fcn.1001a98c
xor eax, eax
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x24], eax
jmp 0x1003592f
push dword [ebp - 0x24]
call fcn.1001aa1a
mov dword [eax], 0x20603003
inc dword [ebp - 0x24]
lea ecx, [ebp - 0xb5c]
cmp dword [ebp - 0x24], ebx
jl 0x1003591e
push edi
call fcn.1001aa1a
lea ecx, [ebp - 0xb5c]
inc dword [eax]
call fcn.1001aa15
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0xd78]
sub eax, 0x7a051ee5
mov dword [ebp - 0x38], eax
or dword [ebp - 4], 0xffffffff
call fcn.1001aa15
movdqa xmm0, xmmword [0x10009420]
lea ecx, [ebp - 0x16cc]
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x28], 0x30eca6d7
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x12f8]
push eax
lea eax, [ebp - 0x1308]
push eax
movdqu xmmword [ebp - 0x1308], xmm0
call fcn.1001aa29
lea ecx, [ebp - 0x27f]
mov esi, eax
call fcn.1000a693
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x26c]
push dword [esi]
call fcn.1001a9eb
mov dword [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x100359ee
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x108], 0xd7f8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x100359d6
xor eax, eax
push 0xfffffffffffffffb
mov dword [ebp - 0x1c], eax
pop edi
jmp 0x10035c9b
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x14], 0xb9c2d621
mov dword [ebp - 0x24], 0x5ec62bb2
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x38], 0xf3d9
push 3
call fcn.1001aa1a
mov ecx, dword [ebp - 0x1c]
xor ebx, ebx
mov ecx, dword [ebp + ecx*4 - 0x108]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
lea ecx, [ebp - 0x26c]
setne bl
add ebx, ebx
sub ebx, 0x1eca
neg ebx
sbb ebx, ebx
xor esi, esi
inc esi
inc ebx
push esi
call fcn.1001aa1a
xor ecx, ecx
cmp ebx, 0x14af
setge cl
mov dword [eax], ebx
mov eax, dword [ebp - 0x108]
mov edx, dword [ebp - 0x1c]
sub eax, ecx
add edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x108]
cmp eax, edx
setg cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x108]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x108]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp + eax*4 - 0x108]
mov eax, dword [ebp - 0x20]
cmp eax, 0x2f1e
setg cl
imul edx, ecx
test edx, edx
je 0x10035c5b
mov dword [ebp - 0x10], 0x8110cbbb
xor edx, edx
mov dword [ebp - 0x38], 0xd707
push 2
pop ebx
mov dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x108]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
cmp ecx, 0x68d9
setle dl
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
cmp edx, dword [ebp + eax*4 - 0x108]
jl 0x10035b1f
mov eax, dword [ebp - 0x34]
push 3
lea ecx, [ebp - 0x26c]
call fcn.1001aa1a
push 3
lea ecx, [ebp - 0x26c]
call fcn.1001aa1a
xor edx, edx
cmp dword [eax], edx
mov eax, dword [ebp - 0x10]
sete dl
xor ecx, ecx
cmp ecx, eax
sbb ecx, ecx
xor eax, eax
inc ecx
neg edx
cmp ecx, edx
setne al
mov dword [ebp - 0x38], eax
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x10035b62
cmp dword [ebp - 0x24], eax
je 0x10035b64
mov eax, esi
imul eax, eax, 0xcced
test eax, eax
je 0x10035b79
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
jmp 0x10035c8f
xor eax, eax
mov dword [ebp - 0x30], 0x937b
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jg 0x10035c8f
jmp 0x10035b93
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x10], eax
je 0x10035ba5
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x108]
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x26c]
add eax, ebx
push eax
call fcn.1001aa1a
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x26c]
mov eax, dword [ebp - 0x1c]
add eax, ebx
push eax
call fcn.1001aa1a
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x26c]
add eax, ebx
push eax
call fcn.1001aa1a
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x26c]
push dword [ebp - 0x1c]
call fcn.1001aa1a
mov ecx, dword [ebp - 0x34]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x26c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x10]
push dword [ebp - 0x1c]
call fcn.1001aa1a
xor eax, eax
lea ecx, [ebp - 0x26c]
push eax
call fcn.1001aa1a
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x44]
cmp ecx, eax
setg dl
xor ecx, ecx
cmp edx, esi
setle cl
sub ecx, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
test ecx, ecx
setg al
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jle 0x10035b91
jmp 0x10035c8f
push 9
pop eax
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x28], 0x4d88f402
push 8
pop eax
mov dword [ebp - 0x28], 0xdc534f93
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], eax
xor eax, eax
dec dword [ebp - 0x38]
push eax
call fcn.1001aa1a
mov dword [eax], 0x2fba83e1
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x1c]
xor eax, eax
lea ecx, [ebp - 0x26c]
inc eax
cmp dword [ebp - 0x1c], eax
jle 0x100359f9
or dword [ebp - 4], 0xffffffff
call fcn.1001aa15
xor ebx, ebx
mov dword [ebp - 0x28], 0xffffffff
inc ebx
lea ecx, [ebp - 0x111c]
push ebx
call fcn.1001a98c
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0xf28]
mov dword [ebp - 0x28], 0x606de713
mov dword [ebp - 0x28], 0x5d09ea9
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], 0xd0d3f7bf
mov dword [ebp - 0x28], 0xeb606930
push 2
call fcn.1001a98c
push 3
lea ecx, [ebp - 0xb74]
mov byte [ebp - 4], 0xe
call fcn.1001a98c
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x10035d49
push dword [ebp - 0x20]
lea ecx, [ebp - 0x111c]
call fcn.1001aa1a
mov dword [eax], 0x5568
xor eax, eax
inc dword [ebp - 0x20]
inc eax
cmp dword [ebp - 0x20], eax
jl 0x10035d25
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x10035d71
push dword [ebp - 0x20]
lea ecx, [ebp - 0xf28]
call fcn.1001aa1a
mov dword [eax], 0x2513244d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10035d52
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x10035d97
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1190], 0
xor eax, eax
inc dword [ebp - 0x20]
inc eax
cmp dword [ebp - 0x20], eax
jl 0x10035d79
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x20], eax
jmp 0x10035dad
push dword [ebp - 0x20]
call fcn.1001aa1a
mov dword [eax], 0xd70
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
lea ecx, [ebp - 0xb74]
jl 0x10035d9c
push ebx
call fcn.1001aa1a
inc dword [eax]
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10035dd3
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
lea ecx, [ebp - 0xb74]
call fcn.1001aa15
lea ecx, [ebp - 0xf28]
call fcn.1001aa15
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x111c]
call fcn.1001aa15
push 8
pop eax
mov dword [ebp - 0x50], 0xfffffffd
lea ecx, [ebp - 0x9ac]
mov dword [ebp - 0x10], 0xba76aabe
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x30], eax
push 4
mov dword [ebp - 0x24], 0xd52aa0a5
mov dword [ebp - 0x14], ebx
pop ebx
push ebx
call fcn.1001a98c
push ebx
lea ecx, [ebp - 0x65c]
mov dword [ebp - 4], 0x10
call fcn.1001a98c
mov byte [ebp - 4], 0x11
xor eax, eax
push 0xfffffffffffffff7
mov dword [ebp - 0x4c], 0x7bc7
pop esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10035e70
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1298], 0x13dd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10035e58
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10035e96
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x9ac]
call fcn.1001aa1a
mov dword [eax], 0xee507704
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10035e78
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10035ebc
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x65c]
call fcn.1001aa1a
mov dword [eax], 0x26067bbd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10035e9e
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jg 0x1003612a
jmp 0x10035ece
push 0xfffffffffffffff7
pop esi
xor eax, eax
inc eax
mov dword [ebp - 0x894], eax
mov dword [ebp - 0x890], eax
mov dword [ebp - 0x88c], eax
mov dword [ebp - 0x888], eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x1c], 0xfffffff6
mov dword [ebp - 0x20], 0x4e7ccce1
mov dword [ebp - 0x30], 0xfff9
mov dword [ebp - 0x44], 0xacefce0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], 0xaa1ede5a
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x1298]
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x1c]
cmp ecx, eax
jle 0x10035f2d
xor eax, eax
lea edi, [eax + 1]
jmp 0x10035f31
xor eax, eax
mov edi, eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x1298]
sub ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x30]
imul ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x894]
inc dword [ebp - 0x30]
cmp ecx, eax
je 0x10035f5e
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10035f60
lea ecx, [eax + 1]
jmp 0x10035f62
xor eax, eax
mov ecx, eax
xor edx, edx
xor eax, eax
inc edx
cmp ecx, edx
setg al
mov dword [ebp - 0x888], eax
cmp eax, esi
jae 0x10035f82
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x10035f82
mov esi, eax
inc eax
jmp 0x10035f87
xor eax, eax
inc eax
mov esi, eax
dec dword [ebp - 0x14]
lea ecx, [ebp - 0x9ac]
push eax
call fcn.1001aa1a
mov ecx, dword [ebp - 0x14]
xor ebx, ebx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x40]
setle bl
xor edx, edx
sub ebx, esi
cmp ebx, eax
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
cmp eax, edx
setg cl
xor eax, eax
imul ecx, edi
test ecx, ecx
je 0x10035fc9
cmp dword [ebp - 0x4c], eax
je 0x10035fc9
inc eax
mov esi, eax
jmp 0x10035fce
mov esi, eax
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x65c]
call fcn.1001aa1a
xor ebx, ebx
lea ecx, [ebp - 0x65c]
push 3
cmp esi, dword [eax]
setne bl
call fcn.1001aa1a
mov dword [eax], ebx
xor eax, eax
cmp dword [ebp - 0x44], eax
jne 0x10036041
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x894]
sub ecx, eax
cmp dword [ebp - 0x38], 6
sbb eax, eax
xor edx, edx
inc eax
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x40]
setle cl
or edx, 0xffffffff
sub edx, ecx
xor ecx, ecx
cmp edx, eax
setge cl
imul eax, ecx, 0x7823
cmp eax, dword [ebp - 0x48]
jne 0x10036041
xor edi, edi
xor eax, eax
inc edi
jmp 0x10036046
xor edi, edi
inc edi
mov eax, edi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x24], eax
jg 0x100360d0
push 0xfffffffffffffff6
pop eax
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x100360c8
mov dword [ebp - 0x34], 0xffffffff
lea ecx, [ebp - 0x65c]
push dword [ebp - 0x1c]
call fcn.1001aa1a
xor ebx, ebx
cmp dword [eax], ebx
setne bl
xor eax, eax
mov dword [ebp - 0x894], eax
xor ecx, ecx
mov eax, dword [ebp - 0x128c]
mov eax, dword [ebp - 0x44]
cmp eax, edi
setge cl
xor eax, eax
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], eax
je 0x100360a9
cmp dword [ebp - 0x44], eax
je 0x100360a9
xor edi, edi
lea esi, [eax + 1]
inc edi
jmp 0x100360ab
mov esi, eax
push dword [ebp - 0x10]
lea ecx, [ebp - 0x9ac]
call fcn.1001aa1a
xor ecx, ecx
sub ebx, esi
cmp dword [eax], ebx
setne cl
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x1003605e
jmp 0x10036117
mov dword [ebp - 0x34], 0x6e9d
lea ecx, [ebp - 0x65c]
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x34]
push edi
call fcn.1001aa1a
mov dword [eax], esi
mov eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
push 4
pop ebx
jle 0x10035ecb
push 0xfffffffffffffffb
pop edi
lea ecx, [ebp - 0x65c]
call fcn.1001aa15
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9ac]
call fcn.1001aa15
movdqa xmm0, xmmword [0x10009450]
lea ecx, [ebp - 0x166c]
mov dword [ebp - 0x28], 0x14b58e17
xor eax, eax
mov dword [ebp - 0x28], eax
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x28], 0xdfddae9
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x14b8]
push eax
lea eax, [ebp - 0x14c8]
push eax
movdqu xmmword [ebp - 0x14c8], xmm0
call fcn.1001aa29
lea ecx, [ebp - 0x338]
mov esi, eax
call fcn.1000a693
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x15b8]
push dword [esi]
call fcn.1001a9eb
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0xf40]
mov dword [ebp - 0x28], 0xa0627e80
push 3
call fcn.1001a98c
xor eax, eax
mov byte [ebp - 4], 0x13
push 2
mov dword [ebp - 0x10], eax
pop esi
cmp dword [ebp - 0x10], esi
jge 0x100361f6
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x4d8], 0x8bbca631
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100361de
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10036212
push dword [ebp - 0x10]
lea ecx, [ebp - 0xf40]
call fcn.1001aa1a
mov dword [eax], 0xbe58ed0b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x100361fb
xor ebx, ebx
mov dword [ebp - 0x4d4], 0x1c
inc ebx
cmp dword [ebp - 0x4d4], 0xfffffff3
jle 0x100362bb
mov dword [ebp - 0x28], 0xaa32f3f6
lea ecx, [ebp - 0xd00]
push esi
call fcn.1001a98c
mov byte [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10036274
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x183c], 0xe2a8d3a1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1003625b
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10036286
push dword [ebp - 0x10]
call fcn.1001aa1a
mov dword [eax], ebx
inc dword [ebp - 0x10]
lea ecx, [ebp - 0xd00]
cmp dword [ebp - 0x10], esi
jl 0x10036279
push ebx
call fcn.1001aa1a
xor ecx, ecx
cmp dword [eax], ebx
setl cl
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xd00]
mov byte [ebp - 4], 0x13
call fcn.1001aa15
dec dword [ebp - 0x4d4]
jmp 0x10036225
lea ecx, [ebp - 0xf40]
call fcn.1001aa15
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15b8]
call fcn.1001aa15
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x100362ed
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1448], 0xcb8f2ba1
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x100362dc
push esi
lea ecx, [ebp - 0x62c]
call fcn.1001a98c
mov dword [ebp - 4], 0x15
xor eax, eax
mov dword [ebp - 0x30], 0xfffffffa
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10036335
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd4], 0xfffffff6
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10036317
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x10], eax
jmp 0x10036351
push dword [ebp - 0x10]
lea ecx, [ebp - 0x62c]
call fcn.1001aa1a
mov dword [eax], 0x1220985a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1003633a
mov dword [ebp - 0xd4], 0xffffffe3
jmp 0x100363ba
mov dword [ebp - 0x38], 0xbf390197
mov eax, dword [ebp - 0x38]
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10036390
push 0x433
push eax
push 0x1907
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100363b4
push 0x1d5c
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PolyPolyline]
inc dword [ebp - 0xd4]
cmp dword [ebp - 0xd4], 0xfffffff9
jne 0x10036362
xor eax, eax
lea ecx, [ebp - 0x62c]
push eax
call fcn.1001aa1a
and dword [eax], 0
jmp 0x10036513
mov dword [ebp - 0x10], 0xb143e95a
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], 6
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xf
jle 0x10036505
push 3
lea ecx, [ebp - 0x82c]
call fcn.1001a98c
mov byte [ebp - 4], 0x16
xor eax, eax
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x1003643e
push dword [ebp - 0x24]
lea ecx, [ebp - 0x82c]
call fcn.1001aa1a
mov dword [eax], 0xffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x1003641f
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10036454
push eax
push 0x16a6
push eax
call dword [sym.imp.GDI32.dll_GetBitmapBits]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x82c]
mov esi, dword [ebp - 0x10]
push 2
call fcn.1001aa1a
mov dword [eax], esi
test esi, esi
je 0x100364cd
mov eax, dword [ebp - 0x10]
push 5
pop ecx
add eax, ecx
je 0x10036485
xor eax, eax
cmp dword [ebp - 0xd4], eax
jne 0x10036485
mov edx, eax
jmp 0x1003648a
xor eax, eax
lea edx, [eax + 1]
xor ecx, ecx
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0x30]
cmp edx, eax
setge cl
cmp ecx, 0x7b69
je 0x100364b1
xor eax, eax
lea ecx, [ebp - 0x82c]
inc eax
push eax
call fcn.1001aa1a
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x38], eax
push 2
call fcn.1001aa1a
mov eax, dword [ebp - 0x30]
xor ebx, ebx
mov eax, dword [ebp - 0x38]
inc ebx
mov eax, dword [ebp - 0x10]
xor edx, edx
cmp eax, ebx
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
add ecx, dword [ebp - 0x44]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x82c]
mov byte [ebp - 4], 0x15
call fcn.1001aa15
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xf
jg 0x100363f9
xor eax, eax
push eax
lea ecx, [ebp - 0x62c]
call fcn.1001aa1a
dec dword [eax]
xor eax, eax
lea ecx, [ebp - 0x62c]
push eax
call fcn.1001aa1a
cmp dword [eax], 0xffffffec
jl 0x100363d9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x62c]
call fcn.1001aa15
mov eax, dword [ebp - 0x1448]
lea ecx, [ebp - 0x4a8]
mov dword [ebp - 0x38], eax
push 3
call fcn.1001a98c
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0xb8c]
mov dword [ebp - 0x10], 0xd1e1e87d
push 3
call fcn.1001a98c
lea eax, [ebp - 0x1318]
mov byte [ebp - 4], 0x18
movdqa xmm0, xmmword [0x100094d0]
lea ecx, [ebp - 0x17cc]
push eax
lea eax, [ebp - 0x1328]
push eax
movdqu xmmword [ebp - 0x1328], xmm0
call fcn.1001aa29
lea ecx, [ebp - 0x281]
mov esi, eax
call fcn.1000a693
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1260]
push dword [esi]
call fcn.1001a9eb
xor eax, eax
mov byte [ebp - 4], 0x19
push 3
mov dword [ebp - 0x20], eax
pop esi
cmp dword [ebp - 0x20], esi
jge 0x100365e4
push dword [ebp - 0x20]
lea ecx, [ebp - 0x4a8]
call fcn.1001aa1a
mov dword [eax], 0xfffa
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x100365c6
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x1003660a
push dword [ebp - 0x20]
lea ecx, [ebp - 0xb8c]
call fcn.1001aa1a
mov dword [eax], 4
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x100365ec
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x1003662c
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x11e0], 0xff29c214
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10036613
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x1003664e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1734], 0xf7a0d7c8
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x10036635
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jg 0x10036753
mov dword [ebp - 0x30], ebx
lea ecx, [ebp - 0x4a8]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], 0x3c5a4a10
push dword [ebp - 0x10]
call fcn.1001aa1a
xor ebx, ebx
cmp dword [eax], ebx
jne 0x10036751
push dword [ebp - 0x10]
lea ecx, [ebp - 0x4a8]
call fcn.1001aa1a
cmp dword [eax], ebx
jne 0x100366ca
push dword [ebp - 0x10]
lea ecx, [ebp - 0x4a8]
call fcn.1001aa1a
cmp dword [eax], ebx
jne 0x100366ca
push dword [ebp - 0x10]
lea ecx, [ebp - 0x4a8]
call fcn.1001aa1a
xor ecx, ecx
cmp dword [eax], 0x1ad44
mov eax, 0xe4a6b2c4
setne cl
cmp eax, ecx
lea ecx, [ebp - 0xb8c]
sbb esi, esi
xor eax, eax
inc eax
inc esi
push eax
call fcn.1001aa1a
xor ecx, ecx
cmp esi, 0x38e5
push 3
setle cl
xor edx, edx
mov dword [eax], esi
mov dword [ebp - 0x11e0], esi
mov eax, dword [ebp - 0x30]
cmp ecx, eax
lea ecx, [ebp - 0x1260]
setge dl
imul edx, dword [ebp - 0x1728]
sub edx, 7
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
call fcn.1001aa1a
push 0
mov dword [eax], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
pop eax
push 1
pop ebx
jle 0x1003665b
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1003676d
push eax
push 0x462
push 0x1763
call dword [sym.imp.KERNEL32.dll_GetCPInfoExW]
lea ecx, [ebp - 0x1260]
call fcn.1001aa15
lea ecx, [ebp - 0xb8c]
call fcn.1001aa15
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4a8]
call fcn.1001aa15
mov eax, dword [ebp - 0x50]
inc dword [ebp - 0x50]
cmp eax, 0x198ab79a
jne 0x100367a6
xor eax, eax
lea edx, [eax + 1]
jmp 0x100367aa
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x1564]
xor ecx, ecx
shl eax, 2
cmp edx, eax
setle cl
mov dword [ebp - 0x1448], ecx
jmp 0x10036ed4
mov dword [ebp - 0x24], 0xca4f833f
push 3
mov dword [ebp - 0x24], eax
pop ebx
cmp dword [ebp - 0x24], ebx
jge 0x100367ef
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1830], 0xfffffffa
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x100367d7
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10036801
push eax
call dword [sym.imp.GDI32.dll_CreatePenIndirect]
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x10036820
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1003681d
push 0x23ca
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jle 0x10036806
mov dword [ebp - 0x28], 7
lea ecx, [ebp - 0xf58]
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x28], 0x47dc4b4e
inc eax
mov dword [ebp - 0x28], 0x90a624cd
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0xb3921ded
mov dword [ebp - 0x28], 0x55950707
mov dword [ebp - 0x28], 0xda7fe64f
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0x2733582f
mov dword [ebp - 0x28], 0x58e17c10
push eax
call fcn.1001a98c
mov dword [ebp - 4], 0x1a
xor eax, eax
mov dword [ebp - 0x28], 0x9e07
mov dword [ebp - 0x38], 0x5452fa81
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x24], eax
inc eax
cmp dword [ebp - 0x24], eax
jge 0x100368be
xor edi, edi
inc edi
push dword [ebp - 0x24]
lea ecx, [ebp - 0xf58]
call fcn.1001aa1a
mov dword [eax], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x100368a0
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageW]
dec dword [ebp - 0x38]
lea ecx, [ebp - 0xf58]
mov dword [ebp - 4], esi
call fcn.1001aa15
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x100368f2
push eax
push 0xd2a
push eax
push 0x13a0
push 0x1754
push eax
push 0x26b5
call edi
movdqa xmm0, xmmword [0x10009440]
lea eax, [ebp - 0x1338]
push eax
lea eax, [ebp - 0x1348]
mov dword [ebp - 0x10], 0x66fe7d8a
push eax
lea ecx, [ebp - 0x176c]
movdqu xmmword [ebp - 0x1348], xmm0
call fcn.1001aa29
lea ecx, [ebp - 0x2c2]
mov esi, eax
call fcn.1000a693
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1134]
push dword [esi]
call fcn.1001a9eb
mov dword [ebp - 4], 0x1b
xor ebx, ebx
push 9
mov dword [ebp - 0x38], 0x91f06e85
inc ebx
pop eax
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x1003697f
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xe4], 0xffffffff
xor eax, eax
inc dword [ebp - 0x24]
inc eax
cmp dword [ebp - 0x24], eax
jl 0x10036961
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x10036a42
mov dword [ebp - 0x30], 0xfffffffd
mov eax, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xe4]
xor eax, eax
cmp dword [ebp - 0xe4], eax
je 0x100369ba
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x1134]
mov eax, dword [ebp - 0x10]
push ebx
mov esi, dword [ebp + eax*4 - 0xe4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xe4]
sub esi, eax
call fcn.1001aa1a
xor edx, edx
cmp esi, 0x677b
push 0xfffffffffffffff7
setne dl
sub edx, 0xffff
mov dword [eax], esi
mov eax, dword [ebp - 0x30]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
pop eax
setle cl
sub ecx, 0x4d4e
cmp ecx, eax
jne 0x10036a1d
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10036a1f
xor ebx, ebx
lea ecx, [eax + 1]
inc ebx
jmp 0x10036a21
xor eax, eax
mov ecx, eax
xor eax, eax
cmp ecx, 0xd2a6
setge al
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xe4]
dec dword [ebp - 0x10]
jns 0x1003698b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1134]
call fcn.1001aa15
movdqa xmm0, xmmword [0x10009420]
lea ecx, [ebp - 0x17e4]
xor eax, eax
mov byte [ebp - 0x29], al
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1538]
push eax
lea eax, [ebp - 0x1548]
push eax
movdqu xmmword [ebp - 0x1548], xmm0
call fcn.1001aa29
lea ecx, [ebp - 0x279]
mov esi, eax
call fcn.1000a693
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x224]
push dword [esi]
call fcn.1001a9eb
mov dword [ebp - 4], 0x1c
xor eax, eax
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x10036ad8
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x114], 0xd7f8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x10036abf
xor eax, eax
push 0xfffffffffffffffb
mov dword [ebp - 0x1c], eax
pop edi
jmp 0x10036d85
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x14], 0xb9c2d621
mov dword [ebp - 0x24], 0x5ec62bb2
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x38], 0xf3d9
push 3
call fcn.1001aa1a
mov ecx, dword [ebp - 0x1c]
xor ebx, ebx
mov ecx, dword [ebp + ecx*4 - 0x114]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
lea ecx, [ebp - 0x224]
setne bl
add ebx, ebx
sub ebx, 0x1eca
neg ebx
sbb ebx, ebx
xor esi, esi
inc esi
inc ebx
push esi
call fcn.1001aa1a
xor ecx, ecx
cmp ebx, 0x14af
setge cl
mov dword [eax], ebx
mov eax, dword [ebp - 0x114]
mov edx, dword [ebp - 0x1c]
sub eax, ecx
add edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x114]
cmp eax, edx
setg cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x114]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x114]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp + eax*4 - 0x114]
mov eax, dword [ebp - 0x20]
cmp eax, 0x2f1e
setg cl
imul edx, ecx
test edx, edx
je 0x10036d45
mov dword [ebp - 0x10], 0x8110cbbb
xor edx, edx
mov dword [ebp - 0x38], 0xd707
push 2
pop ebx
mov dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x114]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
cmp ecx, 0x68d9
setle dl
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
cmp edx, dword [ebp + eax*4 - 0x114]
jl 0x10036c09
mov eax, dword [ebp - 0x34]
push 3
lea ecx, [ebp - 0x224]
call fcn.1001aa1a
push 3
lea ecx, [ebp - 0x224]
call fcn.1001aa1a
xor edx, edx
cmp dword [eax], edx
mov eax, dword [ebp - 0x10]
sete dl
xor ecx, ecx
cmp ecx, eax
sbb ecx, ecx
xor eax, eax
inc ecx
neg edx
cmp ecx, edx
setne al
mov dword [ebp - 0x38], eax
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x10036c4c
cmp dword [ebp - 0x24], eax
je 0x10036c4e
mov eax, esi
imul eax, eax, 0xcced
test eax, eax
je 0x10036c63
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
jmp 0x10036d79
xor eax, eax
mov dword [ebp - 0x30], 0x937b
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jg 0x10036d79
jmp 0x10036c7d
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x10], eax
je 0x10036c8f
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x114]
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x224]
add eax, ebx
push eax
call fcn.1001aa1a
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x224]
mov eax, dword [ebp - 0x1c]
add eax, ebx
push eax
call fcn.1001aa1a
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x224]
add eax, ebx
push eax
call fcn.1001aa1a
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x224]
push dword [ebp - 0x1c]
call fcn.1001aa1a
mov ecx, dword [ebp - 0x34]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x224]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x10]
push dword [ebp - 0x1c]
call fcn.1001aa1a
xor eax, eax
lea ecx, [ebp - 0x224]
push eax
call fcn.1001aa1a
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x44]
cmp ecx, eax
setg dl
xor ecx, ecx
cmp edx, esi
setle cl
sub ecx, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
test ecx, ecx
setg al
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jle 0x10036c7b
jmp 0x10036d79
push 9
pop eax
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x28], 0x4d88f402
push 8
pop eax
mov dword [ebp - 0x28], 0xdc534f93
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x28], eax
xor eax, eax
dec dword [ebp - 0x38]
push eax
call fcn.1001aa1a
mov dword [eax], 0x2fba83e1
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x1c]
xor eax, eax
lea ecx, [ebp - 0x224]
inc eax
cmp dword [ebp - 0x1c], eax
jle 0x10036ae3
or dword [ebp - 4], 0xffffffff
call fcn.1001aa15
cmp byte [ebp - 0x29], 0
je 0x10036ed4
xor ebx, ebx
mov dword [ebp - 0x10], 6
inc ebx
xor eax, eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x38], eax
push 8
mov dword [ebp - 0x10], 2
pop eax
cmp dword [ebp - 0x10], eax
jle 0x10036e9e
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0xdc0]
mov dword [ebp - 0x14], eax
push 2
call fcn.1001a98c
xor eax, eax
mov dword [ebp - 4], 0x1d
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x10036e12
push dword [ebp - 0x24]
lea ecx, [ebp - 0xdc0]
call fcn.1001aa1a
mov dword [eax], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x10036df7
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10036e39
mov ecx, dword [ebp - 0x10]
add ecx, 0x7540
imul ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
add eax, 0xfffb
add eax, ecx
je 0x10036e37
xor eax, eax
inc eax
mov ebx, eax
jmp 0x10036e3e
xor eax, eax
mov ebx, eax
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0xdc0]
call fcn.1001aa1a
mov esi, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov edi, eax
add ecx, ebx
add esi, ecx
mov ecx, dword [ebp - 0x38]
cmp esi, ecx
mov ecx, dword [ebp - 0x14]
setle dl
xor eax, eax
cmp edx, ecx
lea ecx, [ebp - 0xdc0]
setg al
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
inc ebx
cmp ebx, eax
sbb eax, eax
or dword [ebp - 4], 0xffffffff
neg eax
mov dword [edi], eax
call fcn.1001aa15
inc dword [ebp - 0x10]
push 8
pop eax
cmp dword [ebp - 0x10], eax
jg 0x10036dcf
push 0xfffffffffffffffb
pop edi
mov eax, dword [ebp - 0x10]
xor ecx, ecx
test eax, eax
setg cl
xor eax, eax
cmp ecx, 0x69a3e2b
jge 0x10036eb9
cmp dword [ebp - 0x10], eax
je 0x10036eb9
mov eax, ebx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
xor eax, eax
push eax
push 0xe06
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x1c], eax
inc ebx
mov dword [ebp - 0x1c], 0x18
cmp dword [ebp - 0x1c], 0xffffffeb
jg 0x100370cc
push 2
lea ecx, [ebp - 0x514]
call fcn.1001a98c
xor eax, eax
mov dword [ebp - 4], 0x1e
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10036f27
push dword [ebp - 0x10]
lea ecx, [ebp - 0x514]
call fcn.1001aa1a
mov dword [eax], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10036f0c
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x10036f49
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x8f4], 0x137b1891
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10036f30
xor eax, eax
mov dword [ebp - 0x8ec], eax
jmp 0x1003709f
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jg 0x10037099
mov dword [ebp - 0x3c], 0xffffffff
lea ecx, [ebp - 0x7c4]
push 3
call fcn.1001a98c
xor eax, eax
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x10036fac
push dword [ebp - 0x24]
lea ecx, [ebp - 0x7c4]
call fcn.1001aa1a
mov dword [eax], 0x80997408
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x10036f8d
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x10036fe9
push dword [ebp - 0x10]
lea ecx, [ebp - 0x514]
call fcn.1001aa1a
push dword [ebp - 0x10]
lea ecx, [ebp - 0x514]
mov esi, eax
call fcn.1001aa1a
mov ecx, dword [esi]
push dword [ebp - 0x10]
mov dword [eax], ecx
lea ecx, [ebp - 0x514]
call fcn.1001aa1a
cmp dword [eax], 0
jne 0x10036ff1
inc dword [ebp - 0x3c]
xor eax, eax
inc eax
cmp dword [ebp - 0x3c], eax
jle 0x10036fb1
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x7c4]
xor esi, esi
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
inc esi
push esi
call fcn.1001aa1a
mov eax, dword [ebp - 0x8ec]
lea ecx, [ebp - 0x514]
xor eax, eax
push eax
call fcn.1001aa1a
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x10]
jl 0x10037064
push 2
lea ecx, [ebp - 0x7c4]
call fcn.1001aa1a
xor ebx, ebx
cmp dword [eax], ebx
jne 0x10037064
push esi
lea ecx, [ebp - 0x7c4]
call fcn.1001aa1a
cmp dword [eax], ebx
jne 0x10037064
push esi
lea ecx, [ebp - 0x514]
call fcn.1001aa1a
cmp dword [eax], ebx
jne 0x10037064
xor eax, eax
mov edx, eax
jmp 0x10037069
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x7c4]
mov byte [ebp - 4], 0x1e
call fcn.1001aa15
inc dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jle 0x10036f6a
xor ebx, ebx
xor eax, eax
inc ebx
inc dword [ebp - 0x8ec]
cmp dword [ebp - 0x8ec], ebx
jle 0x10036f54
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x514]
cmp dword [ebp - 0x1c], eax
call fcn.1001aa15
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffeb
jle 0x10036eed
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 0x18
cmp dword [ebp - 0x1c], 0xffffffeb
jg 0x100372bf
push 2
lea ecx, [ebp - 0x528]
call fcn.1001a98c
xor eax, eax
mov dword [ebp - 4], 0x20
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1003711a
push dword [ebp - 0x10]
lea ecx, [ebp - 0x528]
call fcn.1001aa1a
mov dword [eax], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100370ff
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1003713c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x8d4], 0x137b1891
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10037123
xor eax, eax
mov dword [ebp - 0x8cc], eax
jmp 0x10037292
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jg 0x1003728c
mov dword [ebp - 0x3c], 0xffffffff
lea ecx, [ebp - 0x870]
push 3
call fcn.1001a98c
xor eax, eax
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x1003719f
push dword [ebp - 0x24]
lea ecx, [ebp - 0x870]
call fcn.1001aa1a
mov dword [eax], 0x80997408
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x10037180
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x100371dc
push dword [ebp - 0x10]
lea ecx, [ebp - 0x528]
call fcn.1001aa1a
push dword [ebp - 0x10]
lea ecx, [ebp - 0x528]
mov esi, eax
call fcn.1001aa1a
mov ecx, dword [esi]
push dword [ebp - 0x10]
mov dword [eax], ecx
lea ecx, [ebp - 0x528]
call fcn.1001aa1a
cmp dword [eax], 0
jne 0x100371e4
inc dword [ebp - 0x3c]
xor eax, eax
inc eax
cmp dword [ebp - 0x3c], eax
jle 0x100371a4
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x870]
xor esi, esi
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
inc esi
push esi
call fcn.1001aa1a
mov eax, dword [ebp - 0x8cc]
lea ecx, [ebp - 0x528]
xor eax, eax
push eax
call fcn.1001aa1a
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x10]
jl 0x10037257
push 2
lea ecx, [ebp - 0x870]
call fcn.1001aa1a
xor ebx, ebx
cmp dword [eax], ebx
jne 0x10037257
push esi
lea ecx, [ebp - 0x870]
call fcn.1001aa1a
cmp dword [eax], ebx
jne 0x10037257
push esi
lea ecx, [ebp - 0x528]
call fcn.1001aa1a
cmp dword [eax], ebx
jne 0x10037257
xor eax, eax
mov edx, eax
jmp 0x1003725c
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x870]
mov byte [ebp - 4], 0x20
call fcn.1001aa15
inc dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jle 0x1003715d
xor ebx, ebx
xor eax, eax
inc ebx
inc dword [ebp - 0x8cc]
cmp dword [ebp - 0x8cc], ebx
jle 0x10037147
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x528]
cmp dword [ebp - 0x1c], eax
call fcn.1001aa15
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffeb
jle 0x100370e0
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], 0xfffffff2
cmp dword [ebp - 0x24], 0x1a
jg 0x100373be
push ebx
lea ecx, [ebp - 0xf70]
call fcn.1001a98c
push ebx
lea ecx, [ebp - 0x68c]
mov dword [ebp - 4], 0x22
call fcn.1001a98c
xor eax, eax
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10037324
push dword [ebp - 0x10]
lea ecx, [ebp - 0xf70]
call fcn.1001aa1a
mov dword [eax], 0x683c8fc5
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10037300
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10037350
push dword [ebp - 0x10]
lea ecx, [ebp - 0x68c]
call fcn.1001aa1a
mov dword [eax], 0xee7d214c
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x1003732c
xor ebx, ebx
xor eax, eax
inc ebx
push eax
lea ecx, [ebp - 0x68c]
call fcn.1001aa1a
and dword [eax], 0
jmp 0x10037382
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10037374
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
xor eax, eax
push eax
lea ecx, [ebp - 0x68c]
call fcn.1001aa1a
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x68c]
push eax
call fcn.1001aa1a
cmp dword [eax], 0
jle 0x10037361
lea ecx, [ebp - 0x68c]
call fcn.1001aa15
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf70]
call fcn.1001aa15
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x1a
jle 0x100372d3
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100373d2
push eax
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_SysFreeString]
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 0x18
jmp 0x100375b2
lea ecx, [ebp - 0x4cc]
call fcn.1001a98c
xor eax, eax
mov dword [ebp - 4], 0x24
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10037419
push dword [ebp - 0x10]
lea ecx, [ebp - 0x4cc]
call fcn.1001aa1a
mov dword [eax], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100373fe
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1003743b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x8b4], 0x137b1891
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10037422
xor eax, eax
mov dword [ebp - 0x8ac], eax
jmp 0x10037591
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jg 0x1003758b
mov dword [ebp - 0x3c], 0xffffffff
lea ecx, [ebp - 0x7dc]
push 3
call fcn.1001a98c
xor eax, eax
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x1003749e
push dword [ebp - 0x24]
lea ecx, [ebp - 0x7dc]
call fcn.1001aa1a
mov dword [eax], 0x80997408
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x1003747f
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x100374db
push dword [ebp - 0x10]
lea ecx, [ebp - 0x4cc]
call fcn.1001aa1a
push dword [ebp - 0x10]
lea ecx, [ebp - 0x4cc]
mov esi, eax
call fcn.1001aa1a
mov ecx, dword [esi]
push dword [ebp - 0x10]
mov dword [eax], ecx
lea ecx, [ebp - 0x4cc]
call fcn.1001aa1a
cmp dword [eax], 0
jne 0x100374e3
inc dword [ebp - 0x3c]
xor eax, eax
inc eax
cmp dword [ebp - 0x3c], eax
jle 0x100374a3
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x7dc]
xor esi, esi
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
inc esi
push esi
call fcn.1001aa1a
mov eax, dword [ebp - 0x8ac]
lea ecx, [ebp - 0x4cc]
xor eax, eax
push eax
call fcn.1001aa1a
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x10]
jl 0x10037556
push 2
lea ecx, [ebp - 0x7dc]
call fcn.1001aa1a
xor ebx, ebx
cmp dword [eax], ebx
jne 0x10037556
push esi
lea ecx, [ebp - 0x7dc]
call fcn.1001aa1a
cmp dword [eax], ebx
jne 0x10037556
push esi
lea ecx, [ebp - 0x4cc]
call fcn.1001aa1a
cmp dword [eax], ebx
jne 0x10037556
xor eax, eax
mov edx, eax
jmp 0x1003755b
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x7dc]
mov byte [ebp - 4], 0x24
call fcn.1001aa15
inc dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jle 0x1003745c
xor ebx, ebx
xor eax, eax
inc ebx
inc dword [ebp - 0x8ac]
cmp dword [ebp - 0x8ac], ebx
jle 0x10037446
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4cc]
cmp dword [ebp - 0x1c], eax
call fcn.1001aa15
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffeb
push 2
jle 0x100373e1
lea ecx, [ebp - 0x1bc]
call fcn.1001a98c
mov dword [ebp - 4], 0x26
xor eax, eax
mov dword [ebp - 0x1c], 0x8e5ccc90
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x10037604
push dword [ebp - 0x24]
lea ecx, [ebp - 0x1bc]
call fcn.1001aa1a
mov dword [eax], 0xdf75dcec
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x100375e5
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jg 0x1003770d
jmp 0x10037614
xor eax, eax
mov dword [ebp - 0x38], 0xed4bca92
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x38], eax
push dword [ebp - 0x1c]
call fcn.1001aa1a
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
call fcn.1001aa1a
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
xor eax, eax
push eax
call fcn.1001aa1a
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
call fcn.1001aa1a
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
call fcn.1001aa1a
push ebx
lea ecx, [ebp - 0x1bc]
call fcn.1001aa1a
lea ecx, [ebp - 0x1bc]
mov eax, dword [eax]
shl eax, 3
mov dword [ebp - 0x30], eax
push dword [ebp - 0x1c]
call fcn.1001aa1a
mov ecx, dword [ebp - 0x30]
imul ecx, dword [ebp - 0x1c]
cmp ecx, 0xcfcb8f1f
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x1bc]
setl dl
xor eax, eax
mov dword [ebp - 0x38], edx
push eax
call fcn.1001aa1a
mov ecx, dword [ebp - 0x38]
imul ecx, dword [eax]
test ecx, ecx
je 0x100376be
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
push ebx
call fcn.1001aa1a
push ebx
lea ecx, [ebp - 0x1bc]
mov esi, eax
call fcn.1001aa1a
mov ecx, dword [esi]
xor ebx, ebx
push dword [ebp - 0x1c]
cmp ecx, dword [eax]
lea ecx, [ebp - 0x1bc]
setle bl
call fcn.1001aa1a
xor ecx, ecx
cmp ebx, dword [eax]
sete cl
xor eax, eax
mov dword [ebp - 0x38], ecx
inc eax
inc dword [ebp - 0x1c]
push eax
pop ebx
cmp dword [ebp - 0x1c], eax
jle 0x10037612
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1bc]
call fcn.1001aa15
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x10037740
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe9c], 0xfffffffc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10037727
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10037762
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x500], 2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10037749
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1003777b
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
xor eax, eax
cmp dword [ebp - 0xe94], eax
je 0x1003779c
mov eax, dword [ebp - 0x4fc]
mov eax, dword [ebp - 0x4f8]
xor eax, eax
inc eax
cmp dword [ebp - 0x4f8], eax
jge 0x1003779c
xor eax, eax
xor ecx, ecx
cmp eax, 0xda0
mov eax, dword [ebp - 0x4f8]
sete cl
add eax, ecx
cmp eax, dword [ebp - 0x4f8]
jle 0x100377bc
mov eax, dword [ebp - 0x4f8]
mov eax, dword [ebp - 0xe98]
xor ebx, ebx
inc ebx
xor edx, edx
mov ecx, ebx
sub ecx, eax
mov eax, dword [ebp - 0x4f8]
sub ecx, eax
mov eax, dword [ebp - 0x4fc]
cmp ecx, eax
mov eax, dword [ebp - 0xe98]
sete dl
xor ecx, ecx
cmp eax, edx
setge cl
xor eax, eax
mov dword [ebp - 0xe9c], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], 0xfffffff2
cmp dword [ebp - 0x24], 0x1a
jg 0x100378f2
push ebx
lea ecx, [ebp - 0x11d8]
call fcn.1001a98c
push ebx
lea ecx, [ebp - 0x644]
mov dword [ebp - 4], 0x27
call fcn.1001a98c
xor eax, eax
mov byte [ebp - 4], 0x28
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10037858
push dword [ebp - 0x10]
lea ecx, [ebp - 0x11d8]
call fcn.1001aa1a
mov dword [eax], 0x683c8fc5
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10037834
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10037884
push dword [ebp - 0x10]
lea ecx, [ebp - 0x644]
call fcn.1001aa1a
mov dword [eax], 0xee7d214c
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10037860
xor ebx, ebx
xor eax, eax
inc ebx
push eax
lea ecx, [ebp - 0x644]
call fcn.1001aa1a
and dword [eax], 0
jmp 0x100378b6
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x100378a8
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
xor eax, eax
push eax
lea ecx, [ebp - 0x644]
call fcn.1001aa1a
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x644]
push eax
call fcn.1001aa1a
cmp dword [eax], 0
jle 0x10037895
lea ecx, [ebp - 0x644]
call fcn.1001aa15
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x11d8]
call fcn.1001aa15
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x1a
jle 0x10037807
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10037904
push eax
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_SysFreeString]
push ebx
lea ecx, [ebp - 0x98]
call fcn.1001a98c
mov dword [ebp - 4], 0x29
xor eax, eax
mov dword [ebp - 0x20], 0xc4d8e5cc
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x1003794c
push dword [ebp - 0x24]
lea ecx, [ebp - 0x98]
call fcn.1001aa1a
mov dword [eax], 0xd3df75dc
xor eax, eax
inc dword [ebp - 0x24]
inc eax
cmp dword [ebp - 0x24], eax
jl 0x10037928
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
jl 0x10037b33
mov dword [ebp - 0x34], 6
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x38], ebx
push dword [ebp - 0x20]
call fcn.1001aa1a
xor eax, eax
lea ecx, [ebp - 0x98]
push eax
call fcn.1001aa1a
cmp dword [eax], 0
jne 0x10037a0c
xor eax, eax
lea ecx, [ebp - 0x98]
push eax
call fcn.1001aa1a
push dword [ebp - 0x20]
lea ecx, [ebp - 0x98]
call fcn.1001aa1a
push dword [ebp - 0x20]
lea ecx, [ebp - 0x98]
call fcn.1001aa1a
push dword [ebp - 0x20]
lea ecx, [ebp - 0x98]
mov esi, dword [eax]
add esi, 0x4f6b903c
call fcn.1001aa1a
cmp esi, dword [eax]
jl 0x100379e4
push dword [ebp - 0x20]
lea ecx, [ebp - 0x98]
call fcn.1001aa1a
cmp dword [eax], 0
jne 0x100379e4
xor eax, eax
mov esi, eax
jmp 0x100379e9
xor eax, eax
lea esi, [eax + 1]
push dword [ebp - 0x20]
lea ecx, [ebp - 0x98]
call fcn.1001aa1a
mov eax, dword [eax]
imul eax, esi
test eax, eax
jne 0x10037a0c
push eax
lea ecx, [ebp - 0x98]
call fcn.1001aa1a
xor eax, eax
lea ecx, [ebp - 0x98]
push eax
call fcn.1001aa1a
push dword [ebp - 0x20]
lea ecx, [ebp - 0x98]
call fcn.1001aa1a
xor eax, eax
lea ecx, [ebp - 0x98]
push eax
call fcn.1001aa1a
push dword [ebp - 0x20]
lea ecx, [ebp - 0x98]
call fcn.1001aa1a
xor ecx, ecx
cmp dword [eax], ecx
setne cl
xor eax, eax
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x98]
push eax
call fcn.1001aa1a
mov ecx, dword [ebp - 0x38]
xor ebx, ebx
push dword [ebp - 0x20]
cmp ecx, dword [eax]
lea ecx, [ebp - 0x98]
setle bl
call fcn.1001aa1a
cmp ebx, dword [eax]
jl 0x10037a7b
mov eax, dword [ebp - 0x20]
push dword [ebp - 0x20]
lea ecx, [ebp - 0x98]
call fcn.1001aa1a
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x98]
push dword [ebp - 0x20]
call fcn.1001aa1a
push dword [ebp - 0x20]
lea ecx, [ebp - 0x98]
call fcn.1001aa1a
mov ecx, dword [ebp - 0x34]
xor edx, edx
cmp dword [eax], ecx
setl dl
neg edx
jne 0x10037acf
push dword [ebp - 0x20]
lea ecx, [ebp - 0x98]
call fcn.1001aa1a
cmp dword [eax], 0
jne 0x10037acf
xor eax, eax
mov edi, eax
jmp 0x10037ad4
xor eax, eax
lea edi, [eax + 1]
push dword [ebp - 0x20]
lea ecx, [ebp - 0x98]
call fcn.1001aa1a
lea ecx, [ebp - 0x98]
mov esi, dword [eax]
xor eax, eax
push eax
add esi, edi
call fcn.1001aa1a
push dword [ebp - 0x20]
xor ebx, ebx
lea ecx, [ebp - 0x98]
cmp esi, dword [eax]
setle bl
call fcn.1001aa1a
xor ecx, ecx
push 9
cmp ebx, dword [eax]
sete cl
xor eax, eax
cmp ecx, 0xffff
pop ecx
setne al
cmp ecx, eax
push 1
sbb eax, eax
neg eax
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x20]
pop ebx
jns 0x10037958
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x98]
call fcn.1001aa15
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], 0xfffffff2
cmp dword [ebp - 0x24], 0x1a
jg 0x10037c46
xor ebx, ebx
inc ebx
push ebx
lea ecx, [ebp - 0xf88]
call fcn.1001a98c
push ebx
lea ecx, [ebp - 0x674]
mov dword [ebp - 4], 0x2a
call fcn.1001a98c
xor eax, eax
mov byte [ebp - 4], 0x2b
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10037bac
push dword [ebp - 0x10]
lea ecx, [ebp - 0xf88]
call fcn.1001aa1a
mov dword [eax], 0x683c8fc5
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10037b88
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10037bd8
push dword [ebp - 0x10]
lea ecx, [ebp - 0x674]
call fcn.1001aa1a
mov dword [eax], 0xee7d214c
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10037bb4
xor ebx, ebx
xor eax, eax
inc ebx
push eax
lea ecx, [ebp - 0x674]
call fcn.1001aa1a
and dword [eax], 0
jmp 0x10037c0a
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10037bfc
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
xor eax, eax
push eax
lea ecx, [ebp - 0x674]
call fcn.1001aa1a
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x674]
push eax
call fcn.1001aa1a
cmp dword [eax], 0
jle 0x10037be9
lea ecx, [ebp - 0x674]
call fcn.1001aa15
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf88]
call fcn.1001aa15
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x1a
jle 0x10037b5b
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10037c5a
push eax
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_SysFreeString]
xor eax, eax
mov dword [ebp - 0x28], 4
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10037c72
call dword [sym.imp.USER32.dll_GetCaretBlinkTime]
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10037c8e
push 0x1441
push eax
push eax
push 0x12ac
push eax
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
push 2
pop esi
push esi
lea ecx, [ebp - 0x1ec]
call fcn.1001a98c
mov dword [ebp - 4], 0x2c
xor edi, edi
mov dword [ebp - 0x1c], 0x8e5ccc90
inc edi
xor eax, eax
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x10037cd9
push dword [ebp - 0x24]
lea ecx, [ebp - 0x1ec]
call fcn.1001aa1a
mov dword [eax], 0xdf75dcec
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10037cbb
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jg 0x10037de8
jmp 0x10037ce9
xor eax, eax
mov dword [ebp - 0x38], 0xed4bca92
lea ecx, [ebp - 0x1ec]
mov dword [ebp - 0x38], eax
push dword [ebp - 0x1c]
call fcn.1001aa1a
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1ec]
call fcn.1001aa1a
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1ec]
xor eax, eax
push eax
call fcn.1001aa1a
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1ec]
call fcn.1001aa1a
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1ec]
call fcn.1001aa1a
push edi
lea ecx, [ebp - 0x1ec]
call fcn.1001aa1a
lea ecx, [ebp - 0x1ec]
mov eax, dword [eax]
shl eax, 3
mov dword [ebp - 0x30], eax
push dword [ebp - 0x1c]
call fcn.1001aa1a
mov ecx, dword [ebp - 0x30]
imul ecx, dword [ebp - 0x1c]
cmp ecx, 0xcfcb8f1f
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x1ec]
setl dl
xor eax, eax
mov dword [ebp - 0x38], edx
push eax
call fcn.1001aa1a
mov ecx, dword [ebp - 0x38]
imul ecx, dword [eax]
test ecx, ecx
je 0x10037d93
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1ec]
push edi
call fcn.1001aa1a
push edi
lea ecx, [ebp - 0x1ec]
mov esi, eax
call fcn.1001aa1a
mov ecx, dword [esi]
xor ebx, ebx
push dword [ebp - 0x1c]
cmp ecx, dword [eax]
lea ecx, [ebp - 0x1ec]
setle bl
call fcn.1001aa1a
xor ecx, ecx
cmp ebx, dword [eax]
sete cl
xor eax, eax
mov dword [ebp - 0x38], ecx
inc eax
inc dword [ebp - 0x1c]
push eax
pop edi
cmp dword [ebp - 0x1c], eax
jle 0x10037ce7
xor edi, edi
push 2
inc edi
pop esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1ec]
call fcn.1001aa15
push 9
pop eax
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x114c]
mov dword [ebp - 0x38], 0x8f8256a
mov dword [ebp - 0x38], 6
push esi
call fcn.1001a98c
push esi
lea ecx, [ebp - 0xba4]
mov dword [ebp - 4], 0x2d
call fcn.1001a98c
xor eax, eax
mov byte [ebp - 4], 0x2e
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10037e56
push dword [ebp - 0x10]
lea ecx, [ebp - 0x114c]
call fcn.1001aa1a
mov dword [eax], 0xe2bbef7d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10037e38
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10037e6f
push dword [ebp - 0x10]
lea ecx, [ebp - 0xba4]
call fcn.1001aa1a
and dword [eax], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10037e5b
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp eax, edi
push edi
setle cl
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xba4]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
call fcn.1001aa1a
lea ecx, [ebp - 0xba4]
dec dword [eax]
call fcn.1001aa15
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x114c]
call fcn.1001aa15
push 0x19
mov dword [ebp - 0x10], 0x324ec2e0
pop ebx
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x10037ed8
mov dword [ebp - 0x34], 0x1acc
mov dword [ebp - 0x30], edi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jge 0x10037ec5
mov dword [ebp - 0x10], 0x1d
jmp 0x10037f3b
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x40], 0xffffffff
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setle dl
xor ecx, ecx
cmp eax, 0x2bd42ca8
setl cl
xor eax, eax
add ecx, dword [ebp - 0x30]
cmp ecx, edx
setg al
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], 0xffffffe8
cmp dword [ebp - 0x40], ebx
jl 0x10037f38
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x10037f38
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ebx
jge 0x10037f2b
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jg 0x10037ee7
xor eax, eax
mov dword [ebp - 0x24], 0xac204e2d
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10037f60
push eax
push 0x2641
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayLock]
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x10037f87