Function at 0x10037241
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
Check os version
Create directory
Create process on windows
Delete directory
Enumerate gui resources
Get common file path
Get disk information
Get file attributes
Get thread local storage value
Log keystrokes
Parse pe header
Query environment variable
Query or enumerate registry key
Resume thread
Set environment variable
Set thread local storage value
Start service
Suspend thread
Terminate process

Disassembly:
mov eax, 0x100910a2
call fcn.1008f8d4
mov eax, 0x16cc
call fcn.100789f0
push ebx
push esi
push edi
push 2
xor ebx, ebx
mov dword [ebp - 0xdc], ecx
inc ebx
mov dword [ebp - 0x30], 0x15256ee9
pop esi
mov dword [ebp - 0x24], ebx
lea ecx, [ebp - 0x5d4]
mov dword [ebp - 0x44], ebx
push esi
mov byte [ebp - 0xa5], dl
mov dword [ebp - 0x60], ebx
call fcn.1001b24b
xor eax, eax
lea ecx, [ebp - 0x940]
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], 0xc7fffaa2
mov dword [ebp - 0x3c], 0xf0e77da1
push 3
mov dword [ebp - 0x38], 0x67606e82
pop edi
mov dword [ebp - 0x50], 0x503b5b0d
mov dword [ebp - 0x3c], 0xfffffffd
mov dword [ebp - 0x4c], 7
push edi
call fcn.1001b24b
mov byte [ebp - 4], bl
xor eax, eax
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100372ec
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9c], 0x37c0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100372d4
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1003730f
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x5d4]
call fcn.1001b2e9
or dword [eax], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100372f4
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10037335
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x940]
call fcn.1001b2e9
mov dword [eax], 0x422f8dc7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10037317
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10037355
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x6d8], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1003733d
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1003736b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1424], 0xffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1003735a
mov ecx, dword [ebp - 0x9c]
xor edx, edx
mov eax, dword [ebp - 0x9c]
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 0x934f
setl al
cmp dword [ebp - 0x9c], eax
jl 0x100373ac
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x9c]
xor ecx, ecx
add eax, 0x9102
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x30]
imul edx, eax
mov eax, dword [ebp - 0x9c]
push ebx
cmp edx, eax
setl cl
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x5d4]
mov esi, dword [ebp - 0x44]
call fcn.1001b2e9
mov edi, dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [eax], esi
xor eax, eax
test esi, esi
sete al
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10037444
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], al
je 0x10037420
push 0x2396
push 0xbcd
push 0x20c
push 0x3f1
push eax
call edi
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x5d4]
push ebx
call fcn.1001b2e9
mov ecx, dword [ebp - 0x9c]
xor edx, edx
cmp dword [eax], ecx
setle dl
mov dword [ebp - 0x14], edx
jmp 0x10037544
mov dword [ebp - 0x34], 0xdb756fd8
mov dword [ebp - 0x14], 0xac155ea0
mov dword [ebp - 0x20], 0x92ce4ca0
mov dword [ebp - 0x14], 0x4e821fd1
mov dword [ebp - 0x14], eax
jmp 0x10037476
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xccc], 0xdcd6a9b0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10037465
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x50], eax
je 0x10037496
cmp dword [ebp - 0x9c], eax
je 0x10037496
mov eax, ebx
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x5d4]
push ebx
call fcn.1001b2e9
imul ecx, dword [ebp - 0x14], 6
xor edx, edx
add ecx, dword [ebp - 0x20]
cmp ecx, dword [eax]
setne dl
cmp edx, 0xffffffff
ja 0x100374bb
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], 0xba24
mov eax, dword [ebp - 0x20]
add eax, 6
cmp eax, dword [ebp - 0xcc4]
jne 0x100374db
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x100374dd
mov edx, ebx
jmp 0x100374df
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x940]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xcc4]
mov eax, dword [ebp - 0xcc8]
xor eax, eax
push eax
call fcn.1001b2e9
xor ecx, ecx
cmp dword [eax], ecx
je 0x10037512
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x940]
push ebx
call fcn.1001b2e9
mov eax, dword [ebp - 0x9c]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
dec dword [ebp - 0x6d8]
mov eax, dword [ebp - 0x6d8]
cmp eax, 0xfffffff7
setne cl
mov dword [ebp - 0xccc], ecx
xor eax, eax
push 5
mov dword [ebp - 0x24], eax
pop ecx
jmp 0x10037591
mov dword [ebp - 0x34], 0x5445d8d6
mov eax, dword [ebp - 0x1420]
cmp eax, dword [ebp - 0x38]
jne 0x10037566
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x50]
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x10037578
cmp dword [ebp - 0x54], eax
je 0x1003757a
mov eax, ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x10037589
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x1003758b
mov eax, ebx
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xa
je 0x1003754e
lea ecx, [ebp - 0x940]
call fcn.1001b2cd
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5d4]
call fcn.1001b2cd
mov dword [ebp - 0x30], 0x75c9
lea ecx, [ebp - 0xa28]
push ebx
call fcn.1001b24b
xor eax, eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100375f3
push dword [ebp - 0x14]
lea ecx, [ebp - 0xa28]
call fcn.1001b2e9
mov dword [eax], 0xe87df2f4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100375d5
xor eax, eax
push eax
lea ecx, [ebp - 0xa28]
call fcn.1001b2e9
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov dword [ebp - 0x30], 0xfffffffd
cmp dword [ebp - 0x30], 0xffffffe6
jge 0x10037634
xor ebx, ebx
mov byte [ebp - 0x3d], bl
cmp byte [ebp - 0x3d], bl
je 0x10037628
push 0xf7e
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffe6
jl 0x10037613
mov ebx, dword [ebp - 0x60]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa28]
call fcn.1001b2cd
movdqa xmm0, xmmword [0x10009220]
lea eax, [ebp - 0x12c0]
push eax
lea eax, [ebp - 0x12d0]
push eax
lea ecx, [ebp - 0x14ec]
movdqu xmmword [ebp - 0x12d0], xmm0
call fcn.1001b2f8
lea ecx, [ebp - 0x1d5]
mov esi, eax
call fcn.1000a403
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x164]
push dword [esi]
call fcn.1001b2a7
push 3
pop eax
push 2
pop esi
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x164]
push esi
mov dword [ebp - 0x44], 0xfffffff9
call fcn.1001b2e9
xor ecx, ecx
mov dword [eax], ecx
jmp 0x100377fd
mov dword [ebp - 0x10], 0x4074dd03
xor eax, eax
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xfffffffe
jge 0x100377ef
mov dword [ebp - 0x2c], 0x27fa
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x14], 0x1fa4
mov eax, dword [ebp - 0x2c]
push esi
call fcn.1001b2e9
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x164]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
push esi
call fcn.1001b2e9
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x164]
mov eax, dword [ebp - 0x10]
push esi
call fcn.1001b2e9
push esi
lea ecx, [ebp - 0x164]
call fcn.1001b2e9
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
test eax, eax
setle cl
sub ecx, dword [ebp - 0x2c]
jne 0x10037743
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x2c], eax
je 0x10037745
mov edx, ebx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
push esi
setg cl
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x164]
call fcn.1001b2e9
xor ecx, ecx
cmp dword [eax], ecx
jne 0x100377ba
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x1003778c
push esi
lea ecx, [ebp - 0x164]
call fcn.1001b2e9
xor ecx, ecx
cmp dword [eax], ecx
jne 0x10037780
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
push 3
pop eax
push eax
lea ecx, [ebp - 0x164]
call fcn.1001b2e9
mov ecx, dword [ebp - 0x44]
xor edx, edx
test ecx, ecx
setle dl
xor ecx, ecx
cmp edx, dword [eax]
mov eax, dword [ebp - 0x10]
setl cl
imul eax, ecx
test eax, eax
jne 0x100377ba
mov esi, eax
jmp 0x100377bc
mov esi, ebx
push 3
pop eax
push eax
lea ecx, [ebp - 0x164]
call fcn.1001b2e9
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp esi, ecx
push 2
sete dl
xor ecx, ecx
cmp edx, dword [eax]
pop esi
setne cl
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffe
jl 0x100376cc
push esi
lea ecx, [ebp - 0x164]
call fcn.1001b2e9
inc dword [eax]
push esi
lea ecx, [ebp - 0x164]
call fcn.1001b2e9
cmp dword [eax], 0x15
jge 0x100376af
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x164]
call fcn.1001b2cd
mov dword [ebp - 0x30], 0x15256ee9
lea ecx, [ebp - 0x7ac]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x44], ebx
push esi
call fcn.1001b24b
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x958]
mov dword [ebp - 0x14], 0xc7fffaa2
mov dword [ebp - 0x3c], 0xf0e77da1
push 3
mov dword [ebp - 0x38], 0x67606e82
pop eax
mov dword [ebp - 0x50], 0x503b5b0d
mov dword [ebp - 0x3c], 0xfffffffd
mov dword [ebp - 0x4c], 7
push eax
call fcn.1001b24b
push 5
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100378a5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x94], 0x37c0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003788d
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x100378c8
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x7ac]
call fcn.1001b2e9
or dword [eax], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100378ad
xor eax, eax
push 3
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x100378f6
push ecx
pop ebx
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x958]
call fcn.1001b2e9
mov dword [eax], 0x422f8dc7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100378d5
mov ebx, dword [ebp - 0x60]
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10037916
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x638], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100378fe
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1003792c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x143c], 0xffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1003791b
mov ecx, dword [ebp - 0x94]
xor edx, edx
mov eax, dword [ebp - 0x94]
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 0x934f
setl al
cmp dword [ebp - 0x94], eax
jl 0x1003796d
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
xor ecx, ecx
add eax, 0x9102
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x30]
imul edx, eax
mov eax, dword [ebp - 0x94]
push ebx
cmp edx, eax
setl cl
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x7ac]
mov esi, dword [ebp - 0x44]
call fcn.1001b2e9
mov dword [eax], esi
xor eax, eax
test esi, esi
sete al
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x100379ff
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], al
je 0x100379db
push 0x2396
push 0xbcd
push 0x20c
push 0x3f1
push eax
call edi
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x7ac]
push ebx
call fcn.1001b2e9
mov ecx, dword [ebp - 0x94]
xor edx, edx
cmp dword [eax], ecx
setle dl
mov dword [ebp - 0x14], edx
jmp 0x10037aff
mov dword [ebp - 0x34], 0xdb756fd8
mov dword [ebp - 0x14], 0xac155ea0
mov dword [ebp - 0x20], 0x92ce4ca0
mov dword [ebp - 0x14], 0x4e821fd1
mov dword [ebp - 0x14], eax
jmp 0x10037a31
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xdec], 0xdcd6a9b0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10037a20
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x50], eax
je 0x10037a51
cmp dword [ebp - 0x94], eax
je 0x10037a51
mov eax, ebx
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x7ac]
push ebx
call fcn.1001b2e9
imul ecx, dword [ebp - 0x14], 6
xor edx, edx
add ecx, dword [ebp - 0x20]
cmp ecx, dword [eax]
setne dl
cmp edx, 0xffffffff
ja 0x10037a76
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], 0xba24
mov eax, dword [ebp - 0x20]
add eax, 6
cmp eax, dword [ebp - 0xde4]
jne 0x10037a96
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10037a98
mov edx, ebx
jmp 0x10037a9a
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x958]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xde4]
mov eax, dword [ebp - 0xde8]
xor eax, eax
push eax
call fcn.1001b2e9
xor ecx, ecx
cmp dword [eax], ecx
je 0x10037acd
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x958]
push ebx
call fcn.1001b2e9
mov eax, dword [ebp - 0x94]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
dec dword [ebp - 0x638]
mov eax, dword [ebp - 0x638]
cmp eax, 0xfffffff7
setne cl
mov dword [ebp - 0xdec], ecx
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x10037b4c
mov dword [ebp - 0x34], 0x5445d8d6
mov eax, dword [ebp - 0x1438]
cmp eax, dword [ebp - 0x38]
jne 0x10037b1e
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x50]
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x10037b30
cmp dword [ebp - 0x54], eax
je 0x10037b32
mov eax, ebx
mov dword [ebp - 0x14], eax
push 5
pop eax
cmp dword [ebp - 0x14], eax
jge 0x10037b44
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10037b46
mov eax, ebx
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xa
je 0x10037b06
lea ecx, [ebp - 0x958]
call fcn.1001b2cd
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7ac]
call fcn.1001b2cd
push 3
pop esi
mov dword [ebp - 0x10], 9
lea ecx, [ebp - 0x17c]
mov dword [ebp - 0x30], ebx
push esi
call fcn.1001b24b
mov dword [ebp - 4], 6
xor eax, eax
mov dword [ebp - 0x38], 0xe338ae63
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jge 0x10037bbb
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x17c]
call fcn.1001b2e9
mov dword [eax], 0xc46bc227
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x10037b9d
xor eax, eax
push 2
mov dword [ebp - 0x2c], eax
pop edi
cmp dword [ebp - 0x2c], edi
jge 0x10037bde
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x9c8], 0xffffffff
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x10037bc6
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10037ca0
xor ecx, ecx
mov dword [ebp - 0x20], 0x87f2
mov dword [ebp - 0x4c], 0xd926128f
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x44], 0x1031
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
push edi
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setle cl
sub ecx, edi
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setg dl
xor ecx, ecx
imul edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4c]
cmp edx, eax
mov eax, dword [ebp - 0x30]
setne cl
xor ebx, ebx
cmp eax, ecx
lea ecx, [ebp - 0x17c]
setne bl
sub ebx, 0x3d87e3bc
neg ebx
sbb ebx, ebx
inc ebx
call fcn.1001b2e9
xor ecx, ecx
cmp ebx, 0x59ea
setle cl
xor edx, edx
cmp ecx, 0x735e
setle dl
xor ecx, ecx
cmp edx, dword [eax]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
setg cl
neg edx
sbb edx, edx
inc edx
add edx, ecx
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x44], ecx
jmp 0x10037f19
mov dword [ebp - 0x28], 0xfffffffd
mov dword [ebp - 0x10], 0xb
cmp dword [ebp - 0x10], 0x19
jle 0x10037f1c
push edi
lea ecx, [ebp - 0x2c0]
call fcn.1001b24b
mov byte [ebp - 4], 7
push 5
pop eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x44], 0x3fee22e7
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x3c], 0xcae1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10037d0a
xor ebx, ebx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2c0]
call fcn.1001b2e9
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10037cef
mov ebx, dword [ebp - 0x60]
push edi
lea ecx, [ebp - 0x17c]
call fcn.1001b2e9
push 0xfffffffffffffffa
pop eax
mov dword [ebp - 0x30], eax
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x10037dfd
push edi
lea ecx, [ebp - 0x17c]
call fcn.1001b2e9
xor ecx, ecx
push ebx
cmp dword [eax], 0x23d12ef6
mov eax, dword [ebp - 0x10]
setne cl
imul eax, ecx
xor ecx, ecx
cmp eax, 0x5201
setl cl
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x2c0]
call fcn.1001b2e9
mov esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x2c0]
push ebx
imul esi, dword [eax]
call fcn.1001b2e9
mov ecx, dword [ebp - 0x10]
sub esi, ecx
xor ecx, ecx
push ebx
cmp esi, dword [eax]
setg cl
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x17c]
call fcn.1001b2e9
mov ecx, dword [ebp - 0x4c]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x2c0]
setle bl
xor esi, esi
inc esi
push esi
call fcn.1001b2e9
cmp ebx, dword [eax]
jle 0x10037dbf
xor eax, eax
lea ecx, [ebp - 0x17c]
push eax
call fcn.1001b2e9
xor ecx, ecx
cmp dword [eax], ecx
jne 0x10037dbf
xor eax, eax
mov esi, eax
push edi
lea ecx, [ebp - 0x17c]
call fcn.1001b2e9
xor ebx, ebx
lea ecx, [ebp - 0x17c]
cmp esi, dword [eax]
setg bl
xor eax, eax
push eax
call fcn.1001b2e9
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp ebx, ecx
setge dl
xor ebx, ebx
sub edx, dword [ebp - 0x28]
inc ebx
imul edx, dword [eax]
mov eax, dword [ebp - 0x10]
imul eax, edx
test eax, eax
jne 0x10037e09
push ebx
lea ecx, [ebp - 0x2c0]
call fcn.1001b2e9
push edi
lea ecx, [ebp - 0x17c]
call fcn.1001b2e9
xor ecx, ecx
xor edx, edx
cmp dword [eax], edx
setne cl
neg ecx
jne 0x10037e2e
push edi
lea ecx, [ebp - 0x17c]
call fcn.1001b2e9
xor eax, eax
lea ecx, [ebp - 0x2c0]
push eax
call fcn.1001b2e9
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x2c0]
mov eax, dword [ebp - 0x28]
xor eax, eax
push eax
call fcn.1001b2e9
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x2c0]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x28]
push ebx
mov dword [ebp - 0x9c4], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x9c4]
mov eax, dword [ebp - 0x28]
call fcn.1001b2e9
mov ecx, dword [ebp - 0x28]
xor ebx, ebx
push edi
cmp ecx, dword [eax]
lea ecx, [ebp - 0x17c]
setl bl
call fcn.1001b2e9
xor ecx, ecx
push edi
cmp ebx, dword [eax]
mov eax, dword [ebp - 0x2c]
setne cl
add eax, ecx
lea ecx, [ebp - 0x17c]
mov dword [ebp - 0x44], eax
call fcn.1001b2e9
mov edx, dword [ebp - 0x44]
mov esi, eax
mov ecx, dword [ebp - 0x28]
xor eax, eax
cmp edx, ecx
setl al
cmp eax, dword [esi]
jl 0x10037ecf
mov dword [ebp - 0x4c], 0x7f9cd946
mov dword [ebp - 0x4c], 0xa5bdb26f
jmp 0x10037ef7
xor eax, eax
mov dword [ebp - 0x44], 0x294ba750
mov dword [ebp - 0x2c], eax
jmp 0x10037ef1
mov dword [ebp - 0x3c], 0x3c4fb361
mov dword [ebp - 0x3c], 0x4d67785d
inc dword [ebp - 0x44]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xc
je 0x10037edd
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 6
call fcn.1001b2cd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x19
push 1
pop ebx
jg 0x10037cb8
push 3
pop esi
xor ebx, ebx
inc ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x17c]
call fcn.1001b2cd
mov dword [ebp - 0x24], 0x15256ee9
xor eax, eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10037f60
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1454], 0x2afe01bd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10037f47
xor eax, eax
push 5
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jne 0x1003804b
movdqa xmm0, xmmword [0x10009230]
lea eax, [ebp - 0x10e0]
push eax
lea eax, [ebp - 0x10f0]
push eax
lea ecx, [ebp - 0x15ac]
movdqu xmmword [ebp - 0x10f0], xmm0
call fcn.1001b2f8
lea ecx, [ebp - 0x1d7]
mov esi, eax
call fcn.1000a403
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x720]
push dword [esi]
call fcn.1001b2a7
push 3
pop esi
push esi
lea ecx, [ebp - 0x720]
mov dword [ebp - 4], 8
call fcn.1001b2e9
mov dword [eax], esi
jmp 0x10038019
mov dword [ebp - 0x20], 0xfffffffd
xor eax, eax
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], eax
jl 0x1003800b
mov dword [ebp - 0x30], 0x6d6092f6
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 4
jge 0x10038006
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x1454], ebx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 4
jl 0x10037ff1
xor eax, eax
dec dword [ebp - 0x20]
jns 0x10037fe1
push esi
lea ecx, [ebp - 0x720]
call fcn.1001b2e9
dec dword [eax]
push esi
lea ecx, [ebp - 0x720]
call fcn.1001b2e9
xor ecx, ecx
cmp dword [eax], ecx
jge 0x10037fd0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x720]
call fcn.1001b2cd
inc dword [ebp - 0x14]
push 5
pop eax
cmp dword [ebp - 0x14], eax
je 0x10037f6f
xor eax, eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x34], 0x2ba39464
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x14], 0x3fbb4ebb
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10038083
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe2c], 0xc93
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003806b
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x100380a3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x169c], 0xa149cec7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1003808b
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100380c3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1010], 0x2e77e815
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100380ab
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x10038164
mov dword [ebp - 0x3c], 0xe63e3155
lea ecx, [ebp - 0xe54]
mov dword [ebp - 0x3c], 0xf90a2337
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x3c], 0xfe012d2c
call fcn.1001b24b
mov dword [ebp - 4], 9
xor eax, eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10038127
push dword [ebp - 0x14]
lea ecx, [ebp - 0xe54]
call fcn.1001b2e9
mov dword [eax], 0x2d91509c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10038109
xor eax, eax
dec dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jg 0x10038150
xor ebx, ebx
mov byte [ebp - 0x3d], bl
cmp byte [ebp - 0x3d], bl
je 0x10038145
push ebx
push ebx
push ebx
call dword [sym.imp.OLEAUT32.dll_SysStringByteLen]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x10038134
mov ebx, dword [ebp - 0x60]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe54]
call fcn.1001b2cd
inc dword [ebp - 0x34]
xor eax, eax
push edi
cmp dword [ebp - 0x34], eax
jle 0x100380cb
lea ecx, [ebp - 0x7fc]
call fcn.1001b24b
push 4
lea ecx, [ebp - 0x5a4]
mov dword [ebp - 4], 0xa
call fcn.1001b24b
xor eax, eax
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x14], eax
jmp 0x100381a5
push dword [ebp - 0x14]
call fcn.1001b2e9
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
lea ecx, [ebp - 0x5a4]
jl 0x10038198
push edi
call fcn.1001b2e9
xor ecx, ecx
push edi
mov dword [eax], ecx
lea ecx, [ebp - 0x5a4]
call fcn.1001b2e9
cmp dword [eax], 0xffffffe9
je 0x100381f8
xor ebx, ebx
mov dword [ebp - 0x4c], ebx
cmp dword [ebp - 0x4c], ebx
jne 0x100381f5
push edi
lea ecx, [ebp - 0x5a4]
call fcn.1001b2e9
push edi
lea ecx, [ebp - 0x5a4]
dec dword [eax]
call fcn.1001b2e9
cmp dword [eax], 0xffffffe9
jne 0x100381ce
mov ebx, dword [ebp - 0x60]
xor eax, eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], al
je 0x1003820d
push 0x1e1e
call dword [sym.imp.KERNEL32.dll_TlsFree]
lea ecx, [ebp - 0x5a4]
mov byte [ebp - 4], 0xa
call fcn.1001b2cd
mov dword [ebp - 0x14], 0xc7fffaa2
xor eax, eax
mov dword [ebp - 0x3c], 0xf0e77da1
mov dword [ebp - 0x34], 0x8e41
mov dword [ebp - 0x44], 0xfffffff8
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1003825f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x146c], 0x30dfddae
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10038246
xor eax, eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x10038270
push eax
push eax
call dword [sym.imp.USER32.dll_LoadMenuW]
mov eax, dword [ebp - 0x34]
xor edx, edx
cmp eax, ebx
mov eax, dword [ebp - 0x34]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x34]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
mov eax, 0xfecaa001
sub eax, ecx
jne 0x100382b5
cmp dword [ebp - 0x34], eax
je 0x100382b7
mov eax, ebx
mov dword [ebp - 0x1464], eax
lea ecx, [ebp - 0xa40]
mov dword [ebp - 0x54], 0x67606e82
mov eax, 0x7f6af112
mov dword [ebp - 0x50], 0x503b5b0d
or edi, 0xffffffff
mov dword [ebp - 0x3c], 0xfffffffd
mov dword [ebp - 0x3fc], eax
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x20], 0xd8ef068c
push esi
call fcn.1001b24b
xor eax, eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1003833a
push dword [ebp - 0x14]
lea ecx, [ebp - 0xa40]
call fcn.1001b2e9
mov dword [eax], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10038320
xor eax, eax
push 0xfffffffffffffff6
mov dword [ebp - 0x3f4], eax
pop esi
jmp 0x10038408
push ebx
lea ecx, [ebp - 0xbf0]
call fcn.1001b24b
xor eax, eax
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x10038380
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xbf0]
call fcn.1001b2e9
mov dword [eax], 0xd83d
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10038362
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x1003839c
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x6dc], ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10038388
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x100383ed
mov dword [ebp - 0x10], 0x19
jmp 0x100383c6
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], eax
jmp 0x100383bd
mov dword [ebp - 0x4c], edi
cmp dword [ebp - 0x4c], eax
jne 0x100383c3
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff7
je 0x100383b2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x2b
jne 0x100383aa
mov dword [ebp - 0x10], eax
jmp 0x100383e6
push dword [ebp - 0x10]
lea ecx, [ebp - 0xbf0]
call fcn.1001b2e9
xor ecx, ecx
mov dword [eax], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100383d1
jmp 0x100383f3
mov dword [ebp - 0x6dc], edi
lea ecx, [ebp - 0xbf0]
mov byte [ebp - 4], 0xc
call fcn.1001b2cd
inc dword [ebp - 0x3f4]
cmp dword [ebp - 0x3f4], 0x1c
jne 0x10038348
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x20]
cmp eax, 0xfffffff8
je 0x10038425
mov dword [ebp - 0x44], ebx
jmp 0x1003842a
xor eax, eax
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp eax, ecx
lea ecx, [ebp - 0xa40]
setne dl
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x3f0]
xor eax, eax
mov dword [ebp - 0x3f0], esi
push eax
call fcn.1001b2e9
mov edi, dword [ebp - 0x10]
add edi, dword [ebp - 0x44]
add edi, esi
mov byte [ebp - 4], 0xa
sub edi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x38]
neg edi
sbb edi, edi
xor edx, edx
inc edi
cmp edi, ecx
lea ecx, [ebp - 0xa40]
setl dl
mov dword [eax], edx
call fcn.1001b2cd
push 3
pop eax
mov dword [ebp - 0x4c], 7
lea ecx, [ebp - 0x904]
push eax
call fcn.1001b24b
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xcbc]
mov dword [ebp - 0x30], 0x75c9
push ebx
call fcn.1001b24b
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100384db
push dword [ebp - 0x14]
lea ecx, [ebp - 0xcbc]
call fcn.1001b2e9
mov dword [eax], 0xe87df2f4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100384bd
xor eax, eax
push eax
lea ecx, [ebp - 0xcbc]
call fcn.1001b2e9
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov dword [ebp - 0x30], 0xfffffffd
cmp dword [ebp - 0x30], 0xffffffe6
jge 0x1003851c
xor ebx, ebx
mov byte [ebp - 0x3d], bl
cmp byte [ebp - 0x3d], bl
je 0x10038510
push 0xf7e
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffe6
jl 0x100384fb
mov ebx, dword [ebp - 0x60]
lea ecx, [ebp - 0xcbc]
mov byte [ebp - 4], 0xe
call fcn.1001b2cd
movdqa xmm0, xmmword [0x10009220]
lea eax, [ebp - 0x11e0]
push eax
lea eax, [ebp - 0x11f0]
push eax
lea ecx, [ebp - 0x151c]
movdqu xmmword [ebp - 0x11f0], xmm0
call fcn.1001b2f8
lea ecx, [ebp - 0x1d9]
mov esi, eax
call fcn.1000a403
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x170]
push dword [esi]
call fcn.1001b2a7
push 2
pop edi
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x170]
push edi
mov dword [ebp - 0x44], 0xfffffff9
call fcn.1001b2e9
xor ecx, ecx
mov dword [eax], ecx
jmp 0x100386d4
mov dword [ebp - 0x10], 0x4074dd03
xor eax, eax
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x10], eax
jmp 0x100386bc
mov dword [ebp - 0x2c], 0x27fa
mov dword [ebp - 0x14], 0x1fa4
mov eax, dword [ebp - 0x2c]
call fcn.1001b2e9
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x170]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
push edi
call fcn.1001b2e9
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x170]
mov eax, dword [ebp - 0x10]
push edi
call fcn.1001b2e9
push edi
lea ecx, [ebp - 0x170]
call fcn.1001b2e9
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
test eax, eax
setle cl
sub ecx, dword [ebp - 0x2c]
jne 0x1003861d
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x2c], eax
je 0x1003861f
mov edx, ebx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
push edi
setg cl
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x170]
call fcn.1001b2e9
xor ecx, ecx
cmp dword [eax], ecx
jne 0x10038694
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x10038666
push edi
lea ecx, [ebp - 0x170]
call fcn.1001b2e9
xor ecx, ecx
cmp dword [eax], ecx
jne 0x1003865a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
push 3
pop eax
push eax
lea ecx, [ebp - 0x170]
call fcn.1001b2e9
mov ecx, dword [ebp - 0x44]
xor edx, edx
test ecx, ecx
setle dl
xor ecx, ecx
cmp edx, dword [eax]
mov eax, dword [ebp - 0x10]
setl cl
imul eax, ecx
test eax, eax
jne 0x10038694
mov esi, eax
jmp 0x10038696
mov esi, ebx
push 3
pop eax
push eax
lea ecx, [ebp - 0x170]
call fcn.1001b2e9
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp esi, ecx
sete dl
xor ecx, ecx
cmp edx, dword [eax]
setne cl
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffe
lea ecx, [ebp - 0x170]
push edi
jl 0x100385ad
call fcn.1001b2e9
inc dword [eax]
push edi
lea ecx, [ebp - 0x170]
call fcn.1001b2e9
cmp dword [eax], 0x15
jge 0x10038595
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0xe
call fcn.1001b2cd
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1003871d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8c], 0x37c0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10038705
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10038740
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x7fc]
call fcn.1001b2e9
or dword [eax], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10038725
xor eax, eax
push 3
mov dword [ebp - 0x1c], eax
pop esi
cmp dword [ebp - 0x1c], esi
jge 0x10038769
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x904]
call fcn.1001b2e9
mov dword [eax], 0x422f8dc7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1003874b
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10038789
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x6e4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10038771
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1003879f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1484], 0xffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1003878e
mov ecx, dword [ebp - 0x8c]
xor edx, edx
mov eax, dword [ebp - 0x8c]
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 0x934f
setl al
cmp dword [ebp - 0x8c], eax
jl 0x100387e0
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
add eax, 0x9102
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x24]
imul edx, eax
mov eax, dword [ebp - 0x8c]
push ebx
cmp edx, eax
setl cl
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x7fc]
mov esi, dword [ebp - 0x44]
call fcn.1001b2e9
mov dword [eax], esi
xor eax, eax
test esi, esi
sete al
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10038876
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], al
je 0x10038852
push 0x2396
push 0xbcd
push 0x20c
push 0x3f1
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x7fc]
push ebx
call fcn.1001b2e9
mov ecx, dword [ebp - 0x8c]
xor edx, edx
cmp dword [eax], ecx
setle dl
mov dword [ebp - 0x14], edx
jmp 0x10038976
mov dword [ebp - 0x34], 0xdb756fd8
mov dword [ebp - 0x14], 0xac155ea0
mov dword [ebp - 0x20], 0x92ce4ca0
mov dword [ebp - 0x14], 0x4e821fd1
mov dword [ebp - 0x14], eax
jmp 0x100388a8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd0c], 0xdcd6a9b0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10038897
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x50], eax
je 0x100388c8
cmp dword [ebp - 0x8c], eax
je 0x100388c8
mov eax, ebx
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x7fc]
push ebx
call fcn.1001b2e9
imul ecx, dword [ebp - 0x14], 6
xor edx, edx
add ecx, dword [ebp - 0x20]
cmp ecx, dword [eax]
setne dl
cmp edx, 0xffffffff
ja 0x100388ed
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], 0xba24
mov eax, dword [ebp - 0x20]
add eax, 6
cmp eax, dword [ebp - 0xd04]
jne 0x1003890d
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1003890f
mov edx, ebx
jmp 0x10038911
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x904]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd04]
mov eax, dword [ebp - 0xd08]
xor eax, eax
push eax
call fcn.1001b2e9
xor ecx, ecx
cmp dword [eax], ecx
je 0x10038944
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x904]
push ebx
call fcn.1001b2e9
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
dec dword [ebp - 0x6e4]
mov eax, dword [ebp - 0x6e4]
cmp eax, 0xfffffff7
setne cl
mov dword [ebp - 0xd0c], ecx
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x100389c3
mov dword [ebp - 0x34], 0x5445d8d6
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x1480], eax
jne 0x10038995
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x50]
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x100389a7
cmp dword [ebp - 0x38], eax
je 0x100389a9
mov eax, ebx
mov dword [ebp - 0x14], eax
push 5
pop eax
cmp dword [ebp - 0x14], eax
jge 0x100389bb
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x100389bd
mov eax, ebx
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xa
je 0x1003897d
lea ecx, [ebp - 0x904]
call fcn.1001b2cd
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7fc]
call fcn.1001b2cd
push 3
pop esi
mov dword [ebp - 0x10], 9
lea ecx, [ebp - 0x188]
mov dword [ebp - 0x30], ebx
push esi
call fcn.1001b24b
mov dword [ebp - 4], 0x11
xor eax, eax
mov dword [ebp - 0x38], 0xe338ae63
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jge 0x10038a32
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x188]
call fcn.1001b2e9
mov dword [eax], 0xc46bc227
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x10038a14
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], edi
jge 0x10038a52
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x990], 0xffffffff
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x10038a3a
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10038b14
xor ecx, ecx
mov dword [ebp - 0x20], 0x87f2
mov dword [ebp - 0x4c], 0xd926128f
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x44], 0x1031
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
push edi
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setle cl
sub ecx, edi
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setg dl
xor ecx, ecx
imul edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4c]
cmp edx, eax
mov eax, dword [ebp - 0x30]
setne cl
xor ebx, ebx
cmp eax, ecx
lea ecx, [ebp - 0x188]
setne bl
sub ebx, 0x3d87e3bc
neg ebx
sbb ebx, ebx
inc ebx
call fcn.1001b2e9
xor ecx, ecx
cmp ebx, 0x59ea
setle cl
xor edx, edx
cmp ecx, 0x735e
setle dl
xor ecx, ecx
cmp edx, dword [eax]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
setg cl
neg edx
sbb edx, edx
inc edx
add edx, ecx
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x44], ecx
jmp 0x10038d8d
mov dword [ebp - 0x28], 0xfffffffd
mov dword [ebp - 0x10], 0xb
cmp dword [ebp - 0x10], 0x19
jle 0x10038d90
push edi
lea ecx, [ebp - 0x338]
call fcn.1001b24b
mov byte [ebp - 4], 0x12
push 5
pop eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x44], 0x3fee22e7
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x3c], 0xcae1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10038b7e
xor ebx, ebx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x338]
call fcn.1001b2e9
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10038b63
mov ebx, dword [ebp - 0x60]
push edi
lea ecx, [ebp - 0x188]
call fcn.1001b2e9
push 0xfffffffffffffffa
pop eax
mov dword [ebp - 0x30], eax
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x10038c71
push edi
lea ecx, [ebp - 0x188]
call fcn.1001b2e9
xor ecx, ecx
push ebx
cmp dword [eax], 0x23d12ef6
mov eax, dword [ebp - 0x10]
setne cl
imul eax, ecx
xor ecx, ecx
cmp eax, 0x5201
setl cl
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x338]
call fcn.1001b2e9
mov esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x338]
push ebx
imul esi, dword [eax]
call fcn.1001b2e9
mov ecx, dword [ebp - 0x10]
sub esi, ecx
xor ecx, ecx
push ebx
cmp esi, dword [eax]
setg cl
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x188]
call fcn.1001b2e9
mov ecx, dword [ebp - 0x4c]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x338]
setle bl
xor esi, esi
inc esi
push esi
call fcn.1001b2e9
cmp ebx, dword [eax]
jle 0x10038c33
xor eax, eax
lea ecx, [ebp - 0x188]
push eax
call fcn.1001b2e9
xor ecx, ecx
cmp dword [eax], ecx
jne 0x10038c33
xor eax, eax
mov esi, eax
push edi
lea ecx, [ebp - 0x188]
call fcn.1001b2e9
xor ebx, ebx
lea ecx, [ebp - 0x188]
cmp esi, dword [eax]
setg bl
xor eax, eax
push eax
call fcn.1001b2e9
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp ebx, ecx
setge dl
xor ebx, ebx
sub edx, dword [ebp - 0x28]
inc ebx
imul edx, dword [eax]
mov eax, dword [ebp - 0x10]
imul eax, edx
test eax, eax
jne 0x10038c7d
push ebx
lea ecx, [ebp - 0x338]
call fcn.1001b2e9
push edi
lea ecx, [ebp - 0x188]
call fcn.1001b2e9
xor ecx, ecx
xor edx, edx
cmp dword [eax], edx
setne cl
neg ecx
jne 0x10038ca2
push edi
lea ecx, [ebp - 0x188]
call fcn.1001b2e9
xor eax, eax
lea ecx, [ebp - 0x338]
push eax
call fcn.1001b2e9
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x338]
mov eax, dword [ebp - 0x28]
xor eax, eax
push eax
call fcn.1001b2e9
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x338]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x28]
push ebx
mov dword [ebp - 0x98c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x98c]
mov eax, dword [ebp - 0x28]
call fcn.1001b2e9
mov ecx, dword [ebp - 0x28]
xor ebx, ebx
push edi
cmp ecx, dword [eax]
lea ecx, [ebp - 0x188]
setl bl
call fcn.1001b2e9
xor ecx, ecx
push edi
cmp ebx, dword [eax]
mov eax, dword [ebp - 0x2c]
setne cl
add eax, ecx
lea ecx, [ebp - 0x188]
mov dword [ebp - 0x44], eax
call fcn.1001b2e9
mov edx, dword [ebp - 0x44]
mov esi, eax
mov ecx, dword [ebp - 0x28]
xor eax, eax
cmp edx, ecx
setl al
cmp eax, dword [esi]
jl 0x10038d43
mov dword [ebp - 0x4c], 0x7f9cd946
mov dword [ebp - 0x4c], 0xa5bdb26f
jmp 0x10038d6b
xor eax, eax
mov dword [ebp - 0x44], 0x294ba750
mov dword [ebp - 0x2c], eax
jmp 0x10038d65
mov dword [ebp - 0x3c], 0x3c4fb361
mov dword [ebp - 0x3c], 0x4d67785d
inc dword [ebp - 0x44]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xc
je 0x10038d51
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x11
call fcn.1001b2cd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x19
push 1
pop ebx
jg 0x10038b2c
push 3
pop esi
xor ebx, ebx
inc ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x188]
call fcn.1001b2cd
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10038dca
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x149c], 0x2afe01bd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10038db1
xor eax, eax
push 5
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jne 0x10038eb5
movdqa xmm0, xmmword [0x10009230]
lea eax, [ebp - 0x1100]
push eax
lea eax, [ebp - 0x1110]
push eax
lea ecx, [ebp - 0x13d4]
movdqu xmmword [ebp - 0x1110], xmm0
call fcn.1001b2f8
lea ecx, [ebp - 0x1db]
mov esi, eax
call fcn.1000a403
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x738]
push dword [esi]
call fcn.1001b2a7
push 3
pop esi
push esi
lea ecx, [ebp - 0x738]
mov dword [ebp - 4], 0x13
call fcn.1001b2e9
mov dword [eax], esi
jmp 0x10038e83
mov dword [ebp - 0x20], 0xfffffffd
xor eax, eax
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], eax
jl 0x10038e75
mov dword [ebp - 0x30], 0x6d6092f6
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 4
jge 0x10038e70
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x149c], ebx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 4
jl 0x10038e5b
xor eax, eax
dec dword [ebp - 0x20]
jns 0x10038e4b
push esi
lea ecx, [ebp - 0x738]
call fcn.1001b2e9
dec dword [eax]
push esi
lea ecx, [ebp - 0x738]
call fcn.1001b2e9
xor ecx, ecx
cmp dword [eax], ecx
jge 0x10038e3a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x738]
call fcn.1001b2cd
inc dword [ebp - 0x14]
push 5
pop eax
cmp dword [ebp - 0x14], eax
je 0x10038dd9
xor eax, eax
mov dword [ebp - 0x34], 0x2ba39464
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x14], 0x3fbb4ebb
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10038eea
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe3c], 0xc93
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10038ed2
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10038f0a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1678], 0xa149cec7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10038ef2
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10038f2a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xfa0], 0x2e77e815
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10038f12
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x10038fcc
mov dword [ebp - 0x3c], 0xe63e3155
lea ecx, [ebp - 0x1050]
mov dword [ebp - 0x3c], 0xf90a2337
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x3c], 0xfe012d2c
push edi
call fcn.1001b24b
mov dword [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10038f8f
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1050]
call fcn.1001b2e9
mov dword [eax], 0x2d91509c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10038f71
xor eax, eax
dec dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jg 0x10038fb8
xor ebx, ebx
mov byte [ebp - 0x3d], bl
cmp byte [ebp - 0x3d], bl
je 0x10038fad
push ebx
push ebx
push ebx
call dword [sym.imp.OLEAUT32.dll_SysStringByteLen]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x10038f9c
mov ebx, dword [ebp - 0x60]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1050]
call fcn.1001b2cd
inc dword [ebp - 0x34]
xor eax, eax
cmp dword [ebp - 0x34], eax
jle 0x10038f32
mov dword [ebp - 0x34], 0x15256ee9
lea ecx, [ebp - 0x544]
push 4
call fcn.1001b24b
xor eax, eax
mov dword [ebp - 4], 0x15
mov dword [ebp - 0x14], eax
jmp 0x10039004
push dword [ebp - 0x14]
call fcn.1001b2e9
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
lea ecx, [ebp - 0x544]
jl 0x10038ff7
push edi
call fcn.1001b2e9
xor ecx, ecx
push edi
mov dword [eax], ecx
lea ecx, [ebp - 0x544]
call fcn.1001b2e9
cmp dword [eax], 0xffffffe9
je 0x10039057