Function at 0x10037515
Capabilities:
Delete registry key
Enumerate gui resources
Get common file path
Get file attributes
Get graphical window text
Get system information on windows
Log keystrokes
Log keystrokes via polling

Disassembly:
mov eax, 0x1007500b
call fcn.10073aa8
sub esp, 0xb9c
push ebx
push esi
push edi
mov edi, 0x48bbca63
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x18], edi
xor ecx, ecx
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x44], 0xc8100c43
mov dword [ebp - 0x10], 0xc9a130df
push 2
mov byte [ebp - 0x85], dl
mov dword [ebp - 0x68], 0x65d63260
mov dword [ebp - 0x10], ecx
pop edx
jmp 0x10037570
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x158], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1003755f
mov dword [ebp - 0x10], ecx
jmp 0x1003758b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x9d4], 0xfb11589a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1003757a
mov ebx, dword [sym.imp.USER32.dll_GetMenuItemInfoW]
mov byte [ebp - 0x39], cl
cmp byte [ebp - 0x39], cl
je 0x100375aa
push ecx
push ecx
push 0xf36
push ecx
call ebx
xor ecx, ecx
push 1
mov dword [ebp - 0x18], 0xfffffffe
pop edx
jmp 0x1003771a
mov dword [ebp - 0x14], 0x44555950
mov dword [ebp - 0x38], 0x526954eb
cmp dword [ebp - 0x18], ecx
je 0x100375d9
mov eax, dword [ebp - 0x34]
mov esi, edx
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ecx
jne 0x100375db
mov esi, ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0xffffaecf
mov eax, dword [ebp - 0x154]
mov edx, dword [ebp - 0x10]
sub edx, eax
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x158]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setle cl
add eax, ecx
mov ecx, 0xd3a18e41
cmp ecx, esi
sbb ecx, ecx
inc ecx
sub ecx, eax
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setge dl
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
imul eax, ecx, 0xfffffffd
xor ecx, ecx
inc edx
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x34], ecx
jmp 0x1003770e
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], edx
jg 0x1003770b
mov eax, dword [ebp - 0x34]
xor edx, edx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp dword [ebp - 0x10], ecx
jge 0x100376a2
xor ecx, ecx
cmp dword [ebp - 0x44], ecx
jne 0x100376a4
xor edx, edx
mov eax, ecx
inc edx
jmp 0x100376a9
xor ecx, ecx
xor edx, edx
inc edx
mov eax, edx
cmp dword [ebp - 0x30], eax
jl 0x100376b5
cmp dword [ebp - 0x38], ecx
je 0x100376b5
mov ecx, edx
mov eax, dword [ebp - 0x30]
xor edx, edx
add eax, ecx
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x68]
cmp eax, ecx
mov eax, 0xecf58a41
setne dl
cmp eax, edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov eax, dword [ebp + eax*4 - 0x158]
cmp eax, edx
setle cl
xor edx, edx
sub ecx, dword [ebp - 0x14]
inc edx
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x158], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x10037675
xor ecx, ecx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edx
jle 0x10037666
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff3
jg 0x100375b9
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x44], 0xc8100c43
mov dword [ebp - 0x10], 0xc9a130df
push 2
mov dword [ebp - 0x68], 0x65d63260
mov dword [ebp - 0x10], ecx
pop edx
jmp 0x1003775c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x174], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1003774b
mov dword [ebp - 0x10], ecx
jmp 0x10037777
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x9e4], 0xfb11589a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10037766
mov byte [ebp - 0x39], cl
cmp byte [ebp - 0x39], 0
je 0x1003778f
push ecx
push ecx
push 0xf36
push ecx
call ebx
mov dword [ebp - 0x18], 0xfffffffe
xor ebx, ebx
cmp dword [ebp - 0x18], 0xfffffff3
jle 0x10037a8d
mov dword [ebp - 0x14], 0x44555950
mov dword [ebp - 0x38], 0x526954eb
cmp dword [ebp - 0x18], ebx
je 0x100377c7
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ebx
je 0x100377c7
xor eax, eax
lea esi, [eax + 1]
jmp 0x100377c9
mov esi, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0xffffaecf
mov eax, dword [ebp - 0x170]
mov edx, dword [ebp - 0x10]
sub edx, eax
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x174]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setle cl
add eax, ecx
mov ecx, 0xd3a18e41
cmp ecx, esi
sbb ecx, ecx
inc ecx
sub ecx, eax
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setge dl
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0xfffffffd
mov dword [ebp - 0x170], eax
xor eax, eax
mov dword [ebp - 0x34], ebx
inc eax
jmp 0x10037a75
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x10], ebx
jmp 0x10037a69
mov dword [ebp - 0x24], 0x18de
cmp dword [ebp - 0x24], 0xdd5
jge 0x100379e2
lea eax, [ebp - 0x9c]
push eax
push 0x1000773c
call fcn.1005cf7b
pop ecx
pop ecx
push dword [ebp - 0x9c]
lea ecx, [ebp - 0x264]
call fcn.10045d48
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x2f0]
push dword [ebp - 0x9c]
call fcn.10045d48
mov eax, dword [ebp - 0x9c]
mov edi, ebx
test eax, eax
jle 0x100378d6
mov esi, dword [ebp - 0x264]
push esi
push 0x100078d0
call fcn.1005cf7b
mov eax, dword [ebp - 0x9c]
inc edi
pop ecx
add esi, 8
pop ecx
cmp edi, eax
jl 0x100378bb
mov edi, ebx
test eax, eax
jle 0x100378fb
mov esi, dword [ebp - 0x2f0]
push esi
push 0x100078d0
call fcn.1005cf7b
inc edi
add esi, 8
pop ecx
pop ecx
cmp edi, dword [ebp - 0x9c]
jl 0x100378e2
movsd xmm5, qword [0x10007db0]
xorps xmm1, xmm1
movsd qword [ebp - 0x50], xmm1
movapd xmm6, xmm1
lea edx, [ebp - 0x2f0]
mulsd xmm6, qword [0x10007d98]
lea ecx, [ebp - 0x264]
movapd xmm7, xmm5
mulsd xmm7, qword [0x10007d98]
addsd xmm6, xmm5
addsd xmm7, xmm1
divsd xmm6, qword [0x10007da0]
divsd xmm7, qword [0x10007da0]
movapd xmm2, xmm6
call section..cdshg
movapd xmm2, xmm7
lea ecx, [ebp - 0x264]
movapd xmm4, xmm0
call section..cdshg
comisd xmm0, xmm4
jbe 0x10037974
movsd xmm1, qword [ebp - 0x50]
movapd xmm5, xmm7
jmp 0x1003797d
movapd xmm1, xmm6
movsd qword [ebp - 0x50], xmm1
movapd xmm0, xmm5
subsd xmm0, xmm1
comisd xmm0, xmmword [0x10007d78]
jae 0x1003790b
addsd xmm5, xmm1
lea edx, [ebp - 0x2f0]
lea ecx, [ebp - 0x264]
mulsd xmm5, qword [0x10007d88]
movapd xmm2, xmm5
call section..cdshg
push ecx
push ecx
movsd qword [esp], xmm0
push 0x10007968
call fcn.1005d3c8
add esp, 0xc
lea ecx, [ebp - 0x2f0]
call fcn.100302f8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x264]
call fcn.100302f8
mov eax, dword [ebp - 0x34]
xor edx, edx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp dword [ebp - 0x10], ecx
jge 0x10037a0d
cmp dword [ebp - 0x44], ebx
jne 0x10037a0d
xor ecx, ecx
mov eax, ebx
inc ecx
jmp 0x10037a12
xor ecx, ecx
inc ecx
mov eax, ecx
cmp dword [ebp - 0x30], eax
jl 0x10037a1c
cmp dword [ebp - 0x38], ebx
jne 0x10037a1e
mov ecx, ebx
mov eax, dword [ebp - 0x30]
xor edx, edx
add eax, ecx
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x68]
cmp eax, ecx
mov eax, 0xecf58a41
setne dl
cmp eax, edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov eax, dword [ebp + eax*4 - 0x174]
cmp eax, edx
setle cl
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x174], ecx
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jle 0x1003785d
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], eax
jle 0x10037852
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff3
jg 0x100377a2
jmp 0x10037a90
xor eax, eax
inc eax
mov dword [ebp - 0x38], 0x603fa75c
lea ecx, [ebp - 0x5cc]
push 0xfffffffffffffff7
mov dword [ebp - 0x6c], 0xfb37b048
pop esi
mov dword [ebp - 0x30], 0x83d78398
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x24], 0xfffffffe
push eax
call fcn.1002fcd7
xor edx, edx
mov dword [ebp - 0x44], 0xfc3e8ce6
mov dword [ebp - 0x10], ebx
inc edx
jmp 0x10037adc
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x5cc]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10037acd
mov dword [ebp - 0x10], ebx
jmp 0x10037af7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x300], 0xdb785b64
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10037ae6
cmp dword [ebp - 0x6c], ebx
je 0x10037b13
dec dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x300]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x6c]
dec dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x5cc]
cmp ecx, dword [eax]
lea ecx, [ebp - 0x5cc]
setl dl
mov dword [ebp - 0x30], edx
call fcn.100302f8
mov eax, 0xb8561371
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x44], 0x80997408
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x24], 0x2572
cmp dword [ebp - 0x24], 0x877
jge 0x10037ce8
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x8c], ebx
push eax
push 0x1000773c
call fcn.1005cf7b
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
push 8
pop ebx
mul ebx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10056ef0
mov edi, eax
xor ecx, ecx
mov eax, dword [ebp - 0x8c]
add esp, 0xc
mul ebx
mov dword [ebp - 0x30], edi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10056ef0
and dword [ebp - 0x24], 0
mov ebx, eax
mov esi, dword [ebp - 0x8c]
mov dword [ebp - 0x14], ebx
pop ecx
test esi, esi
jle 0x10037bfc
mov ebx, dword [ebp - 0x24]
push edi
push 0x10007910
call fcn.1005cf7b
mov esi, dword [ebp - 0x8c]
inc ebx
pop ecx
pop ecx
push 8
pop eax
add edi, eax
cmp ebx, esi
jl 0x10037bdc
mov ebx, dword [ebp - 0x14]
and dword [ebp - 0x24], 0
test esi, esi
jle 0x10037c29
mov edi, ebx
mov ebx, dword [ebp - 0x24]
push edi
push 0x10007910
call fcn.1005cf7b
mov esi, dword [ebp - 0x8c]
inc ebx
pop ecx
pop ecx
push 8
pop eax
add edi, eax
cmp ebx, esi
jl 0x10037c09
mov ebx, dword [ebp - 0x14]
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
test esi, esi
jle 0x10037cc7
mov eax, dword [ebp - 0x30]
mov edi, ebx
sub eax, ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x6c], edx
mov eax, dword [edi + 4]
mov ebx, dword [edi]
mov dword [ebp - 0x38], eax
test eax, eax
jl 0x10037cb0
jg 0x10037c64
xor eax, eax
inc eax
cmp ebx, eax
jbe 0x10037cb0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + edi + 4]
mov ecx, dword [ecx + edi]
shld eax, ecx, 1
add ecx, ecx
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x20]
cmp dword [ebp - 0x38], eax
jg 0x10037cb0
jl 0x10037c86
cmp ebx, dword [ebp - 0x44]
ja 0x10037cb0
push 0
push 2
push dword [ebp - 0x38]
push ebx
call fcn.10073ad0
mov ecx, dword [ebp - 0x38]
sub ebx, eax
push edx
push eax
sbb ecx, edx
push ecx
push ebx
call fcn.10060fc0
add dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x20]
adc ecx, edx
mov edx, dword [ebp - 0x6c]
jmp 0x10037cb9
add edx, 0xffffffff
mov dword [ebp - 0x6c], edx
adc ecx, 0xffffffff
push 8
pop eax
add edi, eax
mov dword [ebp - 0x20], ecx
dec esi
jne 0x10037c4f
mov ebx, dword [ebp - 0x14]
push ecx
push edx
push 0x1000774c
call fcn.1005d3c8
add esp, 0xc
push dword [ebp - 0x30]
call fcn.1005d510
pop ecx
push ebx
call fcn.1005d510
pop ecx
xor ebx, ebx
push 0xfffffffffffffffb
xor edx, edx
pop eax
mov dword [ebp - 0x38], eax
inc edx
mov dword [ebp - 0x20], 0xb96f37d4
mov dword [ebp - 0x28], 0xd9248e6b
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x24], 0xfffffff6
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x134], 7
mov ecx, dword [ebp - 0x130]
neg ecx
sbb ecx, ecx
neg ecx
cmp dword [ebp - 0x134], ebx
jne 0x10037d34
mov eax, ebx
cmp dword [ebp - 0x12c], ebx
je 0x10037d36
mov eax, edx
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ebx
jne 0x10037d44
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x12c]
add eax, dword [ebp - 0x130]
jne 0x10037d5c
mov eax, ebx
cmp dword [ebp - 0x134], ebx
je 0x10037d5e
mov eax, edx
add eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x20]
jl 0x10037d78
mov eax, edx
cmp dword [ebp - 0x20], ebx
jne 0x10037d7a
mov eax, ebx
cmp eax, 0xfffe
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
mov eax, dword [ebp - 0x28]
setg dl
sub edx, 0x2836
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
xor esi, esi
mov dword [ebp - 0x44], ecx
inc esi
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], 0x2f
jg 0x10037e45
mov dword [ebp - 0x30], 0xfffa
xor edx, edx
mov dword [ebp - 0x6c], 0xc3e5f88
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x4c], 0xc6a332e
mov dword [ebp - 0x48], 0xc6aee34d
mov dword [ebp - 0x38], 0x9419
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x134]
cmp eax, ecx
setg dl
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x44]
sub ecx, eax
jne 0x10037e23
mov eax, dword [ebp - 0x38]
inc dword [ebp - 0x38]
cmp eax, esi
jl 0x10037e1f
cmp dword [ebp - 0x48], ebx
jne 0x10037e23
mov edx, ebx
jmp 0x10037e25
mov edx, esi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0xb76a
setge al
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x28]
jmp 0x10037db7
mov dword [ebp - 0x14], esi
lea ecx, [ebp - 0x87c]
mov dword [ebp - 0x28], ebx
push 2
mov dword [ebp - 0x4c], 0xfdbd0176
pop edi
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x4c], 0x2280643b
mov dword [ebp - 0x4c], ebx
push edi
call fcn.1002fcd7
mov dword [ebp - 4], esi
push 4
mov dword [ebp - 0x44], 0xb49
mov dword [ebp - 0x10], ebx
pop ecx
jmp 0x10037e95
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb68], 0xe9ab5c29
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10037e84
mov dword [ebp - 0x10], ebx
jmp 0x10037eaf
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x87c]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10037e9f
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
push 0xa
pop eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x6c], 3
jmp 0x10037fcf
push 3
pop edi
push edi
lea ecx, [ebp - 0x3fc]
call fcn.1002fcd7
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x76c]
push 6
pop eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x4c], 0x42b9193c
mov dword [ebp - 0x4c], 0xfffffffa
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x4c], 0x96a0b597
mov dword [ebp - 0x24], 0xb441791e
mov dword [ebp - 0x74], 2
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x30], 0xb3f4b141
push edi
call fcn.1002fcd7
mov dword [ebp - 0x10], ebx
jmp 0x10037f3d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3fc]
mov dword [eax + ecx*4], 0x5e00fe1c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10037f2a
mov dword [ebp - 0x10], ebx
jmp 0x10037f57
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x76c]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10037f47
push 2
pop edi
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], ebx
jl 0x10037f7b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3fc]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x14]
jns 0x10037f67
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x24]
test eax, eax
je 0x10037f89
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
dec dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x3fc]
push 9
pop ecx
sub ecx, dword [eax]
xor eax, eax
cmp ecx, esi
lea ecx, [ebp - 0x76c]
setge al
mov dword [ebp - 0x38], eax
call fcn.100302f8
xor eax, eax
lea ecx, [ebp - 0x3fc]
inc eax
mov byte [ebp - 4], al
call fcn.100302f8
dec dword [ebp - 0x28]
push 1
pop esi
cmp dword [ebp - 0x28], 0xfffffff5
jle 0x10037ecc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x87c]
call fcn.100302f8
mov dword [ebp - 0x34], 0x48bbca63
lea ecx, [ebp - 0x894]
mov dword [ebp - 0x28], 7
push edi
call fcn.1002fcd7
push 3
pop esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x4c], 0x5c5735e4
mov dword [ebp - 0x4c], 0x52835357
mov dword [ebp - 0x4c], 0xa0a5dec4
mov dword [ebp - 0x14], ebx
jmp 0x10038038
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x894]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10038025
xor ecx, ecx
inc ecx
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], ebx
jl 0x100381f1
push 4
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x4c], 0x2fb5a5ef
mov dword [ebp - 0x20], 0x8a94b2ab
mov dword [ebp - 0x14], ebx
jmp 0x10038077
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6dc], 0x644accb2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10038066
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], ebx
jl 0x100381e5
mov dword [ebp - 0x14], ebx
jmp 0x1003809e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x430], 0xffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003808d
inc dword [ebp - 0x430]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
jl 0x100381dc
mov dword [ebp - 0x24], 0x1848
cmp dword [ebp - 0x24], 0x529
jge 0x100381c0
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xe4]
push eax
push 0x10007afc
call fcn.1005cf7b
add esp, 0xc
mov ecx, 0x1173bf08
push dword [ebp - 0xe4]
call fcn.10030314
cmp dword [ebp - 0xe4], 0
mov esi, ebx
jle 0x100381ab
mov eax, dword [0x1173bf08]
lea eax, [eax + esi*8]
push eax
push 0x10007910
call fcn.1005cf7b
inc esi
pop ecx
pop ecx
cmp esi, dword [ebp - 0xe4]
jl 0x10038104
jmp 0x100381ab
dec eax
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x2d0]
push eax
push 0x10007910
call fcn.1005cf7b
mov esi, dword [0x1173bf0c]
lea edx, [ebp - 0x2d0]
mov edi, dword [0x1173bf08]
lea ecx, [ebp - 0x6ec]
push esi
push edi
call fcn.10034ad6
sub esi, edi
add esp, 0x10
sar esi, 3
mov eax, dword [eax]
sub eax, edi
sar eax, 3
cdq
mov ecx, eax
cmp ecx, esi
jne 0x10038178
cmp edx, ebx
je 0x100381a0
mov eax, dword [edi + ecx*8]
cmp eax, dword [ebp - 0x2d0]
jne 0x100381a0
mov eax, dword [edi + ecx*8 + 4]
cmp eax, dword [ebp - 0x2cc]
jne 0x100381a0
push edx
push ecx
push 0x1000774c
call fcn.1005d3c8
add esp, 0xc
jmp 0x100381ab
push 0x100077b4
call fcn.1005d752
pop ecx
mov eax, dword [ebp - 0xb8]
test eax, eax
jne 0x10038127
dec eax
mov dword [ebp - 0xb8], eax
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], 0
je 0x100381d0
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
dec dword [ebp - 0x20]
jns 0x100380b6
xor ecx, ecx
inc ecx
dec dword [ebp - 0x2c]
jns 0x10038088
dec dword [ebp - 0x34]
jns 0x1003804d
push 3
pop esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x894]
call fcn.100302f8
push 6
pop eax
mov dword [ebp - 0x80], 0xc8100c43
lea ecx, [ebp - 0x5a8]
mov dword [ebp - 0x24], eax
push esi
call fcn.1002fcd7
xor eax, eax
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x14], ebx
jmp 0x10038233
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x5a8]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10038224
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x5a8]
mov dword [eax + 8], ecx
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], 0
je 0x10038253
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea ecx, [ebp - 0x5a8]
call fcn.100302f8
mov dword [ebp - 0x18], 0xc9a130df
lea ecx, [ebp - 0x3e4]
mov dword [ebp - 0x10], 7
push 2
call fcn.1002fcd7
push 4
pop eax
push 2
lea ecx, [ebp - 0x5c0]
mov dword [ebp - 4], eax
call fcn.1002fcd7
xor eax, eax
mov byte [ebp - 4], 5
inc eax
lea ecx, [ebp - 0x39c]
push eax
call fcn.1002fcd7
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x30], 0xaf86f25d
mov dword [ebp - 0x30], 0x215169ff
push 2
mov dword [ebp - 0x24], 0x37f4a7d2
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x100382d6
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3e4]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100382c3
mov dword [ebp - 0x18], ebx
jmp 0x100382f3
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5c0]
mov dword [eax + ecx*4], 0x509e71b3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100382e0
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x10038310
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x39c]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10038300
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp eax, edx
mov eax, dword [ebp - 0x10]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x5c0]
setge dl
xor ecx, ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x10]
cmp edx, eax
mov eax, dword [ebp - 0x39c]
setg cl
xor edx, edx
inc edx
cmp edx, ecx
mov dword [eax], ecx
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x10]
jge 0x10038360
mov eax, dword [ebp - 0x39c]
mov ecx, ebx
cmp dword [eax], ebx
je 0x10038362
mov ecx, edx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3e4]
mov dword [eax], edx
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xfffffff6
setne al
xor ecx, ecx
cmp edx, eax
sete cl
sub ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x10]
je 0x100383b4
mov eax, dword [ebp - 0x3e4]
cmp dword [eax], ebx
je 0x100383b4
xor eax, eax
lea ecx, [eax + 1]
jmp 0x100383b6
mov ecx, ebx
mov eax, dword [ebp - 0x10]
xor edx, edx
imul eax, ecx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
lea ecx, [ebp - 0x39c]
setge dl
mov dword [ebp - 0x24], edx
call fcn.100302f8
lea ecx, [ebp - 0x5c0]
call fcn.100302f8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3e4]
call fcn.100302f8
mov dword [ebp - 0x24], 0x1472
cmp dword [ebp - 0x24], 0x46a
jge 0x10038546
lea eax, [ebp - 0x90]
push eax
push 0x1000773c
call fcn.1005cf7b
pop ecx
pop ecx
push dword [ebp - 0x90]
lea ecx, [ebp - 0x5d8]
call fcn.1002fcd7
mov eax, dword [ebp - 0x90]
mov esi, dword [ebp - 0x5d8]
test eax, eax
jle 0x10038461
push 4
mov edi, esi
pop esi
push edi
push 0x1000773c
call fcn.1005cf7b
mov eax, dword [ebp - 0x90]
inc ebx
pop ecx
add edi, esi
pop ecx
cmp ebx, eax
jl 0x10038441
mov esi, dword [ebp - 0x5d8]
xor ecx, ecx
or edi, 0xffffffff
inc ecx
or ebx, edi
mov dword [ebp - 0x38], ebx
mov edx, ecx
mov dword [ebp - 0x68], ecx
cmp eax, ecx
jle 0x1003852e
test edi, edi
jle 0x10038485
test ebx, ebx
jg 0x1003850b
mov ecx, dword [esi + edx*4]
mov dword [ebp - 0x30], ecx
mov ecx, dword [esi + edx*4 - 4]
cmp dword [ebp - 0x30], ecx
je 0x100384ff
mov eax, dword [ebp - 0x30]
mov dword [esi + edx*4], ecx
mov dword [esi + edx*4 - 4], eax
xor eax, eax
inc eax
mov bl, al
mov byte [ebp - 0x44], al
mov ecx, eax
cmp dword [ebp - 0x90], eax
jle 0x100384e8
and dword [ebp - 0x24], 0
mov eax, dword [esi + ecx*4 - 4]
mov edx, dword [ebp - 0x44]
cmp eax, dword [esi + ecx*4]
movzx edx, dl
cmovg edx, dword [ebp - 0x24]
mov dword [ebp - 0x44], edx
xor edx, edx
cmp eax, dword [esi + ecx*4]
movzx ebx, bl
cmovl ebx, edx
cmp byte [ebp - 0x44], dl
mov edx, dword [ebp - 0x68]
jne 0x100384df
test bl, bl
je 0x10038524
inc ecx
cmp ecx, dword [ebp - 0x90]
jl 0x100384b0
mov ebx, dword [ebp - 0x38]
mov eax, dword [esi + edx*4 - 4]
mov ecx, dword [esi + edx*4]
mov dword [esi + edx*4], eax
mov dword [esi + edx*4 - 4], ecx
mov eax, dword [ebp - 0x90]
inc edx
mov dword [ebp - 0x68], edx
cmp edx, eax
jl 0x10038479
test edi, edi
js 0x1003852e
test ebx, ebx
js 0x1003852e
push ebx
push edi
push 0x10007a04
call fcn.1005d3c8
add esp, 0xc
jmp 0x10038539
lea ebx, [edx + 1]
mov edi, edx
mov dword [ebp - 0x38], ebx
jmp 0x100384eb
push 0x100077b4
call fcn.1005d752
pop ecx
lea ecx, [ebp - 0x5d8]
call fcn.100302f8
xor ebx, ebx
mov dword [ebp - 0x10], 7
lea ecx, [ebp - 0x414]
push 2
call fcn.1002fcd7
push 6
pop eax
push 2
lea ecx, [ebp - 0x5f0]
mov dword [ebp - 4], eax
call fcn.1002fcd7
xor eax, eax
mov byte [ebp - 4], 7
inc eax
lea ecx, [ebp - 0x3b4]
push eax
call fcn.1002fcd7
push 8
pop eax
mov byte [ebp - 4], al
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x30], 0xaf86f25d
mov dword [ebp - 0x30], 0x215169ff
mov dword [ebp - 0x24], 0x37f4a7d2
mov dword [ebp - 0x24], 0x26e7
cmp dword [ebp - 0x24], 0xeef
jge 0x10038655
call fcn.1005d0b5
push eax
push 0x10007884
push 0x10007888
call fcn.1005d60f
add esp, 0xc
call fcn.1005d0b5
add eax, 0x20
push eax
push 0x10007890
push 0x10007894
call fcn.1005d60f
add esp, 0xc
lea eax, [ebp - 0xd8]
mov ecx, 0x10667850
push eax
call fcn.1002f796
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x10038655
push 0xf
pop edi
cdq
xor ecx, ecx
idiv edi
inc ecx
mov esi, edx
test esi, esi
jle 0x10038628
mov edi, esi
imul ecx, esi
push 0xf
mov eax, ecx
pop ecx
cdq
idiv ecx
mov ecx, edx
dec edi
jne 0x10038615
push 0xf
pop edi
push ecx
mov ecx, 0x10667798
call fcn.1002faa6
push eax
call fcn.10034507
pop ecx
lea eax, [ebp - 0xd8]
mov ecx, 0x10667850
push eax
call fcn.1002f796
mov eax, dword [ebp - 0xd8]
test eax, eax
jne 0x10038607
push 2
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x10038670
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x414]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1003865d
mov dword [ebp - 0x18], ebx
jmp 0x1003868d
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5f0]
mov dword [eax + ecx*4], 0x509e71b3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1003867a
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x100386aa
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3b4]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1003869a
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp eax, edx
mov eax, dword [ebp - 0x10]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x5f0]
setge dl
xor ecx, ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x10]
cmp edx, eax
mov eax, dword [ebp - 0x3b4]
setg cl
xor edx, edx
inc edx
cmp edx, ecx
mov dword [eax], ecx
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x10]
jge 0x100386fa
mov eax, dword [ebp - 0x3b4]
mov ecx, ebx
cmp dword [eax], ebx
je 0x100386fc
mov ecx, edx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x414]
push 0xfffffffffffffff6
pop edi
mov dword [eax], edx
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edi
setne al
xor ecx, ecx
cmp edx, eax
sete cl
sub ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x10]
je 0x10038750
mov eax, dword [ebp - 0x414]
cmp dword [eax], ebx
je 0x10038750
xor eax, eax
lea ecx, [eax + 1]
jmp 0x10038752
mov ecx, ebx
mov eax, dword [ebp - 0x10]
xor edx, edx
imul eax, ecx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
lea ecx, [ebp - 0x3b4]
setge dl
mov dword [ebp - 0x24], edx
call fcn.100302f8
lea ecx, [ebp - 0x5f0]
call fcn.100302f8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x414]
call fcn.100302f8
mov dword [ebp - 0x30], 0x65d63260
mov dword [ebp - 0x2c], 0xeac8
mov dword [ebp - 0x4c], 0x48708ef6
mov dword [ebp - 0x24], 0x17bd
cmp dword [ebp - 0x24], 0x1050
jge 0x1003882a
lea eax, [ebp - 0xac]
push eax
push 0x1000773c
call fcn.1005cf7b
jmp 0x10038817
dec eax
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x2d4]
push eax
push 0x10007744
call fcn.1005cf7b
mov eax, dword [ebp - 0x2a8]
add esp, 0xc
mov esi, dword [ebp - 0x2d4]
cdq
idiv esi
sub esi, edx
imul esi, eax
lea ecx, [eax + 1]
imul edx, ecx
imul esi, eax
imul edx, ecx
add esi, edx
push esi
push 0x10007760
call fcn.1005d3c8
mov eax, dword [ebp - 0xac]
pop ecx
pop ecx
test eax, eax
jne 0x100387c8
dec eax
mov dword [ebp - 0xac], eax
movdqa xmm0, xmmword [0x10007f60]
lea ecx, [ebp - 0x8a4]
xor eax, eax
mov dword [ebp - 0x4c], 0x6e6a3735
inc eax
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x894]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x6c4]
movdqu xmmword [ebp - 0x8a4], xmm0
call fcn.1002fe18
push 3
mov dword [ebp - 0x4c], 0xf1e283d1
mov dword [ebp - 0x14], ebx
pop esi
jmp 0x1003887d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x858], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10038870
mov eax, 0xf30836b1
cmp dword [ebp - 0x2c], ebx
je 0x100388df
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x4c], 0xfe77dd68
mov dword [ebp - 0x4c], 0x210e164c
push 0xfffffffffffffffb
pop edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x4c], 0x89fe
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], 0
je 0x100388d7
push 0x228d
push ebx
push 0x1702
call dword [sym.imp.USER32.dll_GetWindowTextW]
dec dword [ebp - 0x858]
jmp 0x100388f4
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], 0
je 0x100388f4
push 0x213
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov dword [ebp - 0x2c], ebx
jmp 0x1003890c
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x6c4]
mov dword [eax + ecx*4], 0x132d683a
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jle 0x100388f9
lea ecx, [ebp - 0x6c4]
call fcn.100302f8
mov dword [ebp - 0x10], 0x399841b3
lea ecx, [ebp - 0x608]
push 6
mov dword [ebp - 0x30], 0x383cc47d
pop eax
mov dword [ebp - 0x30], 2
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xa9b65cab
mov dword [ebp - 0x20], 0x28cbd6cd
push esi
call fcn.1002fcd7
mov dword [ebp - 0x14], ebx
jmp 0x10038969
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x608]
mov dword [eax + ecx*4], 0xa38c8a25
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10038956
push 0xf
mov dword [ebp - 0x10], 0xc
pop edi
cmp dword [ebp - 0x10], edi
jne 0x10038a22
mov esi, dword [ebp - 0x608]
mov dword [ebp - 0x14], 0xdad5a519
xor edx, edx
mov dword [ebp - 0x68], 0x3624b674
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], ebx
jne 0x100389c2
cmp dword [ebp - 0x10], ebx
jne 0x100389c2
mov eax, ebx
jmp 0x100389c5
xor eax, eax
inc eax
mov dword [ebp - 0x30], 0xfffffff6
xor ecx, ecx
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x30]
cmp eax, 7
setne cl
xor edx, edx
imul ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x14]
imul ecx, ecx, 0xfff8
cmp eax, ecx
setle dl
xor ecx, ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setle cl
mov dword [esi + 8], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
je 0x10038987
lea ecx, [ebp - 0x608]
call fcn.100302f8
push 0xfffffffffffffff7
mov dword [ebp - 0x14], 0xe1757117
pop edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x24], 0x1b40
cmp dword [ebp - 0x24], 0x1290
jge 0x10038ab7
lea eax, [ebp - 0xb0]
push eax
push 0x1000773c
call fcn.1005cf7b
pop ecx
jmp 0x10038aa5
dec eax
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0x164]
push eax
push 0x1000773c
call fcn.1005cf7b
xor eax, eax
inc eax
mov esi, eax
pop ecx
pop ecx
cmp dword [ebp - 0x164], eax
jl 0x10038a9b
push esi
push 0x10007770
call fcn.1005d3c8
inc esi
pop ecx
pop ecx
cmp esi, dword [ebp - 0x164]
jle 0x10038a85
push 0x100076a5
call fcn.1005d752
mov eax, dword [ebp - 0xb0]
pop ecx
test eax, eax
jne 0x10038a5e
dec eax
mov dword [ebp - 0xb0], eax
push 5
mov dword [ebp - 0x4c], 0x5196ee4e
pop ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x4c], 0x950a4ba3
mov dword [ebp - 0x2c], 0xbeab1d6a
push 0xfffffffffffffffe
mov dword [ebp - 0x14], 0xffffffe4
pop esi
cmp dword [ebp - 0x14], esi
jge 0x10038bab
push 0xfffffffffffffffb
mov dword [ebp - 0x24], 0xffffffff
pop eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x4c], 0xe00f6802
push 8
pop eax
mov dword [ebp - 0x30], edi
cmp dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x24]
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, 0xdcb3
setle cl
add edx, ecx
je 0x10038b38
mov dword [ebp - 0x4c], 0xba1a
mov dword [ebp - 0x4c], 0x1f09a2b4
mov dword [ebp - 0x4c], 0xc694a61b
mov dword [ebp - 0x4c], 0xeb449523
dec dword [ebp - 0x2c]
jmp 0x10038b56
xor eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x24]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], 0xfffffff0
jmp 0x10038b96
mov dword [ebp - 0x34], 0x17
jmp 0x10038b8d
mov dword [ebp - 0x24], 0xeaa3e8f0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], 0
je 0x10038b8a
push ebx
push 0x2214
call dword [sym.imp.USER32.dll_ClientToScreen]
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffffd
jne 0x10038b68
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x25
jl 0x10038b5f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10038ae5
push 5
pop ecx
mov dword [ebp - 0x10], ebx
jmp 0x10038bbd
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x16c], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10038bb0
mov dword [ebp - 0x18], 0x3df75dce
mov dword [ebp - 0x34], 0x94a2a4f4
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x10038d5f
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x30], 0xfffffffa
mov dword [ebp - 0x48], 0x979b5cec
dec dword [ebp - 0x34]
mov dword [ebp - 0x34], 0x1b
jmp 0x10038d52
mov dword [ebp - 0x10], 0xcff8
xor eax, eax
mov dword [ebp - 0x44], 0xfffffff9
inc eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x48], edi
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], 0
je 0x10038c2e
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setl dl
xor ecx, ecx
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp edx, eax
mov eax, dword [ebp - 0x18]
mov edx, 0xfffa
setge cl
sub edx, ecx
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x68], ebx
je 0x10038c76
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x10]
xor ecx, ecx
imul edx, dword [ebp - 0x2c]
imul edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
cmp eax, edx
setge cl
cmp ecx, dword [ebp - 0x18]
je 0x10038d39
xor eax, eax
lea ecx, [ebp - 0x620]
inc eax
push eax
call fcn.1002fcd7
mov dword [ebp - 0x30], 0x1d69
xor edx, edx
mov dword [ebp - 0x74], 0xe9c7d4e7
inc edx
mov dword [ebp - 0x14], ebx
jmp 0x10038cc8
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x620]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x10038cb9
mov dword [ebp - 0x10], ebx
jmp 0x10038ce5
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x620]
mov dword [eax + ecx*4], 0xfffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10038cd2
cmp dword [ebp - 0x34], ebx
je 0x10038d1c
cmp dword [ebp - 0x30], ebx
je 0x10038cfd
cmp dword [ebp - 0x44], 0x324e8160
jge 0x10038d04
mov ecx, ebx
cmp dword [ebp - 0x24], ebx
je 0x10038d06
mov ecx, edx
mov eax, dword [ebp - 0x30]
add eax, ecx
je 0x10038d14
mov eax, edx
cmp dword [ebp - 0x2c], ebx
jne 0x10038d16
mov eax, ebx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x620]
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x48], 0x7f2a5cf6
call fcn.100302f8
jmp 0x10038d4f
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], 0
je 0x10038d4f
push 0xd1d
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x22
jg 0x10038c07
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff1
jge 0x10038be3
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], 0
je 0x10038d88
push 0x12c5
push 0xc07
push ebx
push 0x20c6
call dword [sym.imp.USER32.dll_CreateCaret]
push 2
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x10038da1
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x9cc], 0xfb11589a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10038d90
xor ecx, ecx
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x14], ebx
inc ecx
jmp 0x10038dc6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2f4], 0x648261f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10038db5
mov dword [ebp - 0x24], 0x17c9
mov eax, dword [ebp - 0x24]
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], 0
je 0x10038df5
push 0xdac
push ecx
push 0x50c
call dword [sym.imp.KERNEL32.dll_OpenProcess]
xor ecx, ecx
push 2
inc ecx
pop edx
mov dword [ebp - 0x14], ebx
jmp 0x10038e0b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2f4], 0x29be1d92
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10038dfa
mov byte [ebp - 0x19], bl
mov edi, 0xfff7
push 3
mov dword [ebp - 0x10], 5
mov dword [ebp - 0x14], ebx
pop ecx
jmp 0x10038e34
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x934], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10038e27
mov dword [ebp - 0x10], ebx
jmp 0x10038e5f
cmp dword [ebp - 0x10], edx
jle 0x10038e3e