Function at 0x10061c8
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x828
mov eax, dword [0x100a3a8]
xor eax, ebp
mov dword [ebp - 4], eax
or dword [ebp - 0x814], 0xffffffff
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
xor esi, esi
push esi
mov dword [ebp - 0x81c], esi
mov dword [ebp - 0x818], esi
call dword [sym.imp.KERNEL32.dll_SetThreadUILanguage]
call fcn.01002346
call fcn.01002ba9
call fcn.01001e53
mov eax, dword [edi]
add edi, 4
dec dword [ebp + 8]
cmp dword [ebp + 8], esi
mov dword [0x100a3cc], eax
jle 0x1006608
and dword [ebp - 0x820], 0
and dword [ebp - 0x808], 0
cmp dword [0x100a040], 6
je 0x100658e
mov esi, 0x100a044
cmp dword [ebp - 0x820], 0
jne 0x10065b5
push 0
push dword [edi]
lea ebx, [esi + 4]
lea eax, [ebx - 0x20]
push eax
call fcn.01001bf8
test eax, eax
je case.0x10062ca.6
cmp dword [ebx + 0x10], 0
je 0x1006293
push dword [edi]
movzx eax, word [0x100a3d4]
push dword [ebx - 0x14]
push 0x226
push eax
call fcn.01003234
add esp, 0x10
mov dword [ebp - 0x818], 1
push dword [edi]
call fcn.01001bac
test eax, eax
jne 0x10062ab
mov eax, dword [esi]
test al, 0x20
jne 0x10062ab
test eax, 0x100000
je 0x10062b1
add edi, 4
dec dword [ebp + 8]
xor eax, eax
inc eax
cmp dword [esi - 4], 9
mov dword [ebp - 0x820], eax
mov dword [ebx + 0x10], eax
ja case.0x10062ca.6
mov eax, dword [esi - 4]
jmp dword [eax*4 + 0x1006784]
xor eax, eax
inc eax
mov dword [ebx], eax
mov dword [ebp - 0x81c], eax
jmp case.0x10062ca.6
mov eax, dword [ebx]
or dword [esi], 4
mov dword [0x100a024], eax
cmp dword [ebp + 8], 0
jle 0x100655f
push dword [edi]
call fcn.01001bac
test eax, eax
jne 0x100655f
push 0x7fffffff
lea eax, [ebp - 0x828]
push eax
push dword [edi]
call fcn.01002ac1
test eax, eax
jne 0x1006325
mov eax, dword [ebp - 0x828]
mov dword [ebx], eax
jmp 0x100632b
or dword [esi], 0x2000000
cmp dword [esi - 4], 4
jne 0x1006424
mov eax, dword [ebx]
mov dword [0x100a024], eax
jmp 0x1006424
xor eax, eax
cmp dword [ebx], eax
sete al
mov dword [ebx], eax
jmp case.0x10062ca.6
cmp dword [ebp + 8], 0
jle 0x10063cb
push dword [edi]
call fcn.01001bac
test eax, eax
jne 0x10063cb
and dword [esi], 0xfffdffff
push dword [edi]
push dword [ebp - 0x808]
call fcn.01002a22
cmp dword [ebx], 0
jne 0x10063ba
push 0x8007000e
call fcn.010061ae
call fcn.0100201c
push 0xe
call dword [sym.imp.msvcrt.dll_exit]
mov ebx, dword [edi]
push ebx
call fcn.01001bac
test eax, eax
jne case.0x10062ca.6
test dword [esi], 0x400
je 0x10063ad
push ebx
call fcn.01001de6
push dword [edi]
push dword [ebp - 0x808]
call fcn.01005138
add edi, 4
dec dword [ebp + 8]
cmp dword [ebp + 8], 0
jg 0x100638f
jmp case.0x10062ca.6
mov eax, dword [esi]
test al, 4
jne 0x10063db
cmp dword [ebx + 0x14], 0
je 0x100656b
or eax, 0x1000000
jmp 0x1006570
mov eax, dword [ebp - 0x808]
mov dword [ebp - 0x814], eax
cmp dword [ebp + 8], 0
jle 0x100642f
push dword [edi]
call fcn.01001bac
test eax, eax
jne 0x100642f
test dword [esi], 0x400
je 0x1006411
push dword [edi]
call fcn.01001de6
and dword [esi], 0xfffdffff
push dword [edi]
push dword [ebp - 0x808]
call fcn.01002a22
add edi, 4
dec dword [ebp + 8]
jmp case.0x10062ca.6
mov eax, dword [esi]
test al, 4
jne 0x10063db
cmp dword [ebx + 0x14], 0
jne 0x10063db
test eax, 0x10000
jmp 0x1006569
cmp dword [ebp + 8], 0
jle 0x100655f
push dword [edi]
call fcn.01001bac
test eax, eax
jne 0x100655f
and dword [ebp - 0x80c], eax
mov eax, dword [edi]
add edi, 4
dec dword [ebp + 8]
cmp dword [esi - 4], 9
mov dword [ebp - 0x810], eax
jne 0x100651f
cmp dword [ebp + 8], 0
jle 0x100651f
push dword [edi]
call fcn.01001bac
test eax, eax
jne 0x100651f
mov eax, dword [ebp - 0x810]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x100649e
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, dword [edi]
lea edx, [eax + 2]
mov dword [ebp - 0x80c], edx
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x10064b9
sub eax, dword [ebp - 0x80c]
sar eax, 1
add eax, ecx
lea eax, [eax + eax + 4]
push eax
push 0
mov dword [ebp - 0x824], eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x80c], eax
test eax, eax
je 0x1006519
push dword [edi]
push dword [ebp - 0x810]
push 0x1001824
push dword [ebp - 0x824]
push eax
call fcn.01002735
mov eax, dword [ebp - 0x80c]
add esp, 0x14
mov dword [ebp - 0x810], eax
add edi, 4
dec dword [ebp + 8]
xor eax, eax
cmp dword [esi - 4], 9
sete al
push eax
push ebx
push dword [ebp - 0x810]
call fcn.010042e9
test eax, eax
je 0x100653f
or dword [esi], 0x2000000
cmp dword [ebp - 0x80c], 0
je case.0x10062ca.6
push dword [ebp - 0x80c]
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp case.0x10062ca.6
mov eax, dword [esi]
test al, 4
jne case.0x10062ca.6
cmp dword [ebx + 0x14], 0
jne case.0x10062ca.6
or eax, 0x2000000
mov dword [esi], eax
inc dword [ebp - 0x808]
add esi, 0x40
cmp dword [esi - 4], 6
jne 0x1006244
cmp dword [ebp - 0x820], 0
jne 0x10065b5
push dword [edi]
movzx eax, word [0x100a3d4]
push 0x228
push eax
call fcn.01003234
add esp, 0xc
add edi, 4
dec dword [ebp + 8]
mov dword [ebp - 0x818], 1
cmp dword [ebp + 8], 0
jg 0x1006224
cmp dword [ebp - 0x814], 0
jl 0x1006608
mov esi, dword [ebp - 0x814]
shl esi, 6
cmp dword [esi + 0x100a040], 7
jne 0x1006608
cmp dword [esi + 0x100a058], 0
je 0x1006608
lea eax, [ebp - 0x824]
push eax
push dword [esi + 0x100a048]
call fcn.0100518f
cmp dword [ebp - 0x824], 0
je 0x1006608
or dword [esi + 0x100a044], 0x800000
xor edi, edi
cmp dword [0x100a040], 6
mov dword [ebp - 0x808], edi
je 0x1006728
xor esi, esi
mov ebx, 0x20000
cmp dword [ebp - 0x81c], edi
jne 0x1006646
cmp dword [esi + 0x100a058], edi
je 0x1006646
mov eax, dword [esi + 0x100a064]
cmp eax, edi
je 0x1006646
push dword [ebp - 0x808]
call eax
mov eax, dword [esi + 0x100a044]
test ebx, eax
jne 0x1006674
mov ecx, dword [esi + 0x100a040]
cmp ecx, 2
je 0x1006665
cmp ecx, 5
je 0x1006665
cmp ecx, 7
jne 0x10066ba
cmp dword [esi + 0x100a058], edi
je 0x1006674
test eax, 0x1000000
je 0x10066ba
and eax, 0xfeffffff
mov dword [esi + 0x100a044], eax
test ebx, eax
je 0x10066ba
push 0x400
lea eax, [ebp - 0x804]
push eax
push dword [esi + 0x100a048]
push edi
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x804]
push eax
push dword [ebp - 0x808]
call fcn.01002a22
cmp dword [esi + 0x100a048], edi
je 0x1006378
test byte [esi + 0x100a044], 0x40
je 0x100670c
cmp dword [esi + 0x100a058], edi
jne 0x10066e9
lea edi, [esi + 0x100a048]
push dword [edi]
push dword [ebp - 0x808]
call fcn.01002a22
cmp dword [edi], 0
je 0x1006378
xor edi, edi
or dword [esi + 0x100a044], 0x80000000
xor eax, eax
cmp dword [esi + 0x100a040], 5
sete al
push eax
lea eax, [esi + 0x100a048]
push eax
call fcn.01004070
inc dword [ebp - 0x808]
mov esi, dword [ebp - 0x808]
shl esi, 6
cmp dword [esi + 0x100a040], 6
jne 0x1006624
cmp dword [ebp - 0x81c], edi
je 0x1006735
call fcn.010058a2
cmp dword [0x100a024], edi
jl 0x1006742
call fcn.01005631
call fcn.01003785
test eax, eax
jne 0x1006756
cmp dword [ebp - 0x818], edi
pop edi
pop esi
pop ebx
je 0x1006776
movzx eax, word [0x100a3d4]
push 0x238
push eax
call fcn.01003234
pop ecx
pop ecx
call fcn.0100201c
push 0xb
jmp 0x1006389
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.01008013
leave
ret 8