Function at 0x1002cc88
Capabilities:
Create pipe
Delete file
Query or enumerate registry value

Disassembly:
mov eax, 0x10065ad4
call fcn.10064328
sub esp, 0x660
movdqa xmm0, xmmword [0x10074370]
lea eax, [ebp - 0x4f4]
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
lea ecx, [ebp - 0x150]
push dword [ebp - 0xcc]
xor ebx, ebx
push eax
lea eax, [ebp - 0x504]
mov dword [ebp - 0x150], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x504], xmm0
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x148], ebx
call fcn.10006116
mov dword [ebp - 0x20], 0xfffffff9
xor ecx, ecx
mov dword [ebp - 0x28], 4
inc ecx
mov dword [ebp - 0x2c], ebx
jmp 0x1002cd09
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x238], 0x59b504db
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x1002ccf8
mov dword [ebp - 0x20], 3
cmp dword [ebp - 0x20], ebx
jl 0x1002cd9e
mov dword [ebp - 0x2c], ebx
jmp 0x1002cd34
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x5a4], 0xfffffffc
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x1002cd23
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x150]
mov edx, dword [ecx + eax*4]
add edx, dword [ecx + esi*4]
xor ecx, ecx
mov dword [ebp - 0x5a4], edx
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x150]
cmp dword [esi + eax*4], edx
sete cl
xor eax, eax
cmp ecx, dword [esi]
setge al
xor ecx, ecx
cmp eax, 0x351a938
setge cl
xor edx, edx
cmp ecx, 0xffff
setne dl
xor eax, eax
cmp dword [esi + edi*4], edx
sete al
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x5a0]
mov dword [ebp - 0x238], eax
dec dword [ebp - 0x20]
jns 0x1002cd1e
lea ecx, [ebp - 0x150]
call fcn.10003978
xor esi, esi
lea ecx, [ebp - 0x3e0]
inc esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], 0xd3e9
push 2
call fcn.100038f5
push 2
mov dword [ebp - 4], ebx
pop edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1002cde1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x26c], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002cdd4
mov dword [ebp - 0x18], ebx
jmp 0x1002cdfd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x554], 0xbc9fa8bc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1002cdec
mov dword [ebp - 0x18], ebx
jmp 0x1002ce17
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3e0]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002ce08
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x1002ce38
push ebx
push ecx
push ecx
mov ecx, 0x62ba
call fcn.100299c8
add esp, 0xc
push 2
pop edx
mov dword [ebp - 0x20], edx
mov edi, 0x5427e557
cmp dword [ebp - 0x20], ebx
jl 0x1002d10f
push esi
lea ecx, [ebp - 0x3bc]
call fcn.100038f5
push 2
lea ecx, [ebp - 0x3a4]
mov byte [ebp - 4], 1
call fcn.100038f5
push 1
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 2
call fcn.100038f5
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x344]
mov dword [ebp - 0x3c], 0xfffffff8
push 3
call fcn.100038f5
mov byte [ebp - 4], 4
mov dword [ebp - 0x44], 0x7fe1
cmp dword [ebp - 0x44], 0x80d3
jle 0x1002cecf
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x10081bf8
or eax, esi
cdq
push edx
push eax
call fcn.1000377e
inc edi
cmp edi, 0x328
jl 0x1002cea7
inc esi
cmp esi, 0xa6b
jl 0x1002cea5
mov edi, 0x5427e557
mov dword [ebp - 0x40], 0xd385e13c
mov byte [ebp - 4], 5
cmp dword [ebp - 0x44], 0x7d0a
jge 0x1002cf15
mov edx, str.xpwqbkenw_rrgbuicgg_htddxvwmk_ery_ahtg_mmts_qtebpt_knv_ixdmiaie_hdcmo_zpzuewha_swxwanx
mov ecx, 0x10081bf8
call fcn.100059cc
jmp 0x1002cf15
mov dword [ebp - 4], 4
xor edx, edx
mov dword [ebp - 0x1c], 6
inc edx
mov dword [ebp - 0x3fc], edi
mov dword [ebp - 0x3f8], edi
mov dword [ebp - 0x3f4], edi
mov dword [ebp - 0x3f0], edi
mov dword [ebp - 0x54], ebx
jmp 0x1002cf56
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x3bc]
mov dword [eax + ecx*4], 0x7207182
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], edx
jl 0x1002cf43
push 0x6c88
push ecx
push ecx
push ebx
push ecx
lea edx, [ebp - 0x54]
lea ecx, [ebp - 0x3a4]
call fcn.1002a894
add esp, 0x14
lea eax, [ebp - 0x54]
lea edx, [ebp - 0x38c]
push eax
push ecx
push ecx
push 1
call fcn.1002a96f
add esp, 0x10
lea eax, [ebp - 0x344]
lea edx, [ebp - 0x54]
push 0x5245
push eax
push ecx
push ecx
push 0xe6
push ecx
push ecx
mov cl, 1
call fcn.10027542
add esp, 0x1c
mov dword [ebp - 0x54], ebx
cmp dword [ebp - 0x54], 2
jge 0x1002cfcc
xor esi, esi
inc esi
mov eax, dword [ebp - 0x54]
mov dword [ebp + eax*4 - 0x2f4], esi
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], 2
jl 0x1002cfb9
push 1
push ecx
mov byte [ebp - 0x6e], bl
lea ecx, [ebp - 0x6e]
call fcn.1002a615
pop ecx
pop ecx
cmp dword [ebp - 0x28], ebx
je 0x1002d004
mov dword [ebp - 0x44], 0x3978
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x26c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x554]
mov eax, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x3c]
xor edx, edx
xor esi, esi
inc esi
cmp eax, esi
mov eax, dword [ebp - 0x38c]
setl dl
xor ecx, ecx
cmp dword [eax], ebx
sete cl
xor eax, eax
cmp ecx, edx
setge al
xor edx, edx
cmp eax, 0xe313559
mov eax, dword [ebp - 0x2f0]
setg dl
xor ecx, ecx
cmp edx, eax
sete cl
xor edx, edx
mov dword [ebp - 0x2f0], ecx
mov eax, dword [ebp - 0x20]
lea ecx, [edx + 1]
mov eax, dword [ebp + eax*4 - 0x26c]
sub ecx, eax
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x3f4], ecx
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x1c]
cmp eax, ecx
mov esi, dword [ebp - 0x20]
lea ecx, [edx + 1]
mov eax, dword [ebp - 0x3bc]
cmovl ecx, ebx
mov dword [eax], esi
mov eax, dword [ebp - 0x344]
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x3e0]
sete dl
xor ecx, ecx
neg esi
cmp esi, edx
setg cl
xor edx, edx
cmp ecx, dword [eax + 4]
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setg cl
xor edx, edx
cmp ecx, 0x350b8378
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x268]
setne cl
xor edx, edx
imul ecx, ecx, 0x72c6
cmp eax, ecx
lea ecx, [ebp - 0x344]
setge dl
mov dword [ebp - 0x54c], edx
call fcn.10003978
lea ecx, [ebp - 0x38c]
call fcn.10003978
lea ecx, [ebp - 0x3a4]
call fcn.10003978
lea ecx, [ebp - 0x3bc]
mov byte [ebp - 4], bl
call fcn.10003978
dec dword [ebp - 0x20]
xor esi, esi
inc esi
jmp 0x1002ce40
or edi, 0xffffffff
lea ecx, [ebp - 0x3e0]
mov dword [ebp - 4], edi
call fcn.10003978
push dword [ebp - 0xcc]
movdqa xmm0, xmmword [0x10074340]
lea eax, [ebp - 0x574]
push eax
lea eax, [ebp - 0x584]
mov dword [ebp - 0x174], ebx
push eax
push ebx
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x170], ebx
movdqu xmmword [ebp - 0x584], xmm0
mov dword [ebp - 0x16c], ebx
call fcn.10006116
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x2c], 2
mov eax, 0xaf12a83a
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x28], 0xffff
mov dword [ebp - 0x44], 0xeca6c849
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x48], 0xc86992f1
push 1
call fcn.100038f5
push 1
push 0x6d95
lea eax, [ebp - 0x23c]
mov byte [ebp - 4], 8
push ebx
push eax
xor dl, dl
lea ecx, [ebp - 0x32c]
call fcn.1002ad0b
mov edx, dword [ebp - 0x174]
mov eax, 0x7013dce9
add esp, 0x10
mov dword [edx + 8], eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
je 0x1002d23e
mov edx, dword [edx + 8]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, edx
setge cl
cmp ecx, 3
sbb eax, eax
neg eax
cmp eax, edx
jg 0x1002d20d
cmp dword [ebp - 0x28], ebx
je 0x1002d20d
xor esi, esi
inc esi
jmp 0x1002d20f
mov esi, ebx
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
setge dl
xor ecx, ecx
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x1c]
cmp esi, eax
setle cl
add ecx, dword [ebp - 0x2c]
jne 0x1002d239
mov eax, dword [ebp - 0x174]
cmp dword [eax + 4], ebx
je 0x1002d23e
xor eax, eax
inc eax
jmp 0x1002d240
mov eax, ebx
push ecx
push 0x287c
push ecx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
push ecx
mov dword [ebp - 0x414], eax
push 1
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x32c]
push ecx
push eax
call fcn.100290e3
add esp, 0x1c
lea ecx, [ebp - 0x32c]
call fcn.10003978
lea ecx, [ebp - 0x174]
mov dword [ebp - 4], edi
call fcn.10003978
mov ecx, dword [0x10705aac]
xor eax, eax
inc eax
test al, cl
jne 0x1002d2c2
or ecx, eax
mov dword [0x10705aac], ecx
mov dword [ebp - 4], 9
mov dword [0x10705ab0], ebx
mov dword [0x10705ab4], ebx
call fcn.10030c47
push 0x100666db
mov dword [0x10705ab0], eax
call fcn.1004c0f5
pop ecx
mov dword [ebp - 4], edi
push dword [ebp - 0x23c]
movdqa xmm0, xmmword [0x100743a0]
lea eax, [ebp - 0x564]
push eax
lea eax, [ebp - 0x574]
mov dword [ebp - 0x28], 4
push eax
mov dword [ebp - 0x1c], 0x5ce9
lea ecx, [ebp - 0x29c]
push ebx
movdqu xmmword [ebp - 0x574], xmm0
mov dword [ebp - 0x29c], ebx
mov dword [ebp - 0x298], ebx
mov dword [ebp - 0x294], ebx
call fcn.10006116
push 1
lea ecx, [ebp - 0x4c4]
mov dword [ebp - 4], 0xa
call fcn.100038f5
push 7
pop eax
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x18], ebx
jmp 0x1002d357
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x290], 0x1d21f1eb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002d346
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x1002d378
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c4]
mov dword [eax + ecx*4], 3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002d365
mov dword [ebp - 0x18], ebx
jmp 0x1002d393
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x4a4], 6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002d382
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 0x288]
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x2c], ebx
jmp 0x1002d3c0
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x534], ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x1002d3b3
mov eax, dword [ebp - 0x52c]
xor ecx, ecx
imul eax, dword [ebp - 0x52c]
cmp eax, 0x4a6b
mov eax, 0xe7fb108f
setl cl
mov dword [ebp - 0x288], ecx
lea ecx, [ebp - 0x4c4]
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x28c], eax
call fcn.10003978
lea ecx, [ebp - 0x29c]
mov dword [ebp - 4], edi
call fcn.10003978
cmp byte [0x107045fd], 0
jne 0x10030415
push 4
lea ecx, [ebp - 0x308]
call fcn.100038f5
push 2
lea ecx, [ebp - 0x3b0]
mov dword [ebp - 4], 0xb
call fcn.100038f5
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 4
jge 0x1002d460
xor esi, esi
inc esi
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x308]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1002d44b
mov dword [ebp - 0x18], ebx
jmp 0x1002d478
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3b0]
mov dword [eax + ecx*4], 0x25d16df2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002d465
push ecx
xor cl, cl
call fcn.1002b181
lea eax, [ebp - 0x3b0]
push eax
push 0x1f4d
push ebx
push ecx
lea edx, [ebp - 0x308]
call fcn.1002c1c3
add esp, 0x14
lea ecx, [ebp - 0x3b0]
call fcn.10003978
lea ecx, [ebp - 0x308]
mov dword [ebp - 4], edi
call fcn.10003978
push 0x425c
push ecx
push 0x107045fd
push ecx
mov edx, 0x54e7
xor cl, cl
call fcn.1002b9c8
add esp, 0x10
mov dword [ebp - 0xb0], 2
lea eax, [ebp - 0xb0]
push eax
sub esp, 0x1c
push 1
call fcn.1002a9a6
mov eax, dword [ebp - 0xb0]
add esp, 0x24
sub eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x34], 0x1007e5d0
push 0xc
mov dword [ebp - 0xdc], ebx
pop esi
mov dword [ebp - 0x140], esi
cmp esi, 0xe0
jge 0x1002d86b
push 2
lea ecx, [ebp - 0x3d4]
call fcn.100038f5
mov dword [ebp - 4], 0xd
lea eax, [ebp - 0x448]
mov dword [ebp - 0x1d4], 4
mov edx, 0xaa8
mov dword [ebp - 0x1e4], 0xfffb
push ecx
mov dword [ebp - 0x1a0], 0xdb7758b3
lea ecx, [ebp - 0x3d4]
mov dword [ebp - 0x1a8], ebx
push eax
mov dword [ebp - 0x1dc], 0xfffffff8
mov dword [ebp - 0x19c], 0x9289
push ebx
mov dword [ebp - 0x22c], 8
call fcn.1002c5cb
add esp, 0xc
lea eax, [ebp - 0x3d4]
lea ecx, [ebp - 0x1d4]
push eax
push 0x2040
lea eax, [ebp - 0x22c]
push eax
push 0x678e
xor eax, eax
inc eax
push eax
push ecx
lea ecx, [ebp - 0x1dc]
mov dl, al
push ecx
push ebx
push 0x691b
lea ecx, [ebp - 0x1e4]
push ecx
lea ecx, [ebp - 0x19c]
push ecx
lea ecx, [ebp - 0x1a0]
push ecx
lea ecx, [ebp - 0x1a8]
call fcn.10029770
add esp, 0x30
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x3d4]
call fcn.10003978
mov ecx, dword [ebp - 0x34]
mov al, byte [ecx]
cmp al, byte [esi + 0x1007e5d0]
je 0x1002d610
inc esi
jmp 0x1002d516
lea eax, [ebp - 0x140]
push eax
push ebx
push 0x71b8
push 0x4b5
push ecx
lea eax, [ebp - 0xdc]
push eax
call fcn.1002b49e
mov dword [ebp - 0x24], 0x53e7
add esp, 0x18
cmp dword [ebp - 0x24], 0x5461
jle 0x1002d6c6
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov esi, ebx
mov dword [ebp - 0x38], ebx
cdq
idiv esi
mov dword [ebp - 0x2c], 0x61a0
mov eax, edx
mov dword [ebp - 0x3c], eax
mov esi, eax
mov dword [ebp - 0x44], 0x6a6b
mov eax, esi
lea ecx, [ebp - 0x5f4]
cdq
push edx
push eax
call fcn.10001b14
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002d682
mov eax, dword [eax]
push eax
call fcn.1004c11f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x5f4]
call fcn.10003c82
dec esi
dec dword [ebp - 0x44]
jne 0x1002d668
mov eax, dword [ebp - 0x3c]
dec eax
dec dword [ebp - 0x2c]
mov dword [ebp - 0x3c], eax
jne 0x1002d65f
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x38], esi
cmp esi, 0x14fc
jl 0x1002d650
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x14ba
jl 0x1002d64b
cmp dword [ebp - 0x24], 0x5302
jge 0x1002d6da
push str.bsehsvs_ykcnegwkl_mmajvxed_vkr_mwmlqhs_vzewgu_ymu_untuhebt_zexgpsw_kqthgscz_zpc_xabpprpo_jiz
call fcn.1004c11f
pop ecx
mov dword [ebp - 4], edi
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], 0xfffffff3
jg 0x1002d86b
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x24], 0xfffffff7
cmp dword [ebp - 0x24], 0xffffffe6
jne 0x1002d863
push 2
lea ecx, [ebp - 0x464]
call fcn.100038f5
mov dword [ebp - 4], 0x10
mov dword [ebp - 0x3c], 0x1c10
cmp dword [ebp - 0x3c], 0x1ce1
jle 0x1002d7d4
mov edx, ebx
mov dword [ebp - 0x1c], ebx
mov eax, ebx
mov dword [ebp - 0x38], ebx
mov esi, ebx
add eax, esi
mov ecx, ebx
add edx, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x28], edx
mov eax, ecx
lea ecx, [ebp - 0x654]
or eax, edx
cdq
push edx
push eax
call fcn.10001b14
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002d76c
mov eax, dword [eax]
push eax
call fcn.1004c11f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x654]
call fcn.10003c82
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x44], ecx
cmp ecx, 0x5966
jl 0x1002d750
mov eax, dword [ebp - 0x38]
inc esi
mov edx, dword [ebp - 0x1c]
cmp esi, 0x1806
jl 0x1002d744
inc eax
mov dword [ebp - 0x38], eax
cmp eax, 0x636c
jl 0x1002d742
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 0x1f75
jl 0x1002d73d
push 0x124c
push 0x2464
push 0xab0
push 0x1fc0
push ebx
call dword [sym.imp.USER32.dll_SetRect]
cmp dword [ebp - 0x3c], 0x1b58
jge 0x1002d7e8
push str.bta_xupntcj_gdvdhx_trzlarxkt_pwttrr_mvvunhfk_xappo_czut_nqmkw_favrs
call fcn.1004c11f
pop ecx
xor ecx, ecx
mov dword [ebp - 4], 0x10
mov dword [ebp - 0x90], ebx
inc ecx
jmp 0x1002d811
mov eax, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x47c], 0x7308f472
inc dword [ebp - 0x90]
cmp dword [ebp - 0x90], ecx
jl 0x1002d7fa
push 0x1ae6
push ecx
lea eax, [ebp - 0x464]
push eax
lea eax, [ebp - 0x90]
push eax
push 0x17f0
push ecx
xor cl, cl
call fcn.10029bd9
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x464]
mov eax, dword [ebp - 0x24]
add esp, 0x18
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], 0x7be02189
mov dword [ebp - 4], edi
call fcn.10003978
dec dword [ebp - 0x24]
jmp 0x1002d706
dec dword [ebp - 0x2c]
jmp 0x1002d6e7
mov dword [ebp - 0xac], 0xfff9
mov dword [ebp - 0x38], 0x2aa6
mov dword [ebp - 0x24], 0xfffffff6
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x44], 0x47a7
cmp dword [ebp - 0x44], 0x4b5b
jle 0x1002d901
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov esi, ebx
add eax, esi
lea ecx, [ebp - 0x624]
cdq
push edx
push eax
call fcn.10001b14
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002d8c7
mov eax, dword [eax]
push eax
call fcn.1004c11f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x624]
call fcn.10003c82
mov eax, dword [ebp - 0x1c]
inc esi
cmp esi, 0xd25
jl 0x1002d8ad
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x7310
jl 0x1002d8ab
push 0x502
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreatePipe]
mov dword [ebp - 0x2c], edi
cmp dword [ebp - 0x44], 0x4612
jge 0x1002d918
push str.rawmhldz_kyimvfz_ywglxsz_qnmxytmk_hgcu_aas_mjeidxa_awbpgrg
call fcn.1004c11f
pop ecx
mov dword [ebp - 4], edi
xor edx, edx
mov dword [ebp - 0x1c], ebx
inc edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x3c], 0xd53d2ae4
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x1b0], 0x493a
mov dword [ebp - 0x2c], ebx
jmp 0x1002d94e
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x2fc], 0x4e5477a
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jl 0x1002d93d
mov eax, dword [ebp - 0xac]
dec eax
neg eax
sbb eax, eax
inc eax
neg eax
jne 0x1002d971
mov eax, dword [ebp - 0x24]
mov ecx, ebx
imul eax, dword [ebp - 0x38]
test eax, eax
je 0x1002d973
mov ecx, edx
mov eax, dword [ebp - 0x28]
sub ecx, eax
xor eax, eax
cmp ecx, edi
setle al
xor ecx, ecx
cmp eax, 0xe6b6cd3
setg cl
add ecx, 0xffff
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0xac]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
je 0x1002da52
mov dword [ebp - 0x44], 0x1105
cmp dword [ebp - 0x44], 0x139e
jle 0x1002d9f9
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov eax, esi
mov ecx, 0x10081bf8
cdq
idiv ebx
mov eax, edx
cdq
push edx
push eax
call fcn.1000377e
inc ebx
cmp ebx, 0x289c
jl 0x1002d9c8
inc esi
push 0
pop ebx
cmp esi, 0x4307
jl 0x1002d9c5
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_EqualSid]
mov byte [ebp - 0x70], bl
mov dword [ebp - 4], 0x15
cmp dword [ebp - 0x44], 0xdd1
jge 0x1002da3c
mov edx, str.cod_zkpstwzu_zlzqkcdq_pgeudbrj_xzozmipsp
mov ecx, 0x10081bf8
call fcn.100059cc
jmp 0x1002da3c
xor eax, eax
mov dword [ebp - 4], edi
inc eax
push eax
push ecx
lea eax, [ebp - 0x70]
push eax
call fcn.1002aa65
add esp, 0xc
jmp 0x1002da6e
push ecx
lea eax, [ebp - 0x72]
mov byte [ebp - 0x72], bl
push eax
push ebx
push 0x70fe
push ecx
mov edx, 0x479e
call fcn.1002bb7a
add esp, 0x14
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x1c], 0x8e6b
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0xac]
jle 0x1002db47
cmp dword [ebp - 0x24], ebx
je 0x1002db47
xor eax, eax
lea ecx, [ebp - 0x4f4]
inc eax
mov dword [ebp - 0x2fc], eax
push eax
call fcn.100038f5
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0x4dc]
mov dword [ebp - 0x40], ebx
push 2
call fcn.100038f5
mov byte [ebp - 4], 0x18
xor edx, edx
mov dword [ebp - 0x40], 0x5ab171c2
inc edx
mov dword [ebp - 0x18], ebx
jmp 0x1002daf0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4f4]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002dae1
mov dword [ebp - 0x18], ebx
jmp 0x1002db0d
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4dc]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002dafa
lea eax, [ebp - 0x1b0]
push eax
push 0x3a37
push 0x7de1
call fcn.10027e57
add esp, 0xc
lea ecx, [ebp - 0x4dc]
call fcn.10003978
lea ecx, [ebp - 0x4f4]
mov dword [ebp - 4], edi
call fcn.10003978
jmp 0x1002db79
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x2fc], ebx
push ecx
lea ecx, [ebp - 0x1b8]
xor eax, eax
push 0x6a33
push ecx
inc eax
push ecx
mov dl, al
mov dword [ebp - 0x1b8], eax
mov ecx, 0x691f
call fcn.100275e9
add esp, 0x10
mov dword [ebp - 0x20], 0x399841b3
mov dword [ebp - 0x20], ebx
jmp 0x1002dce4
mov dword [ebp - 0x24], 0x57102d14
lea ecx, [ebp - 0x478]
push 3
call fcn.100038f5
mov dword [ebp - 4], 0x19
mov dword [ebp - 0x40], 0xfffffffb
mov dword [ebp - 0x2c], ebx
jmp 0x1002dbc2
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x478]
mov dword [eax + ecx*4], 0x3843046b
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x1002dbaf
mov dword [ebp - 0x24], 0xffffffe9
cmp dword [ebp - 0x24], 0xfffffff4
jg 0x1002dcd3
xor ecx, ecx
inc ecx
mov dword [ebp - 0x38], 4
mov dword [ebp - 0x40], 0x7383cc4
mov dword [ebp - 0x2c], ebx
jmp 0x1002dc00
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x430], 0xfc520ea
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x1002dbef
mov dword [ebp - 0x38], ebx
jmp 0x1002dcbc
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], 2
jg 0x1002dcb9
push ecx
lea ecx, [ebp - 0x35c]
call fcn.100038f5
push 1
lea eax, [ebp - 0x46c]
mov byte [ebp - 4], 0x1a
push eax
push ecx
lea eax, [ebp - 0x35c]
mov dword [ebp - 0x40], 6
push eax
push ecx
mov ecx, 0x3901
call fcn.1002ab6d
add esp, 0x14
lea eax, [ebp - 0x35c]
mov dl, 1
mov ecx, 0x3ed
push eax
push ebx
push 0x2f33
push ebx
call fcn.1002c71b
mov byte [ebp - 0x2d], bl
add esp, 0x10
cmp byte [ebp - 0x2d], 0
je 0x1002dc9a
xor eax, eax
mov ecx, 0x42f0
inc eax
push eax
push 0x4952
push eax
push 0xc5f
mov dl, al
call fcn.1002ad0b
add esp, 0x10
lea ecx, [ebp - 0x35c]
mov byte [ebp - 4], 0x19
call fcn.10003978
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
push 1
pop ecx
jle 0x1002dc20
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jle 0x1002dc0d
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff4
jle 0x1002dbdc
lea ecx, [ebp - 0x478]
mov dword [ebp - 4], edi
call fcn.10003978
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x10
jge 0x1002db88
mov dword [ebp - 0x44], 0x2899
cmp dword [ebp - 0x44], 0x28c0
mov dword [ebp - 0x20], 0x1007e6b0
jle 0x1002dd30
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov ecx, 0x10081bf8
and eax, esi
cdq
push edx
push eax
call fcn.1000377e
inc ebx
cmp ebx, 0x50d4
jl 0x1002dd0a
inc esi
push 0
pop ebx
cmp esi, 0x41e4
jl 0x1002dd07
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x1c8], 0x7647f1a9
push ecx
lea ecx, [ebp - 0x1c8]
xor eax, eax
push ecx
inc eax
lea ecx, [ebp - 0x1d0]
push ecx
push eax
push 0x1f5b
push 0x61c
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x1d0], eax
push ecx
lea ecx, [ebp - 0x1e0]
mov dword [ebp - 0x1e0], 0x7d2a
push ecx
push eax
lea eax, [ebp - 0x178]
mov dword [ebp - 0x1c0], 0xfff7
push eax
mov dword [ebp - 0x21c], 6
lea edx, [ebp - 0x21c]
push ebx
mov dword [ebp - 0x1d8], 0xfffffff9
mov ecx, 0x45bf
mov dword [ebp - 0x178], edi
push 0xbbb
call fcn.1002b549
add esp, 0x1c
mov dl, 1
push 0x37aa
push 0x7d41
call fcn.1002ae46
add esp, 0x1c
push 0x1b
pop esi
mov dword [ebp - 4], esi
cmp dword [ebp - 0x44], 0x26ae
mov dword [ebp - 0x2c], esi
jge 0x1002de1d
mov edx, str.dvy_kzymfansr_crxaua_hoyqw_vvnuihrbr_zchbnyypp_jcxpbzj
mov ecx, 0x10081bf8
call fcn.100059cc
jmp 0x1002de1d
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x2a8]
mov al, byte [0x1007e6b0]
push 2
mov byte [ebp - 0xe0], al
call fcn.100038f5
push ebx
lea eax, [ebp - 0x98]
mov dword [ebp - 4], 0x1d
push eax
sub esp, 0xc
lea edx, [ebp - 0x2a8]
mov ecx, 0x7c6b
call fcn.1002a5e4
add esp, 0x14
mov dword [ebp - 0x98], ebx
jmp 0x1002de7c
mov eax, dword [ebp - 0x98]
mov dword [ebp + eax*4 - 0x2c0], 0xb6f65e79
inc dword [ebp - 0x98]
cmp dword [ebp - 0x98], 3
jl 0x1002de65
push 0x42fb
push ecx
push ecx
push 0x33f4
lea edx, [ebp - 0x2a8]
mov cl, 1
call fcn.1002b438
mov edx, dword [ebp - 0x2a8]
xor eax, eax
add esp, 0x10
cmp dword [edx + 4], 0x29729cf3
setne al
xor ecx, ecx
cmp eax, dword [edx + 4]
mov eax, dword [ebp - 0x2c0]
mov esi, dword [ebp - 0x2bc]
setl cl
sub esi, eax
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x2bc]
imul esi, ecx
xor ecx, ecx
cmp esi, eax
sete cl
mov dword [ebp - 0x2bc], ecx
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 4], edi
call fcn.10003978
mov eax, dword [ebp - 0x34]
mov cl, byte [0x1007e6b0]
mov dl, byte [eax]
call fcn.10030c72
mov byte [0x1007e6b0], al
mov cl, 1
mov dword [ebp - 0x40], 5
push 0x1b88
call fcn.1002aea5
lea eax, [ebp - 0x6d]
mov byte [ebp - 0x6d], bl
push eax
push ecx
xor cl, cl
call fcn.1002aede
xor esi, esi
add esp, 0xc
inc esi
mov dword [ebp - 0x38], esi
cmp esi, 4
jge 0x1002e013
mov eax, esi
mov cl, byte [esi + 0x1007e6b0]
cdq
idiv dword [ebp - 0xdc]
mov byte [ebp - 0x71], cl
mov esi, edx
mov dl, byte [ebp - 0xe0]
call fcn.10030c72
mov dl, byte [esi + 0x1007e5d0]
mov cl, al
call fcn.10030c72
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
mov byte [esi + ecx], al
mov dword [ebp - 0x34], 0x58a9
cmp dword [ebp - 0x34], 0x58d5
jle 0x1002dfdd
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov esi, ebx
mov eax, esi
and eax, ecx
lea ecx, [ebp - 0x5dc]
cdq
push edx
push eax
call fcn.10001b14
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002dfad
mov eax, dword [eax]
push eax
call fcn.1004c11f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x5dc]
call fcn.10003c82
mov ecx, dword [ebp - 0x1c]
inc esi
cmp esi, 0x7ec2
jl 0x1002df91
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x6ff5
jl 0x1002df8f
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0xe0]
mov ecx, 0x39a9
push eax
lea eax, [ebp - 0x71]
push eax
push ebx
call fcn.1002c3c3
add esp, 0xc
cmp dword [ebp - 0x34], 0x56ae
jge 0x1002e00a
push str.ihrt_flr_qghh_oojt_xvvefwzg_nxdeu_cvpbcq_amb
call fcn.1004c11f
pop ecx
mov dword [ebp - 4], edi
inc esi
jmp 0x1002df2d
push 4
lea ecx, [ebp - 0xc4]
call fcn.100038f5
push ebx
mov dword [ebp - 4], 0x20
lea eax, [ebp - 0xc4]
push eax
mov dword [ebp - 0x4c], 0xfffffffd
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x5c], 0x7122
push 0x298d
mov dword [ebp - 0xd8], 0xcf8e4507
mov dword [ebp - 0x188], 0x9c5e1620
push 0x399a
call fcn.10029109
add esp, 0x10
mov dword [ebp - 0x4c], ebx
push 3
pop esi
cmp dword [ebp - 0x4c], esi
jg 0x1002e49a
push dword [ebp - 0xe4]
lea eax, [ebp - 0x534]
mov dword [ebp - 0x15c], ebx
push eax
lea eax, [ebp - 0x544]
mov dword [ebp - 0x158], ebx
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x154], ebx
push ebx
lea ecx, [ebp - 0x15c]
movdqu xmmword [ebp - 0x544], xmm0
call fcn.10006116
push esi
lea ecx, [ebp - 0x3c8]
mov byte [ebp - 4], 0x21
call fcn.100038f5
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x18], 0x59c2d16c
mov dword [ebp - 0x34], 0xb33
cmp dword [ebp - 0x34], 0xe1e
jle 0x1002e130
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov esi, ebx
mov eax, esi
xor eax, ecx
lea ecx, [ebp - 0x60c]
cdq
push edx
push eax
call fcn.10001b14
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002e103
mov eax, dword [eax]
push eax
call fcn.1004c11f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x60c]
call fcn.10003c82
mov ecx, dword [ebp - 0x1c]
inc esi
cmp esi, 0x384b
jl 0x1002e0e7
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x7317
jl 0x1002e0e5
cmp dword [ebp - 0x34], 0xa1e
jge 0x1002e144
push str.bdhvhgn_nzywoeu_ekkxcomt
call fcn.1004c11f
pop ecx
lea eax, [ebp - 0x94]
mov dword [ebp - 4], 0x22
push eax
lea eax, [ebp - 0x3c8]
mov ecx, 0x50fd
push eax
xor eax, eax
inc eax
push eax
push ebx
mov dl, al
call fcn.10029954
add esp, 0x10
mov dword [ebp - 0x94], ebx
jmp 0x1002e188
mov eax, dword [ebp - 0x94]
mov dword [ebp + eax*4 - 0xb8], edi
inc dword [ebp - 0x94]
cmp dword [ebp - 0x94], 2
jl 0x1002e175
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x4c]
cmp dword [ecx + 4], eax
jle 0x1002e1b5
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xc4]
cmp dword [eax + ecx*4], ebx
je 0x1002e1b5
xor esi, esi
inc esi
jmp 0x1002e1b7
mov esi, ebx
mov ecx, dword [ebp - 0x4c]
xor edx, edx
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x34], ebx
cmp esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x44]
setne dl
xor eax, eax
cmp edx, 0x5540
setle al
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], ebx
je 0x1002e1f4
mov dword [ebp - 0x34], 1
mov esi, dword [ebp - 0x4c]
xor edx, edx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xc4]
setg dl
sub edx, dword [eax + ecx*4]
xor ecx, ecx
cmp dword [eax + esi*4], edx
setl cl
cmp ecx, 0x2bc8
je 0x1002e227
cmp dword [ebp - 0x4c], ebx
jne 0x1002e227
mov eax, ebx
jmp 0x1002e22a
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x4c]
xor edx, edx
cmp eax, 0xb38b
mov eax, dword [ebp - 0xc4]
setge dl
sub edx, dword [eax + ecx*4]
sub edx, dword [eax]
neg edx
sbb edx, edx
inc edx
cmp edx, 0xcd538770
jb 0x1002e259
cmp dword [ebp - 0x4c], ebx
je 0x1002e259
xor edx, edx
inc edx
jmp 0x1002e25b
mov edx, ebx
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp edx, eax
setge cl
lea eax, [ecx - 0x563ade4]
test eax, eax
jne 0x1002e272
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c8]
cmp dword [eax], ecx
setne dl
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0x5c], ebx
cmp dword [ebp - 0x5c], 3
jg 0x1002e478
mov dword [ebp - 0x28], 0xabb8780e
mov dword [ebp - 0x38], ebx
jmp 0x1002e2b8
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x1f8], 0x3e0c
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jl 0x1002e2a7
mov dword [ebp - 0x18], ebx
jmp 0x1002e30a
mov dword [ebp - 0x28], 0x5cfe74d0
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x1f0]
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xc4]
setne cl
xor edx, edx
cmp dword [eax + esi*4], ecx
mov eax, dword [ebp - 0x15c]
setne dl
mov dword [eax + edi*4], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x1002e2c3
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 1
jg 0x1002e468
mov edi, dword [ebp - 0xc4]
push dword [ebp - 0xe4]
movdqa xmm0, xmmword [0x10074330]
lea eax, [ebp - 0x554]
push eax
lea eax, [ebp - 0x564]
mov dword [ebp - 0x168], ebx
push eax
push ebx
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x164], ebx
movdqu xmmword [ebp - 0x564], xmm0
mov dword [ebp - 0x160], ebx
call fcn.10006116
mov dword [ebp - 0x28], 0x26e329cc
xor ecx, ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xb8]
cmp eax, 0xfffffff8
mov eax, dword [ebp - 0x18]
setg cl
add ecx, dword [ebp + eax*4 - 0xb8]
sub ecx, dword [edi + 0xc]
mov eax, dword [ebp - 0xc4]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [eax + edx*4]
mov eax, dword [ebp - 0x168]
cmp ecx, 3
sbb ecx, ecx
add ecx, 0x3fdec5d6
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax + 0xc], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0xc], ebx
mov eax, dword [ebp - 0x18]
setne cl
mov eax, dword [ebp + eax*4 - 0xb8]
lea eax, [ecx - 0xffff]
mov ecx, 0xffff
cmp ecx, eax
sbb eax, eax
xor esi, esi
neg eax
xor edx, edx
mov dword [ebp - 0xd8], eax
inc esi
mov eax, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xc4]
cmp dword [eax + ecx*4], esi
lea ecx, [ebp - 0x168]
sete dl
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x18], ebx
jne 0x1002e463
call fcn.10003978
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x1002e323
jmp 0x1002e468
call fcn.10003978
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 3
jle 0x1002e29b
or edi, 0xffffffff
lea ecx, [ebp - 0x3c8]
call fcn.10003978
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x20
call fcn.10003978
inc dword [ebp - 0x4c]
jmp 0x1002e06c
push 1
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x5c]
push eax
push 0x5ca8
push 0x7f8a
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x188]
push eax
lea edx, [ebp - 0xd8]
call fcn.1002a68c
add esp, 0x1c
mov dword [ebp - 4], edi
lea ecx, [ebp - 0xc4]
call fcn.10003978
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x50], eax
dec eax
cmp eax, 0x2a3e
ja 0x1002fa7d
push 1
lea ecx, [ebp - 0x2d8]
call fcn.100038f5
mov dword [ebp - 4], 0x25
lea eax, [ebp - 0x504]
push dword [ebp - 0xe4]
movdqa xmm0, xmmword [0x10074350]
lea ecx, [ebp - 0x208]
push eax
lea eax, [ebp - 0x514]
mov dword [ebp - 0x208], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x514], xmm0
mov dword [ebp - 0x204], ebx
mov dword [ebp - 0x200], ebx
call fcn.10006116
push 1
push 0x1b15
lea eax, [ebp - 0x2d8]
mov byte [ebp - 4], 0x26
push eax
lea eax, [ebp - 0x48c]
mov dword [ebp - 0x24], 0xcb4c23af
push eax
mov ecx, 0x4360
call fcn.10029109
mov eax, dword [ebp - 0x208]
add esp, 0x10
mov dword [ebp - 0x28], eax
mov dword [eax + 8], ebx
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x69]
mov byte [ebp - 0x69], bl
push eax
push 0x1a8d
xor eax, eax
xor dl, dl
inc eax
mov ecx, 0x70f6
push eax
push eax
push 0x60d6
push 0x139e
push 0x2f94
push 0x1a54
call fcn.1002bdd4
mov ecx, dword [ebp - 0x28]
add esp, 0x20
mov edx, dword [ebp - 0x48]
mov eax, dword [ecx + 8]
cmp dword [edx + eax*4], ebx
jne 0x1002e5cf
dec eax
mov dword [ecx + 8], eax
jns 0x1002e587
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jl 0x1002e5ea
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2d8]
cmp dword [eax + ecx*4], ebx
jne 0x1002e5ea
dec dword [ebp - 0x24]
jns 0x1002e5d7
lea ecx, [ebp - 0x208]
call fcn.10003978
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 4], edi
call fcn.10003978
push dword [ebp - 0xdc]
mov edx, dword [ebp - 0x38]
push ecx
push dword [ebp - 0xe0]
push dword [ebp - 0x20]
call fcn.100274e9
add esp, 0xc
mov cl, 1
call fcn.1002b181
mov eax, dword [0x10705ab0]
pop ecx
mov ecx, 0x10705ab0
push dword [eax + 4]
call fcn.1002603f
mov eax, dword [0x10705ab0]
mov dword [ebp - 0x9c], ebx
mov dword [eax + 4], eax
mov eax, dword [0x10705ab0]
mov dword [eax], eax
mov eax, dword [0x10705ab0]
mov dword [eax + 8], eax
mov dword [0x10705ab4], ebx
mov dword [ebp - 0x24], ebx
jmp 0x1002e671
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x218], 0x69fdf99f
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1002e660
mov dword [ebp - 0x214], 0x1b
jmp 0x1002e6b5
mov dword [ebp - 0x1c], 0xd7953644
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
je 0x1002e6af
push ecx
push 0x3549
push ecx
mov dword [ebp - 0x28], ebx
mov cl, 1
call fcn.1002aede
add esp, 0xc
cmp dword [ebp - 0x28], ebx
jne 0x1002e6af
inc dword [ebp - 0x1c]
jne 0x1002e691
dec dword [ebp - 0x214]
cmp dword [ebp - 0x214], 0xfffffff1
jl 0x1002e682
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x20], 0x730f
add eax, 4
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0x24], 0x647c2c9e
mov dword [ebp - 0x40], 0x3585ca25
mov dword [ebp - 0x40], 0x6f80366e
push 2
mov dword [ebp - 0x44], eax
call fcn.100038f5
xor ecx, ecx
mov dword [ebp - 4], 0x27
mov dword [ebp - 0x18], ebx
inc ecx
jmp 0x1002e712
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x128], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002e705
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 2
jge 0x1002e73c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x284]
mov dword [eax + ecx*4], 0x3925
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002e720
xor ecx, ecx
inc ecx
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
je 0x1002e7df
push esi
lea ecx, [ebp - 0x3ec]
call fcn.100038f5
push 3
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x1002e769
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x380], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002e75c
mov dword [ebp - 0x18], ebx
jmp 0x1002e786
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3ec]
mov dword [eax + ecx*4], 0xe3580d4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002e773
inc dword [ebp - 0x380]
xor edx, edx
mov ecx, dword [ebp - 0x380]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0xec]
mov ecx, 0x23fa3a92
setle dl
sub ecx, edx
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
mov eax, dword [ebp - 0x3ec]
setg dl
xor ecx, ecx
cmp dword [eax + 8], edx
setl cl
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x3ec]
call fcn.10003978
push 3
pop esi
jmp 0x1002e8a3
mov dword [ebp - 0x34], 0xcc099a56
mov dword [ebp - 0x3c], 0xe81de982
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ebx
jmp 0x1002e809
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x230], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002e7fc
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x230], ecx
add ecx, 0x5f87
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
mov eax, dword [ebp - 0x284]
setl dl
xor ecx, ecx
cmp edx, dword [eax + 4]
mov eax, dword [ebp - 0x24]
setne cl
shl ecx, 3
mov dword [ebp - 0x28], ecx
xor ecx, ecx
cmp dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
setge cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x34]
setne dl
xor ecx, ecx
cmp eax, 0xb82c
mov eax, dword [ebp - 0x3c]
setle cl
add edx, ecx
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x128]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0x2401
setge al
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x24], ebx
jmp 0x1002e926
mov dword [ebp - 0x198], 0xbc9f
mov dword [ebp - 0x20], ebx
jmp 0x1002e91e
push ecx
push 0x682f
lea eax, [ebp - 0x6b]
mov byte [ebp - 0x6b], bl
push eax
push 0x71ca
mov cl, 1
call fcn.1002b338
add esp, 0x10
lea eax, [ebp - 0xec]
mov edx, 0x48ce
push 0x2cd3
push eax
lea eax, [ebp - 0x284]
push eax
push 0x2fee
push 0x71f7
push 0x59c0
push ecx
push 0x7707
lea eax, [ebp - 0x198]
push eax
push 1
push 0x6cba
push 0x34bc
call fcn.1002c2c5
add esp, 0x30
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x1002e8b7
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff7
je 0x1002e8a8
lea ecx, [ebp - 0x284]
mov dword [ebp - 4], edi
call fcn.10003978
mov eax, 0xc8b13eca
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x18], 0xf34fda0e
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x18], ebx
jmp 0x1002ea03
cmp dword [ebp - 0xfc], ebx
jne 0x1002e97b
mov eax, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xfc]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xfc]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xfc]
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0xfc], 4
ja 0x1002e9b3
cmp dword [ebp - 0xf0], ebx
je 0x1002e9b3
xor edx, edx
inc edx
jmp 0x1002e9b5
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov esi, dword [ebp + eax*4 - 0xfc]
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, dword [ebp - 0x18]
setl cl
xor edx, edx
cmp ecx, esi
setle dl
mov dword [ebp + eax*4 - 0xfc], edx
mov dword [ebp - 0x20], 0x1d
jmp 0x1002e9f7
lea eax, [ebp - 0x65]
mov byte [ebp - 0x65], bl
push eax
push ecx
xor cl, cl
call fcn.1002c610
inc dword [ebp - 0x20]
pop ecx
pop ecx
cmp dword [ebp - 0x20], 0x2e
jge 0x1002e9e3
inc dword [ebp - 0x18]
push 3
pop esi
cmp dword [ebp - 0x18], esi
jle 0x1002e96d
mov dword [ebp - 0x18], ebx
jmp 0x1002eab7
mov dword [ebp - 0x28], 0xfbc43cc9
mov dword [ebp - 0x20], 0xffffffe5
jmp 0x1002eaaa
mov dword [ebp - 0x24], ebx
jmp 0x1002ea3d
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x118], 0xfffffffc
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x1002ea2c
push ebx
push ecx
mov ecx, 0x269d
call fcn.100292a1
pop ecx
pop ecx
mov dword [ebp - 0x114], ebx
jmp 0x1002ea9e
mov dword [ebp - 0x24], 0x8451f1e2
mov dword [ebp - 0x40], 0xed7c3b7c
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ebx
jmp 0x1002ea93
mov dword [ebp - 0x1c], ebx
jmp 0x1002ea84
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2ec], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002ea77
dec dword [ebp - 0x2e8]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x1002ea72
dec dword [ebp - 0x114]
cmp dword [ebp - 0x114], 0xfffffff1
jl 0x1002ea59
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1e
je 0x1002ea27
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1d
jge 0x1002ea14
xor eax, eax
mov byte [ebp - 0x64], bl
inc eax
mov byte [ebp - 0x63], 0xc1
push 0x486b
push eax
mov byte [ebp - 0x62], al
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x12c]
mov byte [ebp - 0x61], 0x14
push eax
push ecx
mov dword [ebp - 0x12c], 0x3d06
mov dword [ebp - 0x138], 0xd16df251
push 0x4712
call fcn.1002b49e
add esp, 0x18
cmp dword [ebp - 0x12c], ebx
je 0x1002eb23
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x1002eb81
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadIconA]
jmp 0x1002eb81
push 1
lea ecx, [ebp - 0x398]
call fcn.100038f5
push 0x4fe3
lea eax, [ebp - 0x398]
mov dword [ebp - 4], 0x28
push eax
push ebx
push ecx
lea eax, [ebp - 0x49c]
mov ecx, 0x5cd1
push eax
call fcn.1002ba52
add esp, 0x14
lea eax, [ebp - 0x138]
lea edx, [ebp - 0x398]
push eax
push ecx
push 0x20f
push ecx
mov cl, 1
call fcn.1002b9c8
add esp, 0x10
mov dword [ebp - 4], edi
mov ecx, edx
call fcn.10003978
push 0xa
pop eax
push 2
mov word [ebp - 0xa0], ax
pop eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xd0], ebx
cmp eax, 4
jae 0x1002f2d2
mov dword [ebp - 0x40], 0x61f9c28a
lea ecx, [ebp - 0x314]
mov dword [ebp - 0x34], 0x9be1d925
mov dword [ebp - 0x1c], edi
push 1
call fcn.100038f5
push 0x4622
lea eax, [ebp - 0x314]
mov dword [ebp - 4], 0x29
push eax
push 0x24ca
push 0x6f5f
xor eax, eax
mov dword [ebp - 0x11c], 0x7e4fc22
inc eax
xor dl, dl
push eax
push 0x380
push 0x2425
push eax
lea eax, [ebp - 0x88]
mov ecx, 0x642b
push eax
push 0x7a36
push 0x37f1
push 0x79f4
call fcn.10029770
add esp, 0x30
mov dword [ebp - 0x88], ebx
cmp dword [ebp - 0x88], esi
jge 0x1002ec4c
xor esi, esi
inc esi
mov eax, dword [ebp - 0x88]
mov dword [ebp + eax*4 - 0x4d0], esi
inc dword [ebp - 0x88]
cmp dword [ebp - 0x88], 3
jl 0x1002ec2d
push 3
pop esi
push 1
push ecx
lea ecx, [ebp - 0x11c]
call fcn.100292a1
mov eax, dword [ebp - 0x11c]
neg eax
pop ecx
pop ecx
je 0x1002ec8c
mov eax, dword [ebp - 0x314]
xor ecx, ecx
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
cmp eax, edx
setle cl
sub ecx, 0xd54
neg ecx
sbb ecx, ecx
inc ecx
cmp edx, ecx
jle 0x1002ec8c
xor edx, edx
inc edx
jmp 0x1002ec8e
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
imul ecx, dword [ebp - 0x34]
imul eax, ecx, 0xffff
add eax, dword [ebp - 0x4d0]
imul ecx, eax, 0x46c2
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setle dl
cmp edx, dword [ebp - 0x1c]
jne 0x1002ecca
cmp dword [ebp - 0x4d0], ebx
je 0x1002ecca
xor eax, eax
inc eax
jmp 0x1002eccc
mov eax, ebx
cmp edi, eax
lea ecx, [ebp - 0x314]
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], edi
call fcn.10003978
movzx eax, byte [ebp - 0x64]
lea eax, [eax*2 + 2]
cmp dword [ebp - 0x18], eax
jne 0x1002f0ef
mov dword [ebp - 0x48], 0x7b81
cmp dword [ebp - 0x48], 0x7c41
jle 0x1002ed73
mov ecx, ebx
mov dword [ebp - 0x3c], ebx
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov edx, ecx
mov dword [ebp - 0x1c], ebx
mov ecx, eax
shl edx, cl
mov dword [ebp - 0x24], edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
add eax, ebx
mov ecx, 0x10081bf8
xor eax, edx
cdq
push edx
push eax
call fcn.1000377e
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x17c3
jl 0x1002ed25
inc ebx
push 0
mov dword [ebp - 0x1c], ebx
cmp ebx, 0x787
pop ebx
jl 0x1002ed1d
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x53b4
jl 0x1002ed11
inc ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 0x34bb
jl 0x1002ed0c
mov dword [ebp - 0x60], ebx
xor ecx, ecx
mov dword [ebp - 0x20], 0x23d1bca9
inc ecx
mov dword [ebp - 0x24], 0x37bb0086
mov dword [ebp - 0x58], 0xd9ddcef9
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x1c], ebx
jmp 0x1002edab
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc8], 0xb4456e34
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002ed9a
mov ecx, dword [ebp - 0x60]
xor edx, edx
mov eax, dword [ebp - 0x60]
cmp ecx, eax
setle dl
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x20], ebx
je 0x1002ede9
mov eax, dword [ebp - 0x60]
xor edx, edx
cmp eax, 5
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
je 0x1002ede9
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x1002edee
xor ecx, ecx
mov eax, ebx
inc ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0x60]
jl 0x1002eebb
cmp dword [ebp - 0xc8], ebx
je 0x1002eebb
push 8
pop edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x60], ebx
cmp dword [ebp - 0x60], 0x2b
jle 0x1002ee93
mov eax, 0xfffe
mov dword [ebp - 0x40c], eax
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x404], eax
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], edx
jge 0x1002ee8a
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x34], ebx
jne 0x1002ee5b
mov eax, ebx
cmp dword [ebp - 0x400], ebx
je 0x1002ee5d
mov eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x58], ebx
jmp 0x1002ee78
mov eax, dword [ebp - 0x58]
mov dword [ebp + eax*4 - 0xc8], edx
inc dword [ebp - 0x58]
cmp dword [ebp - 0x58], ecx
jl 0x1002ee6b
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jl 0x1002ee49
mov eax, 0xfffe
inc dword [ebp - 0x60]
cmp dword [ebp - 0x60], 0x2b
jg 0x1002ee29
push 0x644c
lea eax, [ebp - 0x58]
mov dl, cl
push eax
push 0x59e5
push 0x1384
push ecx
push 0x7a25
call fcn.1002938c
add esp, 0x18
jmp 0x1002ef57
push 0x1a7b
push 0x23fe
push 0x3325
push ecx
lea eax, [ebp - 0x66]
mov byte [ebp - 0x66], bl
push eax
push 0x1c8a
push 0x5eac
push 0x1023
push ecx
push 0xe2e
push ecx
push 0x60c6
mov edx, 0x39b5
mov ecx, 0x4349
call fcn.1002b549
add esp, 0x30
mov dword [ebp - 0x58], ebx
cmp dword [ebp - 0x58], ebx
jl 0x1002ef57
push 0x686a
push 1
lea eax, [ebp - 0x60]
mov edx, 0x72dd
push eax
push ecx
push ecx
call fcn.1002b7d4
mov dword [ebp - 0x20], ebx
add esp, 0x14
cmp dword [ebp - 0x20], ebx
jl 0x1002ef52
mov dword [ebp - 0x1c], ebx
jmp 0x1002ef3f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5bc], 0xbaf9eb11
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002ef2e
mov eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x20]
jns 0x1002ef29
dec dword [ebp - 0x58]
jns 0x1002ef07
mov dword [ebp - 4], 0x2a
cmp dword [ebp - 0x48], 0x78e5
jge 0x1002ef76
mov edx, str.wkgnt_nglw_cmeekk_xmjeq_fzcvwxl_izptp_xhxffgjzm
mov ecx, 0x10081bf8
call fcn.100059cc
mov esi, dword [ebp - 0x18]
mov dword [ebp - 4], edi
movzx ecx, byte [ebp + esi - 0x64]
push 1
lea eax, [ecx + 1]
dec ecx
add esi, ecx
mov dword [ebp - 0xd0], eax
lea ecx, [ebp - 0x4b8]
mov dword [ebp - 0x18], esi
call fcn.100038f5
mov dword [ebp - 4], 0x2c
lea ecx, [ebp - 0x488]
xor eax, eax
inc eax
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x40], 0x728ad64d
mov dword [ebp - 0x40], 0x5ad6
push 4
call fcn.100038f5
push 0x3b99
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x2d
push ecx
lea ecx, [ebp - 0x4b8]
xor eax, eax
push ecx
inc eax
mov dword [ebp - 0x40], eax
push eax
push ecx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x40], 0xa7ab
push ecx
mov dword [ebp - 0x40], 0x45b4
mov ecx, 0x3ab6
mov dword [ebp - 0x48], 0x1fbecdb
call fcn.1002b8a8
add esp, 0x18
mov dword [ebp - 0x8c], ebx
jmp 0x1002f077
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x488]
mov dword [eax + ecx*4], 0x5c5395f8
inc dword [ebp - 0x8c]
cmp dword [ebp - 0x8c], 4
jl 0x1002f05e
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x488]
mov eax, dword [ebp - 0x42c]
mov dword [ebp - 0x48], eax
call fcn.10003978
lea ecx, [ebp - 0x4b8]
mov dword [ebp - 4], edi
call fcn.10003978
mov dword [ebp - 0x28], 0x69d4
cmp dword [ebp - 0x28], 0x6c83
jle 0x1002f2be
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x48], 0xd45
mov eax, ebx
mov ecx, 0x10081bf8
cdq
push edx
push eax
call fcn.1000377e
add ebx, esi
dec dword [ebp - 0x48]
jne 0x1002f0c5
inc esi
push 0
pop ebx
cmp esi, 0x2bd0
jl 0x1002f0bb
mov esi, dword [ebp - 0x18]
jmp 0x1002f2be
xor eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x34], 0xfffffff7
mov dword [ebp - 0x24], ebx
jmp 0x1002f263
mov eax, 0xdf60
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x20], 0x54fddd3f
push 2
call fcn.100038f5
mov dword [ebp - 4], 0x30
mov dword [ebp - 0x1c], ebx
jmp 0x1002f153
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x278]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002f144
mov dword [ebp - 0x20], ebx
jmp 0x1002f23f
push 1
lea ecx, [ebp - 0x228]
call fcn.100038f5
lea eax, [ebp - 0x434]
mov byte [ebp - 4], 0x31
push eax
push 0x1b98
sub esp, 0xc
mov dword [ebp - 0x240], 0xa4d3ec93
mov dl, 1
push 0x562f
push ecx
lea ecx, [ebp - 0x228]
call fcn.1002968e
mov eax, dword [ebp - 0x228]
add esp, 0x1c
mov dword [eax], ebx
mov dword [ebp - 0x28], 0xc326874b
cmp dword [ebp - 0x24], ebx
jne 0x1002f1bb
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x278]
xor ecx, ecx
inc ecx
push 0x4e6f
push 0xdc5
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp + eax*4 - 0x260]
mov eax, dword [ebp - 0x48]
sub ecx, eax
mov eax, dword [ebp - 0x20]
add edx, ecx
mov ecx, 0xfff8
mov eax, dword [ebp + eax*4 - 0x260]
cmp ecx, eax
lea ecx, [ebp - 0x240]
sbb eax, eax
neg eax
sub eax, edx
neg eax
sbb eax, eax
xor dl, dl
inc eax
mov dword [ebp - 0x28], eax
xor eax, eax
inc eax
push eax
push eax
call fcn.10029954
mov eax, dword [ebp - 0x228]
add esp, 0x10
inc dword [eax]
cmp dword [eax], esi
jle 0x1002f1a9
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x228]
cmp dword [ebp + eax*4 - 0x260], ebx
jne 0x1002f24a
mov byte [ebp - 4], 0x30
call fcn.10003978
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x1002f161
jmp 0x1002f24f
call fcn.10003978
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x278]
cmp dword [ebp - 0x34], ebx
call fcn.10003978
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x11
jne 0x1002f107
mov esi, dword [ebp - 0x18]
mov eax, esi
sub eax, dword [ebp - 0xd0]
push 1
push 0x6dc8
movzx edx, byte [ebp + esi - 0x63]
sub esp, 0xc
movzx eax, byte [ebp + eax - 0x66]
movzx ecx, word [ebp + eax*2 - 0xa0]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x64]
add ecx, edx
mov edx, 0x1951
mov word [ebp + eax*2 - 0xa0], cx
lea ecx, [ebp - 0xd0]
call fcn.1002a5e4
add esp, 0x14
add esi, 2
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x18]
push 3
mov dword [ebp - 0x28], esi
pop esi
jmp 0x1002eb9a
mov dword [ebp - 0x24], 0xfffffffc
xor ecx, ecx
mov dword [ebp - 0x50], 0x1dfe
inc ecx
mov dword [ebp - 0x1c], ebx
jmp 0x1002f2f9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1a4], 0x4a8c6a53
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002f2e8
mov dword [ebp - 0x24], ebx
jmp 0x1002f31d
push ecx
push ecx
mov byte [ebp - 0x6f], bl
lea edx, [ebp - 0x6f]
mov ecx, 0x2659
call fcn.1002b9f8
inc dword [ebp - 0x24]
pop ecx
pop ecx
push 1
pop ecx
cmp dword [ebp - 0x24], ebx
jle 0x1002f303
mov ecx, dword [ebp - 0x1a4]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
push 1
setge dl
lea ecx, [ebp - 0x498]
xor eax, eax
mov dword [ebp - 0x50], edx
mov word [ebp - 0x9e], ax
call fcn.100038f5
lea eax, [ebp - 0x498]
mov dword [ebp - 4], 0x32
push eax
push 0x253e
push 1
push ecx
mov dword [ebp - 0x1e8], ebx
lea ecx, [ebp - 0x438]
push 0x7a47
call fcn.1002ba52
add esp, 0x14
mov byte [ebp - 0x67], bl
xor eax, eax
lea ecx, [ebp - 0x67]
inc eax
mov dl, al
push 0x2a3c
push eax
push 0x7106
push ebx
call fcn.1002c71b
add esp, 0x10
push 1
push ecx
push ecx
lea ecx, [ebp - 0x1e8]
call fcn.100299c8
add esp, 0xc
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x498]
call fcn.10003978
xor eax, eax
mov dword [ebp - 0x360], 7
mov word [ebp - 0x374], ax
lea ecx, [ebp - 0x374]
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x364], ebx
push eax
call fcn.10003d6e
cmp dword [ebp - 0x360], 8
lea eax, [ebp - 0x374]
push ebx
cmovae eax, dword [ebp - 0x374]
lea ecx, [ebp - 0x374]
push 1
movzx eax, word [eax]
mov dword [ebp - 0x1fc], eax
call fcn.1000418d
xor ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1c], ebx
jmp 0x1002f427
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4ac], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002f41a
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
push ecx
setge dl
lea eax, [ebp - 0x68]
push ecx
mov dword [ebp - 0x4a8], edx
mov cl, 1
push eax
mov edx, 0x30e4
mov byte [ebp - 0x68], bl
call fcn.1002bb27
add esp, 0xc
mov dword [ebp - 0x28], ebx
push 1
lea ecx, [ebp - 0x320]
call fcn.100038f5
push ecx
push 0x1cab
push 1
lea eax, [ebp - 0x444]
mov dword [ebp - 4], 0x33
push eax
mov dword [ebp - 0x1ac], 6
lea edx, [ebp - 0x320]
push ecx
call fcn.1002bb7a
mov byte [ebp - 0x2d], bl
add esp, 0x14
cmp byte [ebp - 0x2d], 0
je 0x1002f4b5
push 1
push ecx
push 0x40a5
mov ecx, 0x541
call fcn.1002bbc6
add esp, 0xc
push ecx
push 1
lea eax, [ebp - 0x1ac]
push eax
push 0x1a40
lea edx, [ebp - 0x320]
call fcn.1002bd17
add esp, 0x10
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x320]
call fcn.10003978
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov word [ebp + eax*2 - 0xa0], cx
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 2
jb 0x1002f45b
mov dword [ebp - 0x18], 0xfffffffe
mov dword [ebp - 0x48], 8
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x1c], ebx
jmp 0x1002f522
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x7c], 0xb57f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002f514
mov dword [ebp - 0x18], 1
cmp dword [ebp - 0x18], ebx
jl 0x1002f691
mov dword [ebp - 0x28], 0x6ba05392
mov dword [ebp - 0x1c], ebx
jmp 0x1002f551
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2b4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002f544
cmp dword [ebp - 0x78], ebx
jne 0x1002f5bb
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x7c], ebx
jne 0x1002f592
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x18]
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
imul edx, dword [ebp + eax*4 - 0x7c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x7c]
cmp edx, 0x65ee
setge cl
xor edx, edx
imul eax, ecx
add eax, 0xba1b
mov dword [ebp - 0x2b4], eax
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setg dl
mov dword [ebp - 0x50], edx
xor edx, edx
cmp dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x7c]
setl dl
xor ecx, ecx
inc edx
cmp edx, 0x46bac6
setne cl
add eax, 0x7df06f0b
add ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x7c]
cmp edx, eax
mov eax, dword [ebp - 0x2b4]
setne cl
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x28], ecx
xor edx, edx
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x18]
setle dl
sub ecx, eax
mov eax, dword [ebp - 0x2b0]
neg ecx
sbb ecx, ecx
inc ecx
add ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x78]
setle dl
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x18]
cmp eax, edx
setge cl
mov dword [ebp - 0x50], ecx
dec dword [ebp - 0x18]
jns 0x1002f538
mov edx, dword [ebp - 0x38]
shr edx, 1
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x9c]
inc eax
cmp eax, edx
jae 0x1002fa7d
mov dword [ebp - 0x1c], 0xddc85f70
mov dword [ebp - 0x50], ebx
push 0x1b
mov dword [ebp - 0x1c], ebx
pop esi
cmp dword [ebp - 0x1c], esi
jle 0x1002f748
xor ebx, ebx
inc ebx
push 2
lea ecx, [ebp - 0x338]
call fcn.100038f5
push 0x5e0c
lea eax, [ebp - 0x130]
mov dword [ebp - 4], 0x34
push eax
push ebx
push ebx
push 0x4173
push 0x301c
lea eax, [ebp - 0x338]
mov dword [ebp - 0x1ec], 0xffab8c3a
push eax
push 0x14cc
mov dl, bl
mov ecx, 0x68c
call fcn.1002bdd4
add esp, 0x20
lea eax, [ebp - 0x338]
push ebx
push ecx
push eax
lea eax, [ebp - 0x1ec]
push eax
call fcn.10029b8b
add esp, 0x10
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x338]
call fcn.10003978
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jg 0x1002f6c7
xor ebx, ebx
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x9c]
lea ecx, [eax + esi*2]
call fcn.10027297
push 0x2e7d
push 0x3bb3
push ecx
push 0x79b6
push ecx
push 0x4d30
push 0x4b32
push 1
push 0x118c
push ecx
mov edx, 0x2966
mov dword [ebp - 0x144], eax
mov ecx, 0x6675
call fcn.1002bf6c
mov ecx, dword [ebp - 0x44]
add esp, 0x28
add ecx, 4
lea ecx, [ecx + esi*2]
call fcn.10027297
push dword [ebp - 0x130]
movdqa xmm0, xmmword [0x10074330]
lea ecx, [ebp - 0x184]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0x514]
push eax
lea eax, [ebp - 0x524]
mov dword [ebp - 0x184], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x524], xmm0
mov dword [ebp - 0x180], ebx
mov dword [ebp - 0x17c], ebx
call fcn.10006116
push ecx
push 0x30f
lea eax, [ebp - 0x184]
mov dword [ebp - 4], 0x35
push eax
push 1
push ecx
mov edx, 0x6974
call fcn.1002c1c3
add esp, 0x14
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x184]
call fcn.10003978
mov dword [ebp - 0x34], 0x7ed6
cmp dword [ebp - 0x34], 0x7ff7
jle 0x1002f898
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x48], 0x3b5c
mov dword [ebp - 0x28], ecx
or eax, ecx
lea ecx, [ebp - 0x63c]
cdq
push edx
push eax
call fcn.10001b14
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002f859
mov eax, dword [eax]
push eax
call fcn.1004c11f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x63c]
call fcn.10003c82
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
add ecx, esi
dec dword [ebp - 0x48]
mov dword [ebp - 0x28], ecx
jne 0x1002f83f
cmp dword [ebp - 0x144], edi
jne 0x1002fa85
cmp dword [ebp - 0xa8], 0
jne 0x1002fa85
mov dword [ebp - 0x20], ebx
jmp 0x100302a7
cmp dword [ebp - 0x34], 0x7bb4
jge 0x1002fa99
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x5b0], 0xfff9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10030296
mov dword [ebp - 0x40], 0x1b83
cmp dword [ebp - 0x40], 0xc93
jge 0x100303c5
push 0x1069d6a4
push 0x1006dd00
call fcn.1004c372
pop ecx
pop ecx
mov ecx, dword [0x1069d6a4]
mov edi, ebx
test ecx, ecx
jle 0x100302fe
mov esi, 0x1069d6b0
push esi
push 0x1006dd00
call fcn.1004c372
pop ecx
pop ecx
mov ecx, dword [0x1069d6a4]
inc edi
add esi, 4
cmp edi, ecx
jl 0x100302e3
mov edi, ebx
test ecx, ecx
jle 0x10030324
mov esi, 0x106ff2e0
push esi
push 0x1006dd00
call fcn.1004c372
pop ecx
pop ecx
mov ecx, dword [0x1069d6a4]
inc edi
add esi, 4
cmp edi, ecx
jl 0x10030309
mov edx, ebx
test ecx, ecx
jle 0x10030344
mov eax, dword [edx*4 + 0x1069d6b0]
sub eax, dword [edx*4 + 0x106ff2e0]
mov dword [edx*4 + 0x1069d780], eax
inc edx
cmp edx, ecx
jl 0x1003032a
push 0x1b
pop eax
mov edx, ebx
test ecx, ecx
jle 0x1003038d
cmp dword [edx*4 + 0x1069d780], ebx
jg 0x1003035d
inc edx
cmp edx, ecx
jl 0x1003034d
jmp 0x1003038d
mov esi, ebx
mov eax, dword [esi*4 + 0x1069d780]
test eax, eax
jns 0x10030385
mov edi, dword [edx*4 + 0x1069d780]
test edi, edi
jle 0x10030385
add eax, edi
mov dword [edx*4 + 0x1069d780], eax
mov dword [esi*4 + 0x1069d780], ebx
inc esi
cmp esi, ecx
jl 0x1003035f
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
jne 0x10030347
mov al, 1
mov edx, ebx
test ecx, ecx
jle 0x100303ba
xor esi, esi
movzx eax, al
cmp dword [edx*4 + 0x1069d780], ebx
cmovl eax, esi
inc edx
cmp edx, ecx
jl 0x1003039b
test al, al
jne 0x100303ba
push 0x10071ec8
jmp 0x100303bf
push 0x10071ec4
call fcn.1004c541
pop ecx
push 2
mov dword [ebp - 0x20], ebx
pop ecx
jmp 0x100303da
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x124], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x100303cd
mov dword [ebp - 0x120], ecx
cmp dword [ebp - 0x120], ebx
jl 0x10030415
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x10030400
push 1
push ecx
call fcn.1002a874
pop ecx
pop ecx
mov ecx, dword [ebp - 0x120]
mov ecx, dword [ebp + ecx*4 - 0x5b0]
dec dword [ebp - 0x120]
jns 0x100303ed
mov ecx, dword [ebp - 0xc]
mov eax, 0x10705ab0
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret