Function at 0x1002ec87
Capabilities:
Accept command line arguments
Allocate thread local storage
Check os version
Create directory
Create pipe
Delete registry key
Enumerate files on windows
Extract resource via kernel32 functions
Get common file path
Get disk information
Get disk size
Get geographical location
Get memory capacity
Get thread local storage value
Identify system language via api
Parse pe header
Query environment variable
Resume thread
Set thread local storage value
Start service

Disassembly:
mov eax, 0x10081b3d
call fcn.100803d8
mov eax, 0x1394
call fcn.1007cb90
push ebx
push esi
or esi, 0xffffffff
mov byte [ebp - 0x65], dl
mov dword [ebp - 0x24], esi
xor eax, eax
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
push edi
mov dword [ebp - 0x5c], ecx
jge 0x1002ecd5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x11c], 0xdcec3d7d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002ecbc
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [ebp - 0x24], ebx
push 7
pop edi
cmp dword [ebp - 0x24], eax
jl 0x1002eda3
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x34], 4
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x14], eax
jmp 0x1002ed0e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xdd4], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002ecfd
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x11c], 0
jne 0x1002ed8e
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x11c]
mov eax, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x11c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x11c]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x11c]
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x11c]
je 0x1002ed78
cmp dword [ebp - 0x118], 0
je 0x1002ed78
mov eax, ebx
jmp 0x1002ed7a
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
sub eax, edi
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x118]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xdd4], edi
dec dword [ebp - 0x24]
push 0
pop eax
jns 0x1002ece7
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002edcb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x134], 0xdcec3d7d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002edb2
xor eax, eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], eax
jl 0x1002ee93
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x34], 4
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x14], eax
jmp 0x1002edfe
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xee4], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002eded
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x134], 0
jne 0x1002ee7e
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x134]
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x134]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x134]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x134]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x134]
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x134]
je 0x1002ee68
cmp dword [ebp - 0x130], 0
je 0x1002ee68
mov eax, ebx
jmp 0x1002ee6a
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
sub eax, edi
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xee4], edi
dec dword [ebp - 0x24]
push 0
pop eax
jns 0x1002edd7
mov dword [ebp - 0x24], 0xae97
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1002eebc
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x122c], 0xa136951a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002eea3
xor eax, eax
dec dword [ebp - 0x24]
mov edi, dword [sym.imp.USER32.dll_GetKeyboardType]
push 3
mov dword [ebp - 0x24], eax
pop esi
jmp 0x1002ef15
mov dword [ebp - 0x20], 0xf47a6de
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002eee6
push 0x1cf5
call edi
xor eax, eax
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], eax
jl 0x1002ef12
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], eax
jl 0x1002ef0d
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x122c], 0
jne 0x1002ef0b
dec dword [ebp - 0x14]
jns 0x1002eef9
xor eax, eax
dec dword [ebp - 0x20]
jns 0x1002eeee
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x1002eecd
mov dword [ebp - 0x18], 0x38ec
xor edx, edx
mov dword [ebp - 0x48], 0x17b722ba
mov dword [ebp - 0x20], 0x97b09b37
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, ebx
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp eax, edx
setle cl
cmp ecx, 0x118c84b7
jge 0x1002f067
mov dword [ebp - 0x48], 0xed734895
lea ecx, [ebp - 0x9c0]
push 2
call fcn.10011da1
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002efbd
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1f0], 0xf93be41b
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x1002efa2
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002efe4
push dword [ebp - 0x10]
lea ecx, [ebp - 0x9c0]
call fcn.10011e0e
or ecx, 0xffffffff
mov dword [eax], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002efc6
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1002eff5
cmp dword [ebp - 0x1f0], eax
jne 0x1002eff5
mov edx, eax
jmp 0x1002effa
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x1f0]
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0x5618
lea ecx, [ebp - 0x9c0]
setne al
xor ebx, ebx
mov dword [ebp - 0x20], eax
inc ebx
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x48], eax
push ebx
call fcn.10011e0e
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002f044
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], al
jne 0x1002f05c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x1002f039
or ebx, 0xffffffff
lea ecx, [ebp - 0x9c0]
mov dword [ebp - 4], ebx
call fcn.10011e09
jmp 0x1002f07a
push 0x1c3b
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov dword [ebp - 0x34], 0xdae1dc63
or ebx, 0xffffffff
mov dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x30], 0x3fa7
lea ecx, [ebp - 0xbd0]
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x48], 0xdd3f4672
push esi
call fcn.10011da1
xor eax, eax
lea ecx, [ebp - 0x7e4]
inc eax
push eax
mov dword [ebp - 4], eax
call fcn.10011da1
mov byte [ebp - 4], 2
xor eax, eax
mov dword [ebp - 0x2c], 0x93cc2542
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], esi
jge 0x1002f0e5
push dword [ebp - 0x18]
lea ecx, [ebp - 0xbd0]
call fcn.10011e0e
mov dword [eax], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002f0ca
xor eax, eax
inc eax
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], eax
jge 0x1002f106
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x50c], esi
xor eax, eax
inc dword [ebp - 0x18]
inc eax
cmp dword [ebp - 0x18], eax
jl 0x1002f0f1
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], eax
jge 0x1002f133
push 8
pop ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x7e4]
call fcn.10011e0e
mov dword [eax], ebx
xor eax, eax
inc dword [ebp - 0x18]
inc eax
cmp dword [ebp - 0x18], eax
jl 0x1002f115
or ebx, 0xffffffff
cmp dword [ebp - 0x50c], 0xd5467356
mov eax, dword [ebp - 0x2c]
sbb ecx, ecx
neg ecx
inc dword [ebp - 0x2c]
cmp eax, ecx
jne 0x1002f152
xor eax, eax
lea esi, [eax + 1]
jmp 0x1002f154
xor esi, esi
mov eax, dword [ebp - 0x34]
sub eax, 0xa
jne 0x1002f17d
push eax
lea ecx, [ebp - 0x7e4]
call fcn.10011e0e
cmp dword [eax], 0xf6a0
jne 0x1002f17d
push 0
lea ecx, [ebp - 0x7e4]
call fcn.10011e0e
xor eax, eax
lea ecx, [ebp - 0xbd0]
cmp esi, 1
push 2
setl al
mov dword [ebp - 0x48], eax
call fcn.10011e0e
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
lea ecx, [ebp - 0x7e4]
call fcn.10011e09
lea ecx, [ebp - 0xbd0]
mov dword [ebp - 4], ebx
call fcn.10011e09
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x10], 0x2e91a04
mov dword [ebp - 0x2c], 0x6aa16542
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x10], 0
jmp 0x1002f247
mov dword [ebp - 0x44], 0xfffd
push 3
pop eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x34], 0x2509e71b
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setge dl
xor ecx, ecx
cmp eax, edx
setl cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setne dl
cmp edx, dword [ebp - 0x10]
jle 0x1002f229
cmp dword [ebp - 0x2c], 0
je 0x1002f229
xor eax, eax
lea edx, [eax + 1]
jmp 0x1002f22b
xor edx, edx
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x1d
mov ecx, 0xda7ef5d8
je 0x1002f1d4
mov ebx, dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov byte [ebp - 0x19], 0
cmp byte [ebp - 0x19], 0
je 0x1002f269
push 0x1c4e
call ebx
push 3
xor esi, esi
lea ecx, [ebp - 0xf54]
pop eax
inc esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x24], 0x60477862
push eax
call fcn.10011da1
push 3
pop ecx
xor eax, eax
mov dword [ebp - 4], ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x1002f2b5
push dword [ebp - 0x14]
lea ecx, [ebp - 0xf54]
call fcn.10011e0e
push 3
mov dword [eax], esi
inc dword [ebp - 0x14]
pop eax
cmp dword [ebp - 0x14], eax
jl 0x1002f298
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1002f2fc
mov dword [ebp - 0x14], 0x7c203980
mov dword [ebp - 0x14], eax
jmp 0x1002f2f3
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002f2f0
push eax
push 0x21f7
push 0x1db5
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff6
jl 0x1002f2c6
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xb
jg 0x1002f2ba
push 2
pop ecx
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], eax
jl 0x1002f32c
mov dword [ebp - 0x14], 0x11151
mov dword [ebp - 0x14], eax
jmp 0x1002f322
mov dword [ebp - 0x48], eax
dec dword [ebp - 0x48]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x1002f319
dec dword [ebp - 0x24]
jns 0x1002f30d
or eax, 0xffffffff
lea ecx, [ebp - 0xf54]
mov dword [ebp - 4], eax
call fcn.10011e09
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002f361
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x124], 0xdcec3d7d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002f348
xor eax, eax
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], eax
jl 0x1002f42e
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x34], 4
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x14], eax
jmp 0x1002f394
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xef8], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002f383
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x124], 0
jne 0x1002f415
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x124]
mov eax, dword [ebp - 0x124]
mov eax, dword [ebp - 0x124]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x124]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x124]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x124]
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x124]
je 0x1002f3fe
cmp dword [ebp - 0x120], 0
je 0x1002f3fe
mov eax, esi
jmp 0x1002f400
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
sub eax, 7
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x120]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xef8], 7
dec dword [ebp - 0x24]
push 0
pop eax
jns 0x1002f36d
mov dword [ebp - 0x38], eax
or ecx, 0xffffffff
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], 0xfd47030f
mov dword [ebp - 0x30], 0xb51ad5b4
mov dword [ebp - 0x48], 0xea1325a4
mov dword [ebp - 0x30], 0x533b016f
mov dword [ebp - 0x34], ecx
push 3
pop ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x2c], 0x9794
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002f492
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x8a0], 0x1639956a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f479
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002f4b2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x131c], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002f49a
xor eax, eax
cmp dword [ebp - 0x8a0], eax
je 0x1002f4c0
mov eax, dword [ebp - 0x8a0]
mov eax, dword [ebp - 0x34]
mov ecx, esi
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], 0x4aa8a31c
mov dword [ebp - 0x34], 0
push 9
pop edx
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x48]
sub ecx, eax
sub ecx, dword [ebp - 0x48]
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x28], 0xf7e2799a
mov dword [ebp - 0x28], 0x1d
cmp dword [ebp - 0x28], 0xa
je 0x1002f56e
mov dword [ebp - 0x34], 0x4d2e
mov dword [ebp - 0x48], 0xefa9
mov dword [ebp - 0x14], 0
jmp 0x1002f52a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x714], 0x196a162c
inc dword [ebp - 0x14]
xor eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jl 0x1002f519
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x714], eax
mov byte [ebp - 0x19], 0
cmp byte [ebp - 0x19], 0
je 0x1002f562
push 0xaf6
push 0x11d5
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnableScrollBar]
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xa
jne 0x1002f502
xor esi, esi
inc esi
mov byte [ebp - 0x19], 0
cmp byte [ebp - 0x19], 0
je 0x1002f57e
call dword [sym.imp.KERNEL32.dll_GetACP]
mov dword [ebp - 0x24], 0x42a1
lea ecx, [ebp - 0x9d8]
mov dword [ebp - 0x2c], 0
push esi
call fcn.10011da1
push 5
pop eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x34], 0xbc43cc9f
mov dword [ebp - 0x10], 0
jmp 0x1002f5c5
push dword [ebp - 0x10]
lea ecx, [ebp - 0x9d8]
call fcn.10011e0e
mov dword [eax], 0x4157736d
inc dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jl 0x1002f5ae
push 3
mov dword [ebp - 0x10], 0
pop ecx
jmp 0x1002f5ea
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x137c], 0xfffffffd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002f5d9
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x9d8]
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
push 0
call fcn.10011e0e
mov dword [eax], 1
xor eax, eax
mov dword [ebp - 0x34], 7
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], al
je 0x1002f638
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
or esi, 0xffffffff
lea ecx, [ebp - 0x9d8]
mov dword [ebp - 4], esi
call fcn.10011e09
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x10], 0xd688
push 0xfffffffffffffff6
pop eax
mov dword [ebp - 0x7a8], eax
mov dword [ebp - 0x7a4], eax
mov dword [ebp - 0x7a0], eax
mov dword [ebp - 0x79c], eax
mov dword [ebp - 0x28], 0x56e74e80
mov dword [ebp - 0x48], 0x2aff635
mov dword [ebp - 0x2c], 0x7d266845
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x20], 0x1e13ca4d
mov dword [ebp - 0x38], 0xfffffff9
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0
je 0x1002f6d4
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jl 0x1002f6bb
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x1002f6bd
xor ecx, ecx
inc ecx
jmp 0x1002f6bf
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x7a4], ecx
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], eax
je 0x1002f6d4
xor eax, eax
lea edx, [eax + 1]
jmp 0x1002f6d6
xor edx, edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x7a4], eax
jne 0x1002f6f7
cmp dword [ebp - 0x28], eax
jne 0x1002f6f7
xor esi, esi
inc esi
jmp 0x1002f6fc
xor esi, esi
inc esi
mov eax, esi
mov dword [ebp - 0x2c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp eax, 0x4870
mov eax, dword [ebp - 0x10]
setge cl
xor edx, edx
cmp ecx, 0x1f0dfbc4
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x79c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, 0x360e5697
setle cl
xor eax, eax
imul ecx, dword [ebp - 0x10]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x24], 0xae97
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1002f78d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1244], 0xa136951a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002f774
xor eax, eax
dec dword [ebp - 0x24]
push 3
mov dword [ebp - 0x24], eax
pop ecx
jmp 0x1002f7e3
mov dword [ebp - 0x20], 0xf47a6de
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002f7b4
push 0x1cf5
call edi
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], eax
jl 0x1002f7e0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], eax
jl 0x1002f7db
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x1244], 0
jne 0x1002f7d9
dec dword [ebp - 0x14]
jns 0x1002f7c7
xor eax, eax
dec dword [ebp - 0x20]
jns 0x1002f7bc
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jle 0x1002f798
mov dword [ebp - 0x18], 0x38ec
xor edx, edx
mov dword [ebp - 0x48], 0x17b722ba
mov dword [ebp - 0x20], 0x97b09b37
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, esi
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp eax, edx
setle cl
cmp ecx, 0x118c84b7
jge 0x1002f932
mov dword [ebp - 0x48], 0xed734895
lea ecx, [ebp - 0xc54]
push 2
call fcn.10011da1
xor eax, eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1002f892
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1f8], 0xf93be41b
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x1002f874
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x10], eax
or edi, 0xffffffff
cmp dword [ebp - 0x10], 2
jge 0x1002f8b9
push dword [ebp - 0x10]
lea ecx, [ebp - 0xc54]
call fcn.10011e0e
mov dword [eax], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002f89e
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1002f8ca
cmp dword [ebp - 0x1f8], eax
jne 0x1002f8ca
mov edx, eax
jmp 0x1002f8d2
xor eax, eax
xor esi, esi
inc esi
lea edx, [eax + 1]
mov eax, dword [ebp - 0x1f8]
xor ecx, ecx
cmp edx, eax
push esi
setl cl
xor eax, eax
cmp ecx, 0x5618
lea ecx, [ebp - 0xc54]
setne al
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x48], eax
call fcn.10011e0e
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002f91d
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], al
jne 0x1002f05c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x1002f90e
lea ecx, [ebp - 0xc54]
mov dword [ebp - 4], edi
call fcn.10011e09
jmp 0x1002f945
mov dword [ebp - 0x34], 0xdae1dc63
or eax, 0xffffffff
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x14], 0
jmp 0x1002f95f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x12c], 0xdcec3d7d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002f94e
push 3
pop edi
mov dword [ebp - 0x30], 0x3fa7
lea ecx, [ebp - 0x9f0]
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x48], 0xdd3f4672
push edi
call fcn.10011da1
push esi
lea ecx, [ebp - 0x844]
mov dword [ebp - 4], 7
call fcn.10011da1
push 8
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x2c], 0x93cc2542
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], edi
jge 0x1002f9d9
push dword [ebp - 0x18]
lea ecx, [ebp - 0x9f0]
call fcn.10011e0e
or ecx, 0xffffffff
mov dword [eax], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1002f9bb
xor eax, eax
inc eax
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x18], eax
jge 0x1002f9fa
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6bc], edi
xor eax, eax
inc dword [ebp - 0x18]
inc eax
cmp dword [ebp - 0x18], eax
jl 0x1002f9e5
mov dword [ebp - 0x18], 0
jmp 0x1002fa1c
push dword [ebp - 0x18]
lea ecx, [ebp - 0x844]
call fcn.10011e0e
push 8
pop ecx
mov dword [eax], ecx
xor eax, eax
inc dword [ebp - 0x18]
inc eax
cmp dword [ebp - 0x18], eax
jl 0x1002fa03
cmp dword [ebp - 0x6bc], 0xd5467356
mov eax, dword [ebp - 0x2c]
sbb ecx, ecx
neg ecx
inc dword [ebp - 0x2c]
cmp eax, ecx
jne 0x1002fa40
xor eax, eax
lea esi, [eax + 1]
jmp 0x1002fa42
xor esi, esi
mov eax, dword [ebp - 0x34]
sub eax, 0xa
jne 0x1002fa6b
push eax
lea ecx, [ebp - 0x844]
call fcn.10011e0e
cmp dword [eax], 0xf6a0
jne 0x1002fa6b
push 0
lea ecx, [ebp - 0x844]
call fcn.10011e0e
xor eax, eax
lea ecx, [ebp - 0x9f0]
cmp esi, 1
push 2
setl al
mov dword [ebp - 0x48], eax
call fcn.10011e0e
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
lea ecx, [ebp - 0x844]
call fcn.10011e09
or eax, 0xffffffff
lea ecx, [ebp - 0x9f0]
mov dword [ebp - 4], eax
call fcn.10011e09
xor eax, eax
inc eax
mov dword [ebp - 0x3c], eax
js 0x10030369
mov dword [ebp - 0x10], 0x2e91a04
mov dword [ebp - 0x2c], 0x6aa16542
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x10], 0
jmp 0x1002fb43
mov dword [ebp - 0x44], 0xfffd
mov ecx, 0xda7ef5d8
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x34], 0x2509e71b
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setge dl
xor ecx, ecx
cmp eax, edx
setl cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setne dl
cmp edx, dword [ebp - 0x10]
jle 0x1002fb25
cmp dword [ebp - 0x2c], 0
je 0x1002fb25
xor eax, eax
lea edx, [eax + 1]
jmp 0x1002fb27
xor edx, edx
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x1d
je 0x1002face
mov byte [ebp - 0x19], 0
cmp byte [ebp - 0x19], 0
je 0x1002fb5a
push 0x1c4e
call ebx
xor esi, esi
lea ecx, [ebp - 0xdec]
inc esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x24], 0x60477862
push edi
call fcn.10011da1
xor eax, eax
mov dword [ebp - 4], 9
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1002fba1
push dword [ebp - 0x14]
lea ecx, [ebp - 0xdec]
call fcn.10011e0e
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002fb87
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1002fbe8
mov dword [ebp - 0x14], 0x7c203980
mov dword [ebp - 0x14], eax
jmp 0x1002fbdf
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002fbdc
push eax
push 0x21f7
push 0x1db5
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff6
jl 0x1002fbb2
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xb
jg 0x1002fba6
push 2
pop ecx
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], eax
jl 0x1002fc18
mov dword [ebp - 0x14], 0x11151
mov dword [ebp - 0x14], eax
jmp 0x1002fc0e
mov dword [ebp - 0x48], eax
dec dword [ebp - 0x48]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x1002fc05
dec dword [ebp - 0x24]
jns 0x1002fbf9
or eax, 0xffffffff
lea ecx, [ebp - 0xdec]
mov dword [ebp - 4], eax
call fcn.10011e09
mov dword [ebp - 0x34], 4
xor eax, eax
mov dword [ebp - 0x10], 0xe2799ac7
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], al
je 0x1002fc4f
push 0x261b
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffef
jne 0x1002fd5b
jmp 0x1002fc60
xor eax, eax
mov dword [ebp - 0x24], 0x19ac196a
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x48], 0xb948214d
mov dword [ebp - 0x34], 0x9892657c
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1002fc9b
or ecx, 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x125c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002fc88
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
or eax, 0xffffffff
cmp dword [ebp - 0x10], eax
jle 0x1002fcc5
cmp dword [ebp - 0x10], 0
je 0x1002fcc5
xor eax, eax
xor esi, esi
inc esi
lea ecx, [eax + 1]
jmp 0x1002fcc7
xor ecx, ecx
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x10]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], 0xffffffe9
jmp 0x1002fd48
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x1002fd33
mov dword [ebp - 0x18], 0xe483bbb6
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x18], eax
jmp 0x1002fd2b
mov dword [ebp - 0x14], 0x489b467b
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x14], eax
jmp 0x1002fd23
dec dword [ebp - 0x48]
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002fd20
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x1002fd0a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x1002fcfb
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x1c
je 0x1002fce8
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x1254]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffed
jg 0x1002fce1
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffef
je 0x1002fc5e
mov dword [ebp - 0x44], 0xfffffff6
lea ecx, [ebp - 0x59c]
mov dword [ebp - 0x24], 0x2bbef7d6
push 2
call fcn.10011da1
mov dword [ebp - 4], 0xa
mov eax, 0xfffa
mov dword [ebp - 0x2c], eax
xor eax, eax
inc eax
mov dword [ebp - 0x34], eax
push 2
mov dword [ebp - 0x38], 0x3f045180
pop eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], eax
jge 0x1002fdc0
push dword [ebp - 0x14]
lea ecx, [ebp - 0x59c]
call fcn.10011e0e
or ecx, 0xffffffff
mov dword [eax], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002fda4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
test eax, eax
mov eax, dword [ebp - 0x24]
sets cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, dword [ebp - 0x24]
je 0x1002fdf4
cmp dword [ebp - 0x24], eax
je 0x1002fdf4
xor edi, edi
inc edi
mov ecx, edi
jmp 0x1002fdf9
xor edi, edi
mov ecx, eax
inc edi
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x59c]
push eax
call fcn.10011e0e
push edi
lea ecx, [ebp - 0x59c]
mov dword [eax], 0x5689
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
dec dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x48], 0xd4938140
mov dword [ebp - 0x20], 0x95cc9e52
mov eax, dword [ebp - 0x38]
call fcn.10011e0e
mov dword [ebp - 0x48], 0x2a6add33
lea ecx, [ebp - 0x59c]
push edi
call fcn.10011e0e
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x20]
push 5
mov edx, dword [eax]
sub edx, ecx
xor ecx, ecx
pop eax
add edx, eax
mov eax, dword [ebp - 0x48]
add eax, edx
add esi, eax
mov eax, dword [ebp - 0x20]
cmp esi, eax
setge cl
or esi, 0xffffffff
sub ecx, 7
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x59c]
mov dword [ebp - 4], esi
call fcn.10011e09
xor eax, eax
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], 0xb667f5ae
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x2c], 0x1e6e4042
mov dword [ebp - 0x20], 6
mov dword [ebp - 0x48], eax
push edi
call fcn.10011da1
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x40], 0xba5e
mov dword [ebp - 0x10], 0xe1a0e1c2
mov dword [ebp - 0x14], 0xfdb8
mov dword [ebp - 0x24], 0
jmp 0x1002feeb
push dword [ebp - 0x24]
lea ecx, [ebp - 0x320]
call fcn.10011e0e
mov dword [eax], esi
inc dword [ebp - 0x24]
xor eax, eax
inc eax
cmp dword [ebp - 0x24], eax
jl 0x1002fed8
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x28], eax
jge 0x1002ff13
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x1002ff15
xor edi, edi
inc edi
jmp 0x1002ff17
xor eax, eax
mov edi, eax
inc dword [ebp - 0x40]
lea ecx, [ebp - 0x320]
mov esi, dword [ebp - 0x40]
push eax
call fcn.10011e0e
mov dword [eax], esi
xor eax, eax
cmp edi, 2
sete al
imul eax, esi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
neg eax
mov dword [ebp - 0x24], eax
jne 0x1002ff4e
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x1002ff4e
mov edx, eax
jmp 0x1002ff53
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp edx, eax
mov eax, 0xffff
setle cl
cmp eax, ecx
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x28]
jne 0x1002ff79
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1002ff79
xor edi, edi
inc edi
jmp 0x1002ff7e
xor edi, edi
inc edi
mov eax, edi
add eax, 0xfa7a
je 0x1002ff97
push 0
lea ecx, [ebp - 0x320]
call fcn.10011e0e
cmp dword [eax], 0
jne 0x1002ffa0
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x2c], eax
je 0x1002ffa2
mov edx, edi
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, edi
setle al
cmp eax, dword [ebp - 0x28]
jge 0x1002ffc2
cmp dword [ebp - 0x24], 0
je 0x1002ffc2
mov eax, edi
jmp 0x1002ffc4
xor eax, eax
mov dword [ebp - 0x2c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
cmp eax, 0x690
push 0
setne cl
mov dword [ebp - 0x28], ecx
mov ecx, 0xfffa
mov eax, dword [ebp - 0x28]
cmp ecx, eax
lea ecx, [ebp - 0x320]
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x28], 0x7528
call fcn.10011e0e
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp ecx, dword [eax]
setle dl
imul eax, edx, 0x4f89
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x100300e9
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jg 0x1003005a
push dword [ebp - 0x24]
lea ecx, [ebp - 0x320]
call fcn.10011e0e
mov ecx, dword [ebp - 0x10]
xor edx, edx
cmp ecx, edi
setg dl
xor ecx, ecx
cmp edx, 0x8918
setl cl
mov dword [eax], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0
jle 0x1003002a
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x100300dd
mov dword [ebp - 0x14], eax
jmp 0x100300a0
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x10030075
call dword [sym.imp.KERNEL32.dll_GetConsoleCP]
xor eax, eax
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1003009d
push eax
push 0x1cbc
push 0x1455
push eax
push 0x22ca
push 0x500
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x10030064
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jg 0x100300da
push dword [ebp - 0x10]
lea ecx, [ebp - 0x320]
call fcn.10011e0e
push dword [ebp - 0x10]
lea ecx, [ebp - 0x320]
mov esi, eax
call fcn.10011e0e
mov ecx, dword [esi]
mov dword [eax], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0
jle 0x100300ad
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x1003005f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x10030022
or esi, 0xffffffff
lea ecx, [ebp - 0x320]
mov dword [ebp - 4], esi
call fcn.10011e09
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x34], 0x85ea6eda
mov dword [ebp - 0x28], 0xfffffff3
jmp 0x1003018f
mov dword [ebp - 0x2c], 0xf200
lea ecx, [ebp - 0xbac]
push 4
call fcn.10011da1
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x14], 0
jmp 0x10030151
push dword [ebp - 0x14]
lea ecx, [ebp - 0xbac]
call fcn.10011e0e
mov dword [eax], 0x82d564c7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1003013a
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jne 0x10030162
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0xbac]
push 0
call fcn.10011e0e
lea ecx, [ebp - 0xbac]
mov dword [eax], 0xa0bdbdf7
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], esi
call fcn.10011e09
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe5
jge 0x10030116
mov dword [ebp - 0x14], 0
jmp 0x100301af
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf0c], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003019e
push edi
lea ecx, [ebp - 0x2b4]
call fcn.10011da1
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x48], 2
mov dword [ebp - 0x10], 0
jmp 0x100301f5
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2b4]
call fcn.10011e0e
push 5
pop ecx
mov dword [eax], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100301df
mov dword [ebp - 0x10], 0
jmp 0x10030214
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6cc], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10030203
push 0
lea ecx, [ebp - 0x2b4]
call fcn.10011e0e
push 0
lea ecx, [ebp - 0x2b4]
call fcn.10011e0e
mov dword [ebp - 0x2c], 0x7adf
lea ecx, [ebp - 0x2b4]
mov eax, dword [ebp - 0x2c]
push 0
call fcn.10011e0e
push 0
lea ecx, [ebp - 0x2b4]
call fcn.10011e0e
cmp dword [eax], 0
je 0x10030267
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x10030269
mov esi, edi
jmp 0x1003026b
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x2b4]
call fcn.10011e0e
cmp esi, dword [eax]
jg 0x10030291
push 0
lea ecx, [ebp - 0x2b4]
call fcn.10011e0e
cmp dword [eax], 0
je 0x10030291
mov eax, edi
jmp 0x10030293
xor eax, eax
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x2b4]
push 0
call fcn.10011e0e
mov ecx, dword [ebp - 0x48]
xor edx, edx
push 5
cmp ecx, dword [eax]
lea ecx, [ebp - 0x2b4]
pop eax
setge dl
sub edx, eax
neg edx
sbb edx, edx
neg edx
lea eax, [edx - 8]
mov dword [ebp - 0x6cc], eax
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10011e09
mov eax, dword [ebp - 0x3c]
cmp dword [ebp + eax*4 - 0x12c], 0
jne 0x1003034d
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x12c]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + eax*4 - 0x12c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0x12c]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setge dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x12c]
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x12c]
je 0x10030336
cmp dword [ebp - 0x128], 0
je 0x10030336
mov eax, edi
jmp 0x10030338
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
sub eax, 7
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x128]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xf0c], 7
dec dword [ebp - 0x3c]
push 3
pop edi
jns 0x1002fab0
xor eax, eax
inc eax
mov ecx, 0xa5d6c05b
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], ecx
or ecx, 0xffffffff
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x704]
mov dword [ebp - 0x48], 0
push eax
call fcn.10011da1
push 2
lea ecx, [ebp - 0x458]
mov dword [ebp - 4], 0xe
call fcn.10011da1
mov byte [ebp - 4], 0xf
xor eax, eax
xor edi, edi
mov dword [ebp - 0x34], 0xd14c
mov dword [ebp - 0x10], eax
inc edi
cmp dword [ebp - 0x10], edi
jge 0x100303e6
push dword [ebp - 0x10]
lea ecx, [ebp - 0x704]
call fcn.10011e0e
and dword [eax], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100303cb
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1003040e
push dword [ebp - 0x10]
lea ecx, [ebp - 0x458]
call fcn.10011e0e
mov dword [eax], 0x6f7fbf21
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100303ef
xor eax, eax
push 3
mov dword [ebp - 0x28], eax
pop ecx
jmp 0x1003043f
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10030436
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x308], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1003041e
xor eax, eax
dec dword [ebp - 0x308]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jle 0x10030416
push eax
lea ecx, [ebp - 0x458]
call fcn.10011e0e
cmp dword [eax], 0
jne 0x100304c7
push 0
lea ecx, [ebp - 0x704]
call fcn.10011e0e
xor ebx, ebx
lea ecx, [ebp - 0x458]
push edi
cmp dword [eax], ebx
setne bl
call fcn.10011e0e
xor edx, edx
lea ecx, [ebx - 0x4594bd42]
push 0
cmp ecx, dword [eax]
lea ecx, [ebp - 0x704]
setge dl
add edx, 7
mov dword [ebp - 0x58], edx
call fcn.10011e0e
mov ecx, dword [ebp - 0x58]
xor ebx, ebx
push edi
cmp ecx, dword [eax]
lea ecx, [ebp - 0x458]
setle bl
call fcn.10011e0e
cmp ebx, dword [eax]
jne 0x100304ba
xor eax, eax
cmp dword [ebp - 0x48], eax
je 0x100304bc
mov ecx, edi
jmp 0x100304be
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x34], ecx
jl 0x100304c9
mov esi, eax
jmp 0x100304cb
xor eax, eax
mov esi, edi
push eax
lea ecx, [ebp - 0x458]
call fcn.10011e0e
xor ebx, ebx
lea ecx, [ebp - 0x704]
push 0
cmp esi, dword [eax]
sete bl
call fcn.10011e0e
xor ecx, ecx
cmp ebx, dword [eax]
setl cl
mov dword [ebp - 0x48], ecx
lea ecx, [ebp - 0x458]
call fcn.10011e09
or ebx, 0xffffffff
lea ecx, [ebp - 0x704]
mov dword [ebp - 4], ebx
call fcn.10011e09
mov eax, 0xa5d6c05b
lea ecx, [ebp - 0x5b4]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x48], 0
push edi
call fcn.10011da1
push 2
lea ecx, [ebp - 0x41c]
mov dword [ebp - 4], 0x10
call fcn.10011da1
mov byte [ebp - 4], 0x11
xor eax, eax
mov dword [ebp - 0x34], 0xd14c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x10030588
push dword [ebp - 0x10]
lea ecx, [ebp - 0x5b4]
call fcn.10011e0e
and dword [eax], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003056d
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x100305b0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x41c]
call fcn.10011e0e
mov dword [eax], 0x6f7fbf21
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10030591
xor eax, eax
push 3
mov dword [ebp - 0x28], eax
pop ecx
jmp 0x100305e1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x100305d8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x360], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100305c0
xor eax, eax
dec dword [ebp - 0x360]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jle 0x100305b8
push eax
lea ecx, [ebp - 0x41c]
call fcn.10011e0e
cmp dword [eax], 0
jne 0x10030669
push 0
lea ecx, [ebp - 0x5b4]
call fcn.10011e0e
xor ebx, ebx
lea ecx, [ebp - 0x41c]
push edi
cmp dword [eax], ebx
setne bl
call fcn.10011e0e
xor edx, edx
lea ecx, [ebx - 0x4594bd42]
push 0
cmp ecx, dword [eax]
lea ecx, [ebp - 0x5b4]
setge dl
add edx, 7
mov dword [ebp - 0x58], edx
call fcn.10011e0e
mov ecx, dword [ebp - 0x58]
xor ebx, ebx
push edi
cmp ecx, dword [eax]
lea ecx, [ebp - 0x41c]
setle bl
call fcn.10011e0e
cmp ebx, dword [eax]
jne 0x1003065c
xor eax, eax
cmp dword [ebp - 0x48], eax
je 0x1003065e
mov ecx, edi
jmp 0x10030660
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x34], ecx
jl 0x1003066b
mov esi, eax
jmp 0x1003066d
xor eax, eax
mov esi, edi
push eax
lea ecx, [ebp - 0x41c]
call fcn.10011e0e
xor ebx, ebx
lea ecx, [ebp - 0x5b4]
push 0
cmp esi, dword [eax]
sete bl
call fcn.10011e0e
xor ecx, ecx
cmp ebx, dword [eax]
setl cl
mov dword [ebp - 0x48], ecx
lea ecx, [ebp - 0x41c]
call fcn.10011e09
or esi, 0xffffffff
lea ecx, [ebp - 0x5b4]
mov dword [ebp - 4], esi
call fcn.10011e09
push 2
pop ebx
mov eax, 0xffff
lea ecx, [ebp - 0x2cc]
mov dword [ebp - 0x40], eax
push ebx
call fcn.10011da1
mov dword [ebp - 4], 0x12
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x48], 4
mov dword [ebp - 0x58], 0x2c512dc6
mov dword [ebp - 0x10], 0
jmp 0x10030702
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2cc]
call fcn.10011e0e
mov dword [eax], 0xfffffff9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100306eb
mov dword [ebp - 0x10], 0
jmp 0x1003071d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x240], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030710
push 0
lea ecx, [ebp - 0x2cc]
call fcn.10011e0e
xor ecx, ecx
cmp dword [eax], 5
mov eax, dword [ebp - 0x40]
setg cl
inc dword [ebp - 0x40]
cmp eax, ecx
je 0x10030745
mov esi, edi
jmp 0x10030747
xor esi, esi
push 0
lea ecx, [ebp - 0x2cc]
call fcn.10011e0e
xor ecx, ecx
cmp esi, dword [eax]
setle cl
xor eax, eax
cmp ecx, 0x61c0f806
jl 0x1003076c
mov esi, edi
cmp dword [ebp - 0x40], eax
jl 0x1003076e
mov esi, eax
push eax
lea ecx, [ebp - 0x2cc]
call fcn.10011e0e
push edi
lea ecx, [ebp - 0x2cc]
mov dword [eax], esi
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x240]
call fcn.10011e0e
mov ecx, dword [ebp - 0x48]
xor edx, edx
mov eax, dword [ebp - 0x240]
add ecx, eax
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov ecx, 0xffff
setg dl
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x23c]
cmp ecx, eax
mov eax, dword [ebp - 0x23c]
sbb ecx, ecx
or esi, 0xffffffff
inc ecx
imul eax, ecx
xor ecx, ecx
push 0
cmp eax, esi
setne cl
mov dword [ebp - 0x23c], ecx
lea ecx, [ebp - 0x2cc]
call fcn.10011e0e
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x2cc]
push 0
call fcn.10011e0e
lea ecx, [ebp - 0x2cc]
and dword [eax], 0
mov dword [ebp - 4], esi
call fcn.10011e09
mov eax, 0xa5d6c05b
lea ecx, [ebp - 0x68c]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x48], 0
push edi
call fcn.10011da1
push ebx
lea ecx, [ebp - 0x434]
mov dword [ebp - 4], 0x13
call fcn.10011da1
mov byte [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x34], 0xd14c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1003087f
push dword [ebp - 0x10]
lea ecx, [ebp - 0x68c]
call fcn.10011e0e
and dword [eax], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10030864
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x100308a5
push dword [ebp - 0x10]
lea ecx, [ebp - 0x434]
call fcn.10011e0e
mov dword [eax], 0x6f7fbf21
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030887
xor eax, eax
push 3
mov dword [ebp - 0x28], eax
pop ecx
jmp 0x100308d6
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x100308cd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x334], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100308b5
xor eax, eax
dec dword [ebp - 0x334]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jle 0x100308ad
push eax
lea ecx, [ebp - 0x434]
call fcn.10011e0e
cmp dword [eax], 0
jne 0x1003095e
push 0
lea ecx, [ebp - 0x68c]
call fcn.10011e0e
xor ebx, ebx
lea ecx, [ebp - 0x434]
push edi
cmp dword [eax], ebx
setne bl
call fcn.10011e0e
xor edx, edx
lea ecx, [ebx - 0x4594bd42]
push 0
cmp ecx, dword [eax]
lea ecx, [ebp - 0x68c]
setge dl
add edx, 7
mov dword [ebp - 0x58], edx
call fcn.10011e0e
mov ecx, dword [ebp - 0x58]
xor ebx, ebx
push edi
cmp ecx, dword [eax]
lea ecx, [ebp - 0x434]
setle bl
call fcn.10011e0e
cmp ebx, dword [eax]
jne 0x10030951
xor eax, eax
cmp dword [ebp - 0x48], eax
je 0x10030953
mov ecx, edi
jmp 0x10030955
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x34], ecx
jl 0x10030960
mov esi, eax
jmp 0x10030962
xor eax, eax
mov esi, edi
push eax
lea ecx, [ebp - 0x434]
call fcn.10011e0e
xor ebx, ebx
lea ecx, [ebp - 0x68c]
push 0
cmp esi, dword [eax]
sete bl
call fcn.10011e0e
xor ecx, ecx
cmp ebx, dword [eax]
setl cl
mov dword [ebp - 0x48], ecx
lea ecx, [ebp - 0x434]
call fcn.10011e09
or esi, 0xffffffff
lea ecx, [ebp - 0x68c]
mov dword [ebp - 4], esi
call fcn.10011e09
push 2
pop ebx
mov dword [ebp - 0x24], 0x2bbef7d6
lea ecx, [ebp - 0x5cc]
push ebx
call fcn.10011da1
mov dword [ebp - 4], 0x15
mov eax, 0xfffa
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x34], 0x3f045180
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], 0
jmp 0x100309f6
push dword [ebp - 0x14]
lea ecx, [ebp - 0x5cc]
call fcn.10011e0e
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100309e3
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
test eax, eax
mov eax, dword [ebp - 0x24]
sets cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, dword [ebp - 0x24]
je 0x10030a2a
mov ecx, edi
cmp dword [ebp - 0x24], eax
jne 0x10030a2c
mov ecx, eax
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x5cc]
push eax
call fcn.10011e0e
push edi
lea ecx, [ebp - 0x5cc]
mov dword [eax], 0x5689
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
dec dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x48], 0xd4938140
mov dword [ebp - 0x40], 0x95cc9e52
mov eax, dword [ebp - 0x34]
call fcn.10011e0e
mov dword [ebp - 0x48], 0x2a6add33
lea ecx, [ebp - 0x5cc]
push edi
call fcn.10011e0e
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x40]
push 5
mov edx, dword [eax]
sub edx, ecx
xor ecx, ecx
pop eax
add edx, eax
mov eax, dword [ebp - 0x48]
add eax, edx
add esi, eax
mov eax, dword [ebp - 0x40]
cmp esi, eax
setge cl
or esi, 0xffffffff
sub ecx, 7
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x5cc]
mov dword [ebp - 4], esi
call fcn.10011e09
mov eax, 0xffff
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x40], eax
push ebx
call fcn.10011da1
mov dword [ebp - 4], 0x16
mov ebx, 0x2c512dc6
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x48], 4
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x10], 0
jmp 0x10030b04
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2d8]
call fcn.10011e0e
mov dword [eax], 0xfffffff9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10030aed
mov dword [ebp - 0x10], 0
jmp 0x10030b20
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x260], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10030b13
push 0
lea ecx, [ebp - 0x2d8]
call fcn.10011e0e
xor ecx, ecx
cmp dword [eax], 5
mov eax, dword [ebp - 0x40]
setg cl
inc dword [ebp - 0x40]
cmp eax, ecx
je 0x10030b49
mov esi, edi
jmp 0x10030b4b
xor esi, esi
push 0
lea ecx, [ebp - 0x2d8]
call fcn.10011e0e
xor ecx, ecx
cmp esi, dword [eax]
setle cl
xor eax, eax
cmp ecx, 0x61c0f806
jl 0x10030b70
mov esi, edi
cmp dword [ebp - 0x40], eax
jl 0x10030b72
mov esi, eax
push eax
lea ecx, [ebp - 0x2d8]
call fcn.10011e0e
push edi
lea ecx, [ebp - 0x2d8]
mov dword [eax], esi
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x260]
call fcn.10011e0e
mov ecx, dword [ebp - 0x48]
xor edx, edx
mov eax, dword [ebp - 0x260]
add ecx, eax
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov ecx, 0xffff
setg dl
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x25c]
cmp ecx, eax
mov eax, dword [ebp - 0x25c]
sbb ecx, ecx
or esi, 0xffffffff
inc ecx
imul eax, ecx
xor ecx, ecx
push 0
cmp eax, esi
setne cl
mov dword [ebp - 0x25c], ecx
lea ecx, [ebp - 0x2d8]
call fcn.10011e0e
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x2d8]
push 0
call fcn.10011e0e
lea ecx, [ebp - 0x2d8]
and dword [eax], 0
mov dword [ebp - 4], esi
call fcn.10011e09
push 3
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], 0
pop ecx
jmp 0x10030c2d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xfc8], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10030c1c
push 2
pop esi
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], 0
jl 0x10030c67
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0xfc8]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xfc8], ecx
mov byte [ebp - 0x19], 0
cmp byte [ebp - 0x19], 0
je 0x10030c62
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
dec dword [ebp - 0x14]
jns 0x10030c3e
mov eax, 0xffff
lea ecx, [ebp - 0x2e8]
mov dword [ebp - 0x40], eax
push esi
call fcn.10011da1
mov dword [ebp - 4], 0x17
or eax, 0xffffffff
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x48], 4
mov dword [ebp - 0x58], ebx
push 2
mov dword [ebp - 0x10], 0
pop ebx
jmp 0x10030cb5
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2e8]
call fcn.10011e0e
mov dword [eax], 0xfffffff9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030c9e
mov dword [ebp - 0x10], 0
jmp 0x10030cd0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x258], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030cc3
push 0
lea ecx, [ebp - 0x2e8]
call fcn.10011e0e
xor ecx, ecx
cmp dword [eax], 5
mov eax, dword [ebp - 0x40]
setg cl
inc dword [ebp - 0x40]
cmp eax, ecx
je 0x10030cf8
mov esi, edi
jmp 0x10030cfa
xor esi, esi
push 0
lea ecx, [ebp - 0x2e8]
call fcn.10011e0e
xor ecx, ecx
cmp esi, dword [eax]
setle cl
xor eax, eax
cmp ecx, 0x61c0f806
jl 0x10030d1f
mov esi, edi
cmp dword [ebp - 0x40], eax
jl 0x10030d21
mov esi, eax
push eax
lea ecx, [ebp - 0x2e8]
call fcn.10011e0e
push edi
lea ecx, [ebp - 0x2e8]
mov dword [eax], esi
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x258]
call fcn.10011e0e
mov ecx, dword [ebp - 0x48]
xor edx, edx
mov eax, dword [ebp - 0x258]
add ecx, eax
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov ecx, 0xffff
setg dl
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x254]
cmp ecx, eax
mov eax, dword [ebp - 0x254]
sbb ecx, ecx
or esi, 0xffffffff
inc ecx
imul eax, ecx
xor ecx, ecx
push 0
cmp eax, esi
setne cl
mov dword [ebp - 0x254], ecx
lea ecx, [ebp - 0x2e8]
call fcn.10011e0e
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x2e8]
push 0
call fcn.10011e0e
lea ecx, [ebp - 0x2e8]
and dword [eax], 0
mov dword [ebp - 4], esi
call fcn.10011e09
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x58], 0x9d1fe905
mov dword [ebp - 0x18], 9
jmp 0x10030f72
mov dword [ebp - 0x2c], 0xad9ddcef
lea ecx, [ebp - 0x680]
push edi
call fcn.10011da1
mov dword [ebp - 4], 0x18
xor eax, eax
mov dword [ebp - 0x48], 0xb11de2a9
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], eax
jmp 0x10030e14
push dword [ebp - 0x14]
lea ecx, [ebp - 0x680]
call fcn.10011e0e
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10030e01
mov eax, dword [ebp - 0x18]
neg eax
cmp eax, dword [ebp - 0x18]
je 0x10030ea1
push 3
pop esi
push esi
lea ecx, [ebp - 0xa08]
call fcn.10011da1
or eax, 0xffffffff
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10030e60
push dword [ebp - 0x14]
lea ecx, [ebp - 0xa08]
call fcn.10011e0e
mov dword [eax], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10030e46
xor eax, eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x10030e8e
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x10030e78
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [ebp - 0x14]
lea ecx, [ebp - 0xa08]
call fcn.10011e0e
dec dword [ebp - 0x14]
push 0
pop eax
jns 0x10030e68
lea ecx, [ebp - 0xa08]
call fcn.10011e09
or esi, 0xffffffff
jmp 0x10030f61
mov dword [ebp - 0x44], 0x22a1
lea ecx, [ebp - 0x680]
mov dword [ebp - 0x48], 0x5b3d925d
push 0
call fcn.10011e0e
mov ecx, dword [ebp - 0x18]
xor ebx, ebx
push 0
cmp dword [eax], ecx
lea ecx, [ebp - 0x680]
setg bl
call fcn.10011e0e
mov ecx, dword [ebp - 0x44]
xor edx, edx
cmp ebx, ecx
setne dl
xor ecx, ecx
imul edx, dword [ebp - 0x18]
cmp edx, dword [eax]
setg cl
xor edx, edx
add ecx, 0x874b
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov ecx, 0xd45b0e82
setge dl
xor eax, eax
add edx, dword [ebp - 0x18]
cmp edx, esi
setg al
sub eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x44]
neg eax
cmp ecx, eax
sbb ecx, ecx
neg ecx
sub ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setne dl
imul edx, dword [ebp - 0x58]
imul eax, edx, 0xb26d
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x44], 0
jne 0x10030f7e
push 2
pop ebx
lea ecx, [ebp - 0x680]
mov dword [ebp - 4], esi
call fcn.10011e09
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1b
jge 0x10030dd6
jmp 0x10030f8c
lea ecx, [ebp - 0x680]
mov dword [ebp - 4], esi
call fcn.10011e09
push 2
pop ebx
mov dword [ebp - 0x24], 0x2bbef7d6
lea ecx, [ebp - 0x5e4]
push ebx
call fcn.10011da1
mov dword [ebp - 4], 0x1a
mov eax, 0xfffa
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x34], 0x3f045180
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], 0
jmp 0x10030fda
push dword [ebp - 0x14]
lea ecx, [ebp - 0x5e4]
call fcn.10011e0e
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10030fc7
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
test eax, eax
mov eax, dword [ebp - 0x24]
sets cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, dword [ebp - 0x24]
je 0x1003100e
mov ecx, edi
cmp dword [ebp - 0x24], eax
jne 0x10031010
mov ecx, eax
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x5e4]
push eax
call fcn.10011e0e
push edi
lea ecx, [ebp - 0x5e4]
mov dword [eax], 0x5689
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
dec dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x48], 0xd4938140
mov dword [ebp - 0x40], 0x95cc9e52
mov eax, dword [ebp - 0x34]
call fcn.10011e0e
mov dword [ebp - 0x48], 0x2a6add33
lea ecx, [ebp - 0x5e4]
push edi
call fcn.10011e0e
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x40]
push 5
mov edx, dword [eax]
sub edx, ecx
xor ecx, ecx
pop eax
add edx, eax
mov eax, dword [ebp - 0x48]
add eax, edx
add esi, eax
mov eax, dword [ebp - 0x40]
cmp esi, eax
setge cl
or eax, 0xffffffff
sub ecx, 7
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x5e4]
mov dword [ebp - 4], eax
call fcn.10011e09
push 8
pop eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x6b8]
mov dword [ebp - 0x48], 0xfffffffe
mov dword [ebp - 0x58], 0xce4a839b
push ebx
call fcn.10011da1
push 3
mov dword [ebp - 4], 0x1b
mov dword [ebp - 0x18], 0
pop ecx
jmp 0x100310db