Function at 0x1007e344
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
Encrypt data using speck
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10091523
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x340
mov byte [esp + 0x4c], cl
push ebx
push esi
push edi
push 0
pop ebx
test dl, dl
je 0x100802ee
mov dword [esp + 0x18], 0x5497
cmp dword [esp + 0x18], 0x56ad
jle 0x1007e413
mov ecx, ebx
mov dword [esp + 0xc], ebx
mov edx, ebx
mov dword [esp + 0x1c], ebx
mov eax, ebx
mov dword [esp + 0x10], ebx
or eax, edx
or eax, ecx
cdq
mov edi, eax
mov esi, edx
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
push esi
push edi
lea ecx, [esp + 0x2c0]
mov word [esp + 0x1c], ax
call fcn.1001147b
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1007e3cb
mov eax, dword [eax]
push eax
call fcn.1008287d
pop ecx
push ebx
push 1
lea ecx, [esp + 0x2c0]
call fcn.10025af4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
inc eax
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
cmp eax, 0x415d
jl 0x1007e39f
inc edx
mov dword [esp + 0x1c], edx
cmp edx, 0x6496
jl 0x1007e399
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x1bf6
jl 0x1007e393
cmp dword [esp + 0x18], 0x51aa
jge 0x1007e428
push 0x100108e8
call fcn.1008287d
pop ecx
cmp byte [ebp + 0x30], 0
je 0x100802df
push 3
pop edi
mov dword [esp + 0x124], ebx
lea ecx, [esp + 0x190]
push edi
call fcn.100254f9
mov dword [esp + 0x354], ebx
lea eax, [esp + 0x228]
push dword [esp + 0xa0]
movdqa xmm0, xmmword [0x10010e50]
lea ecx, [esp + 0x164]
push eax
lea eax, [esp + 0x220]
mov dword [esp + 0x11c], 0x74b666a7
push eax
mov dword [esp + 0xe0], 0xdc99cdf9
mov dword [esp + 0x13c], 0x996a5308
mov dword [esp + 0x110], 0xffffffff
push ebx
movdqu xmmword [esp + 0x228], xmm0
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], ebx
call fcn.10026bff
xor eax, eax
lea edx, [esp + 0x190]
inc eax
push eax
push 0x74a9
push ecx
mov byte [esp + 0x360], al
lea eax, [esp + 0x1e4]
push eax
push ecx
mov ecx, 0x155e
call fcn.1007d5f9
add esp, 0x10
lea eax, [esp + 0x118]
push eax
sub esp, 0xc
lea eax, [esp + 0xe8]
push eax
push ebx
push ecx
lea eax, [esp + 0x150]
push eax
push ecx
lea eax, [esp + 0x14c]
push eax
lea eax, [esp + 0x130]
push eax
push ecx
push 0x64ed
mov ecx, 0x58c6
call fcn.1007cf93
add esp, 0x38
lea ecx, [esp + 0x160]
call fcn.1002557b
or dword [esp + 0x354], 0xffffffff
lea ecx, [esp + 0x190]
call fcn.1002557b
lea eax, [esp + 0x94]
mov dword [esp + 0x10c], 0x8bac
push eax
push 0x48af
xor esi, esi
mov dword [esp + 0x9c], edi
inc esi
mov dword [esp + 0x30], 0x5c1d1022
push esi
push 0x598f
push 0x1e47
push ebx
push 0x7b6b
push 0x2fbf
lea eax, [esp + 0x12c]
xor dl, dl
push eax
mov ecx, 0x3493
call fcn.1007be6f
add esp, 0x24
lea eax, [esp + 0x94]
xor dl, dl
push 0x6a84
push eax
call fcn.1007e0d0
pop ecx
pop ecx
push esi
push ecx
push ecx
mov dword [esp + 0x44], 0x1009c01c
mov dword [esp + 0x4c], 4
call fcn.1007d653
mov eax, dword [esp + 0x44]
add esp, 0xc
mov eax, dword [eax]
mov dword [esp + 0x74], eax
mov dword [esp + 0x50], 0xfffffffb
mov dword [esp + 0x18], 0x1ba2
cmp dword [esp + 0x18], 0x1f41
jle 0x1007e68e
mov edx, ebx
mov dword [esp + 0xc], ebx
mov eax, ebx
mov dword [esp + 0x1c], ebx
mov ecx, ebx
mov dword [esp + 0x10], ebx
sar eax, cl
or eax, edx
cdq
mov edi, eax
mov esi, edx
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
push esi
push edi
lea ecx, [esp + 0x260]
mov word [esp + 0x1c], ax
call fcn.1001147b
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1007e643
mov eax, dword [eax]
push eax
call fcn.1008287d
pop ecx
push ebx
push 1
lea ecx, [esp + 0x260]
call fcn.10025af4
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
inc ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x10], ecx
cmp ecx, 0x25d2
jl 0x1007e617
inc eax
mov dword [esp + 0x1c], eax
cmp eax, 0x1d09
jl 0x1007e611
inc edx
mov dword [esp + 0xc], edx
cmp edx, 0x700e
jl 0x1007e60b
push 3
pop edi
push edi
lea ecx, [esp + 0xc8]
call fcn.100254f9
mov dword [esp + 0x354], 2
cmp dword [esp + 0x18], 0x19aa
jge 0x1007e6bb
push 0x10010948
call fcn.1008287d
pop ecx
push 0x74dd
xor eax, eax
mov dword [esp + 0x14], 0x5a60915b
inc eax
mov dword [esp + 0x28], 0x2714
push eax
push 0xc2d
lea ecx, [esp + 0x20c]
xor dl, dl
push ecx
push 0x4b26
push 0x99b
push 0x32b5
push 0x386c
lea ecx, [esp + 0xe4]
push ecx
push 0x53b4
push 0x1c80
push eax
xor cl, cl
call fcn.1007e344
mov dword [esp + 0x64], 0x4602
add esp, 0x30
cmp dword [esp + 0x34], 0x49a5
jle 0x1007e7da
mov dword [esp + 0x14], ebx
mov ecx, ebx
mov dword [esp + 0x20], 0x6b07
mov dword [esp + 0x18], ecx
mov eax, ecx
mov dword [esp + 0xc], 0x49cd
mov dword [esp + 0x1c], eax
mov ecx, ebx
mov dword [esp + 0x10], ebx
sar eax, cl
cdq
mov edi, eax
mov esi, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
push edi
lea ecx, [esp + 0x320]
mov dword [esp + 0x30], eax
call fcn.1001147b
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1007e779
mov eax, dword [eax]
push eax
call fcn.1008287d
pop ecx
push ebx
push 1
lea ecx, [esp + 0x320]
call fcn.10025af4
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, 0x7186
jl 0x1007e750
dec eax
dec dword [esp + 0xc]
mov dword [esp + 0x1c], eax
jne 0x1007e74a
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
add ecx, eax
dec dword [esp + 0x20]
mov dword [esp + 0x18], ecx
jne 0x1007e73c
inc eax
mov dword [esp + 0x14], eax
cmp eax, 0x35c5
jl 0x1007e72e
push 3
pop edi
mov dword [esp + 0x50], ebx
jmp 0x1007e99c
mov dword [esp + 0x44], 8
mov dword [esp + 0xc], 0xce02
mov dword [esp + 0x70], 0xe5c48968
mov dword [esp + 0x2c], 0xfffffffe
mov dword [esp + 0x44], ebx
jmp 0x1007e977
mov dword [esp + 0x1c], 0x1b713623
mov dword [esp + 0x10], 0xf2f34e40
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x1c]
neg eax
sbb eax, eax
neg eax
cmp dword [esp + 0xc], eax
jne 0x1007e83a
cmp dword [esp + 0xc], ebx
jne 0x1007e83a
mov edx, ebx
jmp 0x1007e83d
xor edx, edx
inc edx
mov eax, dword [esp + 0xc4]
xor ecx, ecx
push 0
sub edx, dword [eax]
mov eax, dword [esp + 0x54]
inc edx
cmp edx, eax
sete cl
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0x14]
cmp dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x10]
pop eax
setge al
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x44]
cmp ecx, eax
mov eax, dword [esp + 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, 0x22b6
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [esp + 0x1c]
jle 0x1007e8c3
push ecx
push ecx
push 0x5d9a
push ecx
mov edx, 0x406
mov cl, 1
call fcn.1007da88
add esp, 0x10
jmp 0x1007e961
mov dword [esp + 0x1c], 0xf6d1
mov dword [esp + 0x88], 0xc73f5cfe
cmp dword [esp + 0x1c], ebx
jne 0x1007e903
cmp dword [esp + 0x44], ebx
je 0x1007e8ed
cmp dword [esp + 0x50], ebx
je 0x1007e8ed
xor eax, eax
inc eax
jmp 0x1007e8ef
mov eax, ebx
mov dword [esp + 0x88], eax
cmp dword [esp + 0x88], ebx
jne 0x1007e903
mov eax, ebx
jmp 0x1007e906
xor eax, eax
inc eax
mov esi, dword [esp + 0x44]
xor edx, edx
cmp eax, 0xfffffff6
mov eax, dword [esp + 0xc4]
setl dl
xor ecx, ecx
cmp edx, dword [eax + esi*4]
setle cl
imul eax, ecx, 7
test eax, eax
je 0x1007e932
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
jmp 0x1007e961
lea eax, [esp + 0x44]
push eax
push ecx
lea eax, [esp + 0x78]
push eax
push ecx
lea eax, [esp + 0x60]
push 1
push eax
lea edx, [esp + 0xdc]
lea ecx, [esp + 0xa0]
call fcn.1007d959
add esp, 0x18
cmp dword [esp + 0x2c], ebx
jne 0x1007e973
sub esp, 0xc
mov edx, 0x28a6
xor cl, cl
call fcn.1007d20c
add esp, 0xc
inc dword [esp + 0x44]
cmp dword [esp + 0x44], 2
jle 0x1007e80c
push 1
push ecx
push ecx
lea eax, [esp + 0x7c]
mov ecx, 0x530a
push eax
call fcn.1007d99d
add esp, 0x10
inc dword [esp + 0x50]
cmp dword [esp + 0x50], 0x13
jle 0x1007e7e3
cmp dword [esp + 0x34], 0x4375
jge 0x1007e9bc
push 0x10010994
call fcn.1008287d
pop ecx
or dword [esp + 0x354], 0xffffffff
lea ecx, [esp + 0xc4]
call fcn.1002557b
push 0x5f5e
push 0x4059
xor eax, eax
xorps xmm0, xmm0
push 0xa03
inc eax
mov edx, 0x3ace
push eax
push 0x61e5
push eax
xor cl, cl
movdqu xmmword [esp + 0x158], xmm0
call fcn.1007c780
add esp, 0x18
cmp byte [ebp + 8], 0
je 0x1007efa7
cmp dword [esp + 0x74], 1
jne 0x1007efa7
push edi
lea ecx, [esp + 0xec]
call fcn.100254f9
mov dword [esp + 0x354], edi
mov dword [esp + 0x14], 0x6063
cmp dword [esp + 0x14], 0x618f
jle 0x1007eaf2
mov dword [esp + 0x20], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x18], 0x42b7
mov eax, ebx
mov dword [esp + 0x10], 0x5d97
mov dword [esp + 0x1c], eax
mov ecx, ebx
mov dword [esp + 0x34], ebx
and eax, ecx
cdq
mov edi, eax
mov esi, edx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
push esi
push edi
lea ecx, [esp + 0x290]
mov dword [esp + 0x30], eax
call fcn.1001147b
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1007ea90
mov eax, dword [eax]
push eax
call fcn.1008287d
pop ecx
push ebx
push 1
lea ecx, [esp + 0x290]
call fcn.10025af4
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x34], ecx
cmp ecx, 0x774f
jl 0x1007ea67
mov ecx, dword [esp + 0xc]
add eax, ecx
dec dword [esp + 0x10]
mov dword [esp + 0x1c], eax
jne 0x1007ea61
mov eax, dword [esp + 0x20]
add ecx, eax
dec dword [esp + 0x18]
mov dword [esp + 0xc], ecx
jne 0x1007ea53
inc eax
mov dword [esp + 0x20], eax
cmp eax, 0x502a
jl 0x1007ea47
push 3
pop edi
cmp dword [esp + 0x14], 0x5fac
jge 0x1007eb07
push 0x100109d0
call fcn.1008287d
pop ecx
mov dword [esp + 0xc], 0xfff6
lea ecx, [esp + 0x1cc]
mov dword [esp + 0x14], 0xda8afc1d
mov dword [esp + 0x24], edi
push 1
call fcn.100254f9
push ecx
push ecx
push 1
lea eax, [esp + 0x60]
mov byte [esp + 0x360], 4
push eax
push 0x2c7d
lea eax, [esp + 0xfc]
mov dword [esp + 0x3c], 0xfffffffc
push 0x691e
mov dword [esp + 0x40], 0xfffffff6
mov ecx, 0x6748
push eax
call fcn.1007d9b5
add esp, 0x1c
mov dword [esp + 0x54], ebx
cmp dword [esp + 0x54], edi
jge 0x1007eb8b
xor edx, edx
inc edx
mov eax, dword [esp + 0x54]
mov dword [esp + eax*4 + 0xd8], edx
inc dword [esp + 0x54]
cmp dword [esp + 0x54], edi
jl 0x1007eb76
push 0x38d7
push ecx
push ecx
push ebx
lea eax, [esp + 0x1dc]
push eax
push ecx
push 0x2538
push 0x3447
push ecx
lea edx, [esp + 0x78]
mov ecx, 0x5514
call fcn.1007c029
mov edx, dword [esp + 0x10c]
xor ecx, ecx
add esp, 0x24
mov eax, dword [edx + 4]
cmp eax, dword [edx]
setg cl
add ecx, eax
imul ecx, eax
mov dword [esp + 0xe0], ecx
test ecx, ecx
je 0x1007ebeb
cmp dword [esp + 0xc], ebx
mov edx, dword [esp + 0xe8]
je 0x1007ebeb
xor ecx, ecx
inc ecx
jmp 0x1007ebed
mov ecx, ebx
xor eax, eax
cmp ecx, 0xffffffff
setg al
imul eax, dword [edx]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], 2
cmp dword [esp + 0x14], ebx
jl 0x1007ef2b
mov dword [esp + 0x10], 0x6f1
cmp dword [esp + 0x10], 0x9f5
jle 0x1007ec94
mov ecx, ebx
mov dword [esp + 0x1c], ebx
mov eax, ebx
mov dword [esp + 0x34], ebx
xor eax, ecx
cdq
mov edi, eax
mov esi, edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
push edi
lea ecx, [esp + 0x2f0]
mov dword [esp + 0x30], eax
call fcn.1001147b
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1007ec5d
mov eax, dword [eax]
push eax
call fcn.1008287d
pop ecx
push ebx
push 1
lea ecx, [esp + 0x2f0]
call fcn.10025af4
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x34], eax
cmp eax, 0x1bb9
jl 0x1007ec34
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, 0x3dd5
jl 0x1007ec2e
mov dword [esp + 0x20], 1
cmp dword [esp + 0x10], 0x5c5
jge 0x1007ecb1
push 0x10010a10
call fcn.1008287d
pop ecx
mov dword [esp + 0x30], 0x71c25028
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x34], 0xffffffff
push 2
call fcn.100254f9
push ecx
push ecx
lea eax, [esp + 0x1e4]
mov byte [esp + 0x35c], 5
push eax
lea eax, [esp + 0x1f4]
mov dword [esp + 0x88], 0x914f0912
mov dword [esp + 0x38], 0xfffffffd
xor dl, dl
push eax
call fcn.1007c6ff
mov eax, dword [esp + 0xec]
add esp, 0x10
mov dword [esp + 0x20], eax
mov edx, 0x4b01
mov byte [esp + 0x63], bl
push 0x18c9
push 1
push ecx
lea ecx, [esp + 0x6f]
call fcn.1007c406
add esp, 0xc
mov dword [esp + 0x20], ebx
jmp 0x1007eeff
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x1c], 0xf08a1bab
mov dword [esp + 0xc], ebx
jmp 0x1007eef0
push 1
lea ecx, [esp + 0x17c]
call fcn.100254f9
push 1
push 0x305b
push 0x480b
lea eax, [esp + 0x184]
mov byte [esp + 0x360], 6
push eax
push 0xccb
push ecx
push ecx
mov dword [esp + 0x44], ebx
lea eax, [esp + 0x22c]
mov dword [esp + 0x50], 0x5a42069
mov edx, 0x1c75
push 0x59a4
mov dword [esp + 0x68], 0xd0c6a332
push ecx
mov dword [esp + 0x6c], 0x6aee34d1
mov ecx, 0x7832
mov dword [esp + 0x58], 0x5e6d9927
mov dword [esp + 0x34], 0xfffd
push eax
call fcn.1007c55e
mov eax, dword [esp + 0x48]
xor ecx, ecx
mov eax, dword [esp + 0x3c]
add esp, 0x28
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x178]
sbb ecx, ecx
neg ecx
cmp ecx, dword [eax]
je 0x1007edf9
cmp dword [esp + 0x20], ebx
jne 0x1007edf9
xor ecx, ecx
mov edx, ebx
inc ecx
jmp 0x1007edfe
xor ecx, ecx
inc ecx
mov edx, ecx
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0xd8], edx
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0xd8]
sub eax, dword [esp + 0x14]
je 0x1007ee1e
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x1c], ecx
jle 0x1007ee30
mov edx, ecx
cmp dword [esp + 0x30], ebx
jne 0x1007ee32
mov edx, ebx
xor eax, eax
cmp edx, 0xaeb3
setle al
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], ebx
jne 0x1007ee72
mov eax, dword [esp + 0x1c]
xor ecx, ecx
cmp eax, 0x24539cfd
setle cl
cmp ecx, dword [esp + 0x2c]
jge 0x1007ee70
xor ecx, ecx
inc ecx
cmp dword [esp + 0x18], ebx
jne 0x1007ee72
mov ecx, ebx
mov dword [esp + 0x34], ecx
xor edx, edx
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0xd8], esi
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
cmp ecx, eax
setg dl
sub edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [esp + 0x178]
setl cl
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [esp + 0x24]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp esi, ecx
lea ecx, [esp + 0x178]
setne al
mov dword [esp + 0x48], eax
mov byte [esp + 0x354], 5
call fcn.1002557b
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jle 0x1007ed50
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 2
jle 0x1007ed37
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x354], 4
call fcn.1002557b
dec dword [esp + 0x14]
jns 0x1007ec16
push 3
pop edi
lea ecx, [esp + 0x1cc]
call fcn.1002557b
or dword [esp + 0x354], 0xffffffff
lea ecx, [esp + 0xe8]
call fcn.1002557b
push ecx
push ecx
push 0x7825
lea eax, [esp + 0x4c]
push eax
push ecx
push ecx
lea eax, [esp + 0x158]
mov cl, 1
push eax
call fcn.1007e125
add esp, 0x1c
lea eax, [esp + 0x38]
mov edx, 0x1d57
mov ecx, 0x2595
push 1
push eax
push 0x40f0
push 0x45ac
push ebx
push ebx
push 0x4f70
push 0x1db6
lea eax, [esp + 0x160]
push eax
push 0x3f5c
call fcn.1007df37
add esp, 0x28
push ebx
push ecx
mov dword [esp + 0x20], 0x48261f9c
push ecx
mov dword [esp + 0x48], 0x29be1d92
lea ecx, [esp + 0x78]
mov dword [esp + 0x78], 0xf37d
mov dword [esp + 0x138], 0xffffffff
push 0x67d3
call fcn.1007d99d
mov eax, dword [esp + 0x4c]
add esp, 0x10
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
neg eax
sbb eax, eax
xor edx, edx
neg eax
inc edx
cmp edx, eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x5f5b
setne cl
xor edx, edx
sub ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
add ecx, 8
cmp eax, ecx
mov eax, dword [esp + 0x18]
setle dl
add eax, edx
je 0x1007f1a2
mov dword [esp + 0x20], 1
mov dword [esp + 0x28], 0x7cd3
mov dword [esp + 0x7c], 7
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x18], 0x16
jge 0x1007f2f3
mov esi, 0xc01
mov dword [esp + 0x14], ebx
mov dword [esp + 0x150], esi
mov dword [esp + 0x154], esi
mov dword [esp + 0x158], esi
mov dword [esp + 0x15c], esi
mov dword [esp + 0x3c], ebx
jmp 0x1007f179
mov dword [esp + 0x24], 0x95e04a2
xor edx, edx
mov dword [esp + 0xc], 0x169b41db
mov dword [esp + 0x2c], 4
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
imul ecx, dword [esp + 0x24], 0xffff
mov eax, dword [esp + 0x18]
cmp ecx, eax
setge dl
xor ecx, ecx
add edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edx, eax
setne cl
xor edx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
cmp ecx, eax
mov eax, dword [esp + 0x3c]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x7c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
sub ecx, dword [esp + 0x48]
cmp ecx, eax
setne dl
sub edx, 0xfffffff9
neg edx
sbb edx, edx
inc edx
cmp edx, 0xa12a
jne 0x1007f110
cmp dword [esp + 0x18], ebx
je 0x1007f110
xor edx, edx
inc edx
jmp 0x1007f112
mov edx, ebx
mov eax, dword [esp + 0x15c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x2c]
setl cl
add eax, ecx
cmp eax, dword [esp + 0x20]
jl 0x1007f148
mov dword [esp + 0xc], ebx
jmp 0x1007f13f
cmp dword [esp + 0x15c], ebx
jne 0x1007f175
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffffd
jge 0x1007f132
jmp 0x1007f175
mov dword [esp + 0x14], ebx
jmp 0x1007f16f
mov dword [esp + 0x20], ebx
jmp 0x1007f165
mov eax, dword [esp + 0x14]
cmp dword [esp + eax*4 + 0x150], ebx
jne 0x1007f16b
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edi
jle 0x1007f154
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jle 0x1007f14e
inc dword [esp + 0x3c]
cmp dword [esp + 0x3c], 0x1b
je 0x1007f075
cmp dword [esp + 0x3c], ebx
jne 0x1007f2f3
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x16
jl 0x1007f04c
jmp 0x1007f2f3
mov dword [esp + 0x9c], 0xc0ba
mov dword [esp + 0xe4], 0xffffffff
mov dword [esp + 0x30], 0xbbb
cmp dword [esp + 0x30], 0xcd0
jle 0x1007f264
mov eax, ebx
mov dword [esp + 0x10], ebx
mov ecx, ebx
mov dword [esp + 0x2c], ebx
cdq
mov esi, ebx
idiv ecx
mov dword [esp + 0x24], esi
mov eax, edx
mov dword [esp + 0x28], eax
mov ecx, esi
shl eax, cl
cdq
mov edi, eax
mov esi, edx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push esi
push edi
lea ecx, [esp + 0x230]
mov dword [esp + 0x50], eax
call fcn.1001147b
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1007f214
mov eax, dword [eax]
push eax
call fcn.1008287d
pop ecx
push ebx
push 1
lea ecx, [esp + 0x230]
call fcn.10025af4
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
inc esi
mov dword [esp + 0x24], esi
cmp esi, 0x4b85
jl 0x1007f1e9
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, 0x4dca
jl 0x1007f1da
inc eax
mov dword [esp + 0x10], eax
cmp eax, 0x4c5d
jl 0x1007f1d4
mov dword [esp + 0x11c], 0xcda4f1df
cmp dword [esp + 0x30], 0x9f7
jge 0x1007f284
push 0x10010a58
call fcn.1008287d
pop ecx
mov dword [esp + 0x3c], ebx
cmp dword [esp + 0x3c], 7
jl 0x1007f2b5
sub esp, 0xc
lea edx, [esp + 0xa8]
mov ecx, 0x25fd
push 1
call fcn.1007c633
add esp, 0x10
inc dword [esp + 0x3c]
cmp dword [esp + 0x3c], 7
jge 0x1007f28f
xor ebx, ebx
push ebx
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0xec]
push eax
push 0x495e
lea eax, [esp + 0x7c]
push eax
push ecx
push ecx
lea eax, [esp + 0x58]
push eax
push ecx
push 0x253f
lea edx, [esp + 0xc4]
lea ecx, [esp + 0x154]
call fcn.1007c55e
add esp, 0x28
mov eax, dword [ebp + 0x1c]
cmp eax, dword [esp + 0x74]
jge 0x100802b6
push 4
lea ecx, [esp + 0x1f8]
call fcn.100254f9
push 1
push 0x6d7
push ecx
push ecx
lea eax, [esp + 0x204]
mov dword [esp + 0x364], 7
push 0x2f0c
mov dword [esp + 0x2c], 0xba76aabe
lea edx, [esp + 0x204]
push eax
call fcn.1007c746
add esp, 0x18
mov dword [esp + 0x18], ebx
push 3
pop esi
jmp 0x1007f55a
mov dword [esp + 0xc], ebx
mov dword [esp + 0x28], 9
mov dword [esp + 0x28], 1
mov dword [esp + 0x28], 0xa5852835
mov dword [esp + 0xc], ebx
jmp 0x1007f536
push 4
lea ecx, [esp + 0x1ac]
call fcn.100254f9
push ecx
push ecx
push 1
push ecx
mov byte [esp + 0x364], 8
lea eax, [esp + 0x1b8]
mov dword [esp + 0x104], 0xffffffff
lea ecx, [esp + 0x214]
mov dword [esp + 0x38], 0xfffffff7
mov edx, 0x4189
push eax
call fcn.1007bd6b
mov dword [esp + 0x48], 0x36ae
add esp, 0x14
cmp dword [esp + 0x34], 0x3a6c
jle 0x1007f444
mov eax, ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], 0x342d
cdq
mov edi, eax
mov esi, edx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
push edi
lea ecx, [esp + 0x248]
mov dword [esp + 0x30], eax
call fcn.1001147b
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1007f40c
mov eax, dword [eax]
push eax
call fcn.1008287d
pop ecx
push ebx
push 1
lea ecx, [esp + 0x248]
call fcn.10025af4
mov eax, dword [esp + 0x24]
dec eax
dec dword [esp + 0x2c]
mov dword [esp + 0x24], eax
jne 0x1007f3e5
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, 0x685f
jl 0x1007f3d9
push 3
pop esi
mov edi, dword [esp + 0x1a8]
mov dword [edi + 4], ebx
push esi
lea ecx, [esp + 0x1a0]
call fcn.100254f9
xor eax, eax
mov byte [esp + 0x354], 9
inc eax
lea ecx, [esp + 0x19c]
push eax
push 0x2882
push 0x1016
push ecx
push ebx
push eax
push 0x56dc
push 0x6fc4
push 0x21e2
push 0x38d
lea edx, [esp + 0x234]
mov ecx, 0x506f
call fcn.1007df37
lea eax, [esp + 0x1c4]
mov edx, 0x3d58
push eax
push 0x63c9
push 0x5261
push 1
push 0x6ea
push ebx
xor cl, cl
call fcn.1007c780
add esp, 0x40
mov byte [esp + 0x354], 8
lea ecx, [esp + 0x19c]
call fcn.1002557b
inc dword [edi + 4]
cmp dword [edi + 4], esi
jle 0x1007f44e
cmp dword [esp + 0x34], 0x34bf
jge 0x1007f4fe
push 0x10010ac0
call fcn.1008287d
pop ecx
push ecx
push ecx
lea eax, [esp + 0xfc]
push eax
push 0x29a
push ecx
push ecx
push 0x6f8
xor cl, cl
call fcn.1007e125
add esp, 0x1c
mov byte [esp + 0x354], 7
lea ecx, [esp + 0x1a8]
call fcn.1002557b
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jle 0x1007f377
mov byte [esp + 0x14], bl
cmp byte [esp + 0x14], 0
je 0x1007f556
push ecx
push ecx
mov dl, 1
call fcn.1007d5dc
pop ecx
pop ecx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jle 0x1007f352
or dword [esp + 0x354], 0xffffffff
lea ecx, [esp + 0x1f4]
call fcn.1002557b
push ecx
lea eax, [esp + 0x3c]
mov edx, 0x6c5a
push eax
push 0x7039
push ebx
lea ecx, [esp + 0x50]
call fcn.1007d62c
mov dword [esp + 0x144], 0xffffffff
xor ecx, ecx
mov dword [esp + 0x14c], 0x51abe719
add esp, 0x10
mov dword [esp + 0x5c], 0xc71f8b10
inc ecx
mov dword [esp + 0x2c], 0x27a8
mov dword [esp + 0xc], 0x49c99c4d
mov dword [esp + 0x24], 0xa14e
mov dword [esp + 0x18], ebx
jmp 0x1007f5e7
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0xa4], 0xff020a73
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ecx
jl 0x1007f5d4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x30], 0x20eb
mov dword [esp + 0x24], 0x44157f02
mov eax, dword [esp + 0xa4]
sub eax, dword [esp + 0x134]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x30]
setg dl
xor ecx, ecx
dec edx
cmp eax, edx
setge cl
cmp ecx, dword [esp + 0x18]
jl 0x1007f641
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
mov ecx, 0xad959fc8
mov eax, dword [esp + 0xa4]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0xc]
dec eax
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x5c]
sub ecx, 0xfffa
cmp ecx, eax
mov eax, dword [esp + 0x5c]
setg dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x18]
setle cl
mov dword [esp + 0x28], ecx
xor ecx, ecx
cmp dword [esp + 0x28], eax
mov eax, 0xfffd
setg cl
cmp eax, ecx
mov eax, dword [esp + 0x18]
sbb ecx, ecx
inc ecx
sub eax, ecx
mov dword [esp + 0x13c], eax
mov dword [esp + 0x5c], 0xfffffff9
jmp 0x1007f712
mov dword [esp + 0x98], 1
mov dword [esp + 0x100], 0xf261b24c
mov dword [esp + 0xc], ebx
jmp 0x1007f708
cmp dword [esp + 0x98], ebx
jne 0x1007f70e
push 1
push 0x555e
push 0x2b3
lea eax, [esp + 0xa4]
push eax
push ecx
lea edx, [esp + 0x114]
call fcn.1007dbc5
add esp, 0x14
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
jle 0x1007f6d7
inc dword [esp + 0x5c]
cmp dword [esp + 0x5c], 4
jge 0x1007f6bb
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x1c], edx
test edx, edx
jle 0x1007fd55
mov edi, 0x64dbb9a2
mov dword [esp + 0x10], 0xa8f93905
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
imul eax, dword [esp + 0x10]
cmp eax, 0xffffffff
setne cl
xor eax, eax
neg ecx
inc eax
cmp ecx, eax
jne 0x1007f76e
sub esp, 0xc
mov byte [esp + 0x6e], bl
mov edx, 0x4e87
lea ecx, [esp + 0x6e]
push ebx
call fcn.1007c633
add esp, 0x10
jmp 0x1007f782
push eax
sub esp, 0x18
mov byte [esp + 0x7d], bl
lea ecx, [esp + 0x7d]
call fcn.1007d124
add esp, 0x1c
push ecx
push ecx
push 0x699
push 0x26ce
mov dl, 1
call fcn.1007c6ff
mov eax, dword [esp + 0x48]
xor ecx, ecx
add esp, 0x10
mov eax, dword [eax]
mov dword [esp + 0x118], eax
mov dword [esp + 0x14], 0x1c5534bf
mov dword [esp + 0x20], 0xfffffff8
mov dword [esp + 0x4c], 0x7d6c5051
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 0xd5be
setle cl
xor edx, edx
cmp ecx, 0x7f191253
setle dl
add edx, dword [esp + 0x14]
sub edx, dword [esp + 0x14]
neg edx
sbb edx, edx
inc edx
sub edx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setl cl
sub ecx, 0xab19
add ecx, dword [esp + 0x14]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x20], ecx
jne 0x1007f814
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x14], 0x53b1dab5
je 0x1007f82d
cmp dword [esp + 0x20], ebx
je 0x1007f82d
xor ecx, ecx
inc ecx
jmp 0x1007f82f
mov ecx, ebx
xor edx, edx
xor eax, eax
inc edx
cmp ecx, edx
setge al
xor edx, edx
imul eax, eax, 3
cmp eax, 0x6193fe69
mov eax, dword [esp + 0x4c]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
imul eax, ecx, 0xede0
neg eax
sbb eax, eax
inc eax
cmp eax, dword [esp + 0x4c]
jg 0x1007f9b0
push 2
lea ecx, [esp + 0x1c4]
call fcn.100254f9
lea eax, [esp + 0x214]
mov dword [esp + 0x354], 0xb
push eax
push ecx
lea eax, [esp + 0x1c8]
mov dword [esp + 0xd8], ebx
push ebx
mov dword [esp + 0x114], 0x91f32afc
mov edx, 0x6e61
push eax
call fcn.1007c241
mov dword [esp + 0x40], 0x724e
add esp, 0x10
cmp dword [esp + 0x30], 0x7396
jle 0x1007f95c
mov eax, ebx
mov dword [esp + 0x10], ebx
mov ecx, ebx
mov dword [esp + 0x2c], ebx
cdq
mov esi, ebx
idiv ecx
mov dword [esp + 0x24], esi
mov eax, edx
mov dword [esp + 0x28], eax
mov ecx, esi
sar eax, cl
cdq
mov edi, eax
mov esi, edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push esi
push edi
lea ecx, [esp + 0x278]
mov dword [esp + 0x50], eax
call fcn.1001147b
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1007f90c
mov eax, dword [eax]
push eax
call fcn.1008287d
pop ecx
push ebx
push 1
lea ecx, [esp + 0x278]
call fcn.10025af4
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
inc esi
mov dword [esp + 0x24], esi
cmp esi, 0x280e
jl 0x1007f8e1
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, 0x5b32
jl 0x1007f8d2
inc eax
mov dword [esp + 0x10], eax
cmp eax, 0x157c
jl 0x1007f8cc
push 1
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0xd8]
push eax
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0x118]
call fcn.1007d80b
add esp, 0x10
cmp dword [esp + 0x30], 0x6fb9
jge 0x1007f997
push 0x10010b00
call fcn.1008287d
pop ecx
or dword [esp + 0x354], 0xffffffff
lea ecx, [esp + 0x1c0]
call fcn.1002557b
jmp 0x1007fb30
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0x4c], ebx
jmp 0x1007fb25
mov dword [esp + 0x24], 1
mov dword [esp + 0x14], 0xffffffe4
jmp 0x1007fb16
mov dword [esp + 0x80], 0xd77974d3
lea ecx, [esp + 0x1b4]
push 2
call fcn.100254f9
push ebx
lea eax, [esp + 0x1f0]
mov dword [esp + 0x358], 0xc
push eax
lea eax, [esp + 0x1bc]
mov edx, 0x15f3
push eax
push 0x40bc
push ecx
call fcn.1007dbc5
mov dword [esp + 0x34], ebx
add esp, 0x14
cmp dword [esp + 0x20], esi
jg 0x1007fae8
mov edi, dword [esp + 0x1b4]
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0xa8]
mov eax, dword [esp + 0xb4]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0xb0]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0xa8]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + eax*4 + 0xa8]
test eax, eax
mov eax, dword [esp + 0x80]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x4c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x80]
setle cl
cmp ecx, 0xaa8c97d7
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
mov eax, dword [esp + 0x20]
setl dl
mov ecx, dword [esp + eax*4 + 0xa8]
mov eax, dword [esp + 0xb4]
add ecx, edx
xor edx, edx
cmp ecx, eax
setge dl
add edx, 0x61f8
mov dword [edi + 4], edx
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jle 0x1007fa47
push ecx
push 1
lea edx, [esp + 0x88]
mov ecx, 0x35ed
call fcn.1007de18
or dword [esp + 0x35c], 0xffffffff
pop ecx
pop ecx
lea ecx, [esp + 0x1b4]
call fcn.1002557b
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x2d
jl 0x1007f9ea
dec dword [esp + 0x4c]
cmp dword [esp + 0x4c], 0xffffffe7
jne 0x1007f9d5
push ecx
lea eax, [esp + 0x3c]
push eax
push ecx
push ebx
lea edx, [esp + 0x50]
call fcn.1007d342
mov eax, dword [esp + 0x48]
sub esp, 0xc
mov eax, dword [eax]
mov dword [esp + 0x144], eax
call fcn.1007cdf0
add esp, 0x1c
lea eax, [esp + 0x38]
mov edx, 0x7fe9
mov ecx, 0x4f88
push ebx
push 0x5735
push eax
push 0x39d7
xor eax, eax
inc eax
push eax
push eax
lea eax, [esp + 0x58]
push eax
push 0x5e94
push 0x2fce
push 0x313a
call fcn.1007df37
xor eax, eax
lea ecx, [esp + 0x150]
inc eax
mov edx, 0x1b75
push eax
push 0x18dd
push 0x497b
push 0x69dd
push eax
push eax
push 0x1220
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x80]
push 0x5ad0
push eax
call fcn.1007df37
mov dword [esp + 0x78], 4
xor ecx, ecx
mov dword [esp + 0x78], 0xebaeef20
add esp, 0x50
mov dword [esp + 0x138], 0x45f1dbec
inc ecx
mov dword [esp + 0x28], 0xc0d37ad4
mov dword [esp + 0x28], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x28], 0x909b7928
mov dword [esp + 0x28], 0xed8f
mov dword [esp + 0x110], 0x1bb3
mov dword [esp + 0xc], ebx
jmp 0x1007fc36
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x208], 0xa4d63a88
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x1007fc23
lea eax, [esp + 0x110]
mov dl, cl
push eax
push 0x2728
call fcn.1007e0d0
mov dword [esp + 0x3c], 0x3784
cmp dword [esp + 0x3c], 0x37e0
pop ecx
pop ecx
jle 0x1007fcd3
mov eax, ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], 0xcff
cdq
mov edi, eax
mov esi, edx
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
push esi
push edi
lea ecx, [esp + 0x2a8]
mov word [esp + 0x1c], ax
call fcn.1001147b
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1007fc9e
mov eax, dword [eax]
push eax
call fcn.1008287d
pop ecx
push ebx
push 1
lea ecx, [esp + 0x2a8]
call fcn.10025af4
mov eax, dword [esp + 0x24]
dec eax
dec dword [esp + 0x2c]
mov dword [esp + 0x24], eax
jne 0x1007fc76
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, 0x62cd
jl 0x1007fc6a
push 0xcf5
push 0x2748
xor eax, eax
lea ecx, [esp + 0x140]
inc eax
push eax
push 0x72be
push 0x2569
push ebx
push 0x1417
push ecx
push 0x27d7
mov dl, al
mov ecx, 0x78bc
call fcn.1007be6f
add esp, 0x24
cmp dword [esp + 0x34], 0x34fe
jge 0x1007fd22
push 0x10010b58
call fcn.1008287d
pop ecx
push ecx
push 0x73ce
lea eax, [esp + 0x40]
mov ecx, 0x61d3
push eax
push 1
lea edx, [esp + 0x128]
call fcn.1007d62c
add esp, 0x10
mov edi, 0x64dbb9a2
dec dword [esp + 0x1c]
push 3
pop esi
jne 0x1007f72d
mov dword [esp + 0x10], ebx
lea ecx, [esp + 0x16c]
mov dword [esp + 0xc], ebx
push esi
call fcn.100254f9
mov dword [esp + 0x354], 0xd
mov dword [esp + 0x64], ebx
jmp 0x1007fd8e
mov eax, dword [esp + 0x64]
mov dword [esp + eax*4 + 0x184], 0xfffffff9
inc dword [esp + 0x64]
cmp dword [esp + 0x64], esi
jl 0x1007fd7b
lea eax, [esp + 0x16c]
push eax
push 0x578e
push ecx
push 1
push ecx
lea ecx, [esp + 0x78]
call fcn.1007bdae
mov eax, dword [esp + 0x24]
add esp, 0x14
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x184], 1
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x16c]
sub ecx, 0xbb7eed23
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x184]
mov eax, dword [esp + 0x16c]
mov dword [eax + 4], edx
mov eax, dword [esp + 0x188]
cmp eax, edx
setne cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
xor edx, edx
xor ecx, ecx
neg eax
inc edx
cmp eax, edx
setl cl
mov dword [esp + 0x188], ecx
lea ecx, [esp + 0x16c]
or dword [esp + 0x354], 0xffffffff
call fcn.1002557b
mov eax, dword [esp + 0x38]
mov edx, 0x52a5
push ebx
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x44]
push eax
push ecx
push 0x3253
push ecx
lea ecx, [esp + 0x4c]
call fcn.1007d5f9
add esp, 0x10
mov dword [esp + 0x7c], esi
mov dword [esp + 0xfc], 0x647dc4b
mov edx, 0x32da
mov dword [esp + 0x100], 0xffffffff
xor cl, cl
mov dword [esp + 0x124], 0xfffffff6
push 0x6f59
call fcn.1007d4f7
pop ecx
pop ecx
lea eax, [esp + 0x120]
mov edx, 0x3464
push eax
push ecx
push ecx
push 1
push 0x2ea9
push ecx
lea eax, [esp + 0x110]
push eax
lea eax, [esp + 0x118]
push eax
push ecx
lea ecx, [esp + 0x9c]
call fcn.1007c029
add esp, 0x24
mov dword [esp + 0x1c], 0x7f18
cmp dword [esp + 0x1c], 0x8152
jle 0x1007ff96
mov ecx, ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], 0x9a4
mov eax, ebx
mov dword [esp + 0x2c], 0x5053
mov dword [esp + 0x24], eax
and eax, ecx
cdq
mov edi, eax
mov esi, edx
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
push esi
push edi
lea ecx, [esp + 0x2d8]
mov word [esp + 0x1c], ax
call fcn.1001147b
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1007ff37
mov eax, dword [eax]
push eax
call fcn.1008287d
pop ecx
push ebx
push 1
lea ecx, [esp + 0x2d8]
call fcn.10025af4
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
add eax, edx
dec dword [esp + 0x2c]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], eax
jne 0x1007ff0d
mov eax, dword [esp + 0x10]
add edx, eax
dec dword [esp + 0x34]
mov dword [esp + 0x30], edx
jne 0x1007feff
inc eax
mov dword [esp + 0x10], eax
cmp eax, 0x6d15
jl 0x1007fef3
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, 0x3042
jl 0x1007feef
mov eax, dword [esp + 0x38]
mov esi, dword [eax]
mov dword [esp + 0x48], 0x100952fc
cmp dword [esp + 0x1c], 0x7d87
mov dword [esp + 0x28], esi
jge 0x1007ffbd
push 0x10010b98
call fcn.1008287d
pop ecx
mov dword [esp + 0x2c], 0xd43
cmp dword [esp + 0x2c], 0x1125
jle 0x10080064
mov ecx, ebx
mov dword [esp + 0x1c], ebx
mov eax, ebx
mov dword [esp + 0x10], ebx
mov esi, ebx
mov dword [esp + 0x24], ebx
cdq
idiv esi
and edx, ecx
mov eax, edx
cdq
mov edi, eax
mov esi, edx
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
push esi
push edi
lea ecx, [esp + 0x308]
mov word [esp + 0x1c], ax
call fcn.1001147b
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10080014
mov eax, dword [eax]
push eax
call fcn.1008287d
pop ecx
push ebx
push 1
lea ecx, [esp + 0x308]
call fcn.10025af4
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
inc esi
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], esi
cmp esi, 0x18a6
jl 0x1007ffe5
inc eax
mov dword [esp + 0x10], eax
cmp eax, 0x11dc
jl 0x1007ffdf
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, 0x4c55
jl 0x1007ffd9
mov esi, dword [esp + 0x28]
push ecx
push ecx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x44]
call fcn.1007df2b
add esp, 0xc
cmp dword [esp + 0x2c], 0xa9c
jge 0x1008008c
push 0x10010bc0
call fcn.1008287d
pop ecx
test esi, esi
jne 0x100802b6
push 0x285d
lea eax, [esp + 0x44]
push eax
xor eax, eax
lea ecx, [ebp + 8]
inc eax
push eax
push ecx
lea ecx, [esp + 0x78]
mov dl, al
push ecx
push eax
lea ecx, [esp + 0x8c]
push ecx
push 0x91e
push 0x60fb
lea ecx, [esp + 0x164]
call fcn.1007be6f
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0x5c]
add esp, 0x24
mov edi, dword [eax]
lea eax, [esp + 0x40]
push eax
push ebx
push ecx
mov ecx, 0x214b
call fcn.1007c406
mov eax, dword [esp + 0x44]
add esp, 0xc
mov eax, dword [eax]
push 0xc51
push ebx
mov dword [esp + 0x80], eax
lea eax, [esp + 0x40]
push eax
push 0x5ee4
push 0x3461
push 0x242
push 0x1d40
push 0x3f8b
push 0x2393
push 0x30a7
lea eax, [esp + 0x68]
push eax
xor eax, eax
inc eax
push eax
mov dl, al
mov cl, al
call fcn.1007e344
mov esi, dword [esp + 0x98]
push esi
call fcn.10081917
add esp, 0x34
mov dword [esp + 0x90], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0xa0], ebx
lea ecx, [esp + 0xb8]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
push eax
push esi
mov dword [esp + 0xc8], ebx
call fcn.10080d74
mov dword [esp + 0x354], 0xe
mov ecx, ebx
mov dword [esp + 0x8c], ecx
test esi, esi
jle 0x1008026b
mov eax, ecx
and eax, 0x80000001
jns 0x100801ac
dec eax
or eax, 0xfffffffe
inc eax
neg eax
push ecx
sbb eax, eax
and eax, edi
add eax, ecx
add eax, edi
imul eax, dword [esp + 0x7c]
push ecx
push ebx
push 0x5e6b
lea ecx, [esp + 0x94]
cdq
idiv esi
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x98], edx
push eax
push 0x19c7
call fcn.1007d9b5
add esp, 0x18
lea eax, [esp + 0x88]
lea edx, [esp + 0xbc]
mov cl, 1
push eax
call fcn.1007d4f7
lea eax, [esp + 0x40]
xor dl, dl
push eax
xor eax, eax
lea ecx, [esp + 0x9c]
inc eax
push eax
push 0x682
push 0x3ea2
push ecx
lea ecx, [esp + 0xa0]
push ecx
push 0x45a1
push 0x2eb4
push 0x7d2
lea ecx, [esp + 0xb8]
push ecx
push 0x2e12
push eax
mov cl, al
call fcn.1007e344
mov ecx, dword [esp + 0xc4]
add esp, 0x38
mov esi, dword [esp + 0x68]
inc ecx
mov dword [esp + 0x8c], ecx
cmp ecx, esi
jl 0x1008019e
push ebx
lea eax, [esp + 0x144]
mov dword [esp + 0x144], esi
push eax
push ecx
push ecx
lea eax, [esp + 0xa0]
mov edx, 0x140b
push eax
push 0x2e5
call fcn.1007c746
or dword [esp + 0x36c], 0xffffffff
add esp, 0x18
cmp dword [esp + 0xb8], 0
je 0x100802b6
push dword [esp + 0xb8]
call fcn.10082a49
pop ecx
push ecx
push 0x71ef
push ecx
push 1
mov edx, 0x3f33
call fcn.1007d342
mov edi, dword [ebp + 0x18]
lea esi, [esp + 0x150]
add esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x100803f7
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x2c]
add dword [eax], ecx
jmp 0x100803f7
mov dword [esp + 0x30], 0x6d94
cmp dword [esp + 0x30], 0x70ab
jle 0x100803a0
mov dword [esp + 0x10], ebx
mov esi, ebx
mov dword [esp + 0x2c], ebx
mov edi, ebx
mov dword [esp + 0x24], ebx
and edi, esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x48], edi
mov edi, ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x330]
mov eax, dword [esp + 0x48]
xor eax, edi
or eax, esi
cdq
push edx
push eax
call fcn.1001147b
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1008034b
mov eax, dword [eax]
push eax
call fcn.1008287d
pop ecx
push ebx
push 1
lea ecx, [esp + 0x338]
call fcn.10025af4
inc edi
cmp edi, 0x3a3b
jl 0x10080320
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
inc edi
mov dword [esp + 0x24], edi
cmp edi, 0xfaa
jl 0x10080314
inc esi
mov dword [esp + 0x2c], esi
cmp esi, 0x52b9
jl 0x1008030e
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, 0x71ba
jl 0x10080308
cmp dword [esp + 0x30], 0x6c96
jge 0x100803b5
push 0x10010bf0
call fcn.1008287d
pop ecx
cmp byte [esp + 0x58], 0
je 0x100803d8
mov eax, dword [ebp + 0x20]
mov edi, dword [eax]
mov eax, dword [ebp + 0x34]
mov esi, dword [eax]
mov eax, dword [ebp + 0x24]
mov edx, dword [eax]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov al, byte [edi + esi]
mov byte [edx + ecx], al
jmp 0x100803f7
mov edx, dword [ebp + 0x28]
mov dword [edx], ebx
cmp dword [edx], 3
jge 0x100803f7
mov esi, dword [ebp + 0x14]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xa876
inc dword [edx]
cmp dword [edx], 3
jl 0x100803e5
mov ecx, dword [esp + 0x34c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret