Function at 0x100620c
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x828
mov eax, dword [0x1009428]
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.010020d6
call fcn.01002bf9
call fcn.01001be3
mov eax, dword [edi]
add edi, 4
dec dword [ebp + 8]
cmp dword [ebp + 8], esi
mov dword [0x100944c], eax
jle 0x100664c
and dword [ebp - 0x820], 0
and dword [ebp - 0x808], 0
cmp dword [0x1009040], 6
je 0x10065d2
mov esi, 0x1009044
cmp dword [ebp - 0x820], 0
jne 0x10065f9
push 0
push dword [edi]
lea ebx, [esi + 4]
lea eax, [ebx - 0x20]
push eax
call fcn.01001988
test eax, eax
je case.0x100630e.6
cmp dword [ebx + 0x10], 0
je 0x10062d7
push dword [edi]
movzx eax, word [0x1009454]
push dword [ebx - 0x14]
push 0x226
push eax
call fcn.01003284
add esp, 0x10
mov dword [ebp - 0x818], 1
push dword [edi]
call fcn.0100193c
test eax, eax
jne 0x10062ef
mov eax, dword [esi]
test al, 0x20
jne 0x10062ef
test eax, 0x100000
je 0x10062f5
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.0x100630e.6
mov eax, dword [esi - 4]
jmp dword [eax*4 + 0x10067c8]
xor eax, eax
inc eax
mov dword [ebx], eax
mov dword [ebp - 0x81c], eax
jmp case.0x100630e.6
mov eax, dword [ebx]
or dword [esi], 4
mov dword [0x1009024], eax
cmp dword [ebp + 8], 0
jle 0x10065a3
push dword [edi]
call fcn.0100193c
test eax, eax
jne 0x10065a3
push 0x7fffffff
lea eax, [ebp - 0x828]
push eax
push dword [edi]
call fcn.01002b11
test eax, eax
jne 0x1006369
mov eax, dword [ebp - 0x828]
mov dword [ebx], eax
jmp 0x100636f
or dword [esi], 0x2000000
cmp dword [esi - 4], 4
jne 0x1006468
mov eax, dword [ebx]
mov dword [0x1009024], eax
jmp 0x1006468
xor eax, eax
cmp dword [ebx], eax
sete al
mov dword [ebx], eax
jmp case.0x100630e.6
cmp dword [ebp + 8], 0
jle 0x100640f
push dword [edi]
call fcn.0100193c
test eax, eax
jne 0x100640f
and dword [esi], 0xfffdffff
push dword [edi]
push dword [ebp - 0x808]
call fcn.01002a72
cmp dword [ebx], 0
jne 0x10063fe
push 0x8007000e
call fcn.010061f2
call fcn.01001dac
push 0xe
call dword [sym.imp.msvcrt.dll_exit]
mov ebx, dword [edi]
push ebx
call fcn.0100193c
test eax, eax
jne case.0x100630e.6
test dword [esi], 0x400
je 0x10063f1
push ebx
call fcn.01001b76
push dword [edi]
push dword [ebp - 0x808]
call fcn.0100517c
add edi, 4
dec dword [ebp + 8]
cmp dword [ebp + 8], 0
jg 0x10063d3
jmp case.0x100630e.6
mov eax, dword [esi]
test al, 4
jne 0x100641f
cmp dword [ebx + 0x14], 0
je 0x10065af
or eax, 0x1000000
jmp 0x10065b4
mov eax, dword [ebp - 0x808]
mov dword [ebp - 0x814], eax
cmp dword [ebp + 8], 0
jle 0x1006473
push dword [edi]
call fcn.0100193c
test eax, eax
jne 0x1006473
test dword [esi], 0x400
je 0x1006455
push dword [edi]
call fcn.01001b76
and dword [esi], 0xfffdffff
push dword [edi]
push dword [ebp - 0x808]
call fcn.01002a72
add edi, 4
dec dword [ebp + 8]
jmp case.0x100630e.6
mov eax, dword [esi]
test al, 4
jne 0x100641f
cmp dword [ebx + 0x14], 0
jne 0x100641f
test eax, 0x10000
jmp 0x10065ad
cmp dword [ebp + 8], 0
jle 0x10065a3
push dword [edi]
call fcn.0100193c
test eax, eax
jne 0x10065a3
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 0x1006563
cmp dword [ebp + 8], 0
jle 0x1006563
push dword [edi]
call fcn.0100193c
test eax, eax
jne 0x1006563
mov eax, dword [ebp - 0x810]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x10064e2
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 0x10064fd
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 0x100655d
push dword [edi]
push dword [ebp - 0x810]
push 0x1001748
push dword [ebp - 0x824]
push eax
call fcn.01002785
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.01004339
test eax, eax
je 0x1006583
or dword [esi], 0x2000000
cmp dword [ebp - 0x80c], 0
je case.0x100630e.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.0x100630e.6
mov eax, dword [esi]
test al, 4
jne case.0x100630e.6
cmp dword [ebx + 0x14], 0
jne case.0x100630e.6
or eax, 0x2000000
mov dword [esi], eax
inc dword [ebp - 0x808]
add esi, 0x40
cmp dword [esi - 4], 6
jne 0x1006288
cmp dword [ebp - 0x820], 0
jne 0x10065f9
push dword [edi]
movzx eax, word [0x1009454]
push 0x228
push eax
call fcn.01003284
add esp, 0xc
add edi, 4
dec dword [ebp + 8]
mov dword [ebp - 0x818], 1
cmp dword [ebp + 8], 0
jg 0x1006268
cmp dword [ebp - 0x814], 0
jl 0x100664c
mov esi, dword [ebp - 0x814]
shl esi, 6
cmp dword [esi + 0x1009040], 7
jne 0x100664c
cmp dword [esi + 0x1009058], 0
je 0x100664c
lea eax, [ebp - 0x824]
push eax
push dword [esi + 0x1009048]
call fcn.010051d3
cmp dword [ebp - 0x824], 0
je 0x100664c
or dword [esi + 0x1009044], 0x800000
xor edi, edi
cmp dword [0x1009040], 6
mov dword [ebp - 0x808], edi
je 0x100676c
xor esi, esi
mov ebx, 0x20000
cmp dword [ebp - 0x81c], edi
jne 0x100668a
cmp dword [esi + 0x1009058], edi
je 0x100668a
mov eax, dword [esi + 0x1009064]
cmp eax, edi
je 0x100668a
push dword [ebp - 0x808]
call eax
mov eax, dword [esi + 0x1009044]
test ebx, eax
jne 0x10066b8
mov ecx, dword [esi + 0x1009040]
cmp ecx, 2
je 0x10066a9
cmp ecx, 5
je 0x10066a9
cmp ecx, 7
jne 0x10066fe
cmp dword [esi + 0x1009058], edi
je 0x10066b8
test eax, 0x1000000
je 0x10066fe
and eax, 0xfeffffff
mov dword [esi + 0x1009044], eax
test ebx, eax
je 0x10066fe
push 0x400
lea eax, [ebp - 0x804]
push eax
push dword [esi + 0x1009048]
push edi
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x804]
push eax
push dword [ebp - 0x808]
call fcn.01002a72
cmp dword [esi + 0x1009048], edi
je 0x10063bc
test byte [esi + 0x1009044], 0x40
je 0x1006750
cmp dword [esi + 0x1009058], edi
jne 0x100672d
lea edi, [esi + 0x1009048]
push dword [edi]
push dword [ebp - 0x808]
call fcn.01002a72
cmp dword [edi], 0
je 0x10063bc
xor edi, edi
or dword [esi + 0x1009044], 0x80000000
xor eax, eax
cmp dword [esi + 0x1009040], 5
sete al
push eax
lea eax, [esi + 0x1009048]
push eax
call fcn.010040c0
inc dword [ebp - 0x808]
mov esi, dword [ebp - 0x808]
shl esi, 6
cmp dword [esi + 0x1009040], 6
jne 0x1006668
cmp dword [ebp - 0x81c], edi
je 0x1006779
call fcn.010058e6
cmp dword [0x1009024], edi
jl 0x1006786
call fcn.01005675
call fcn.010037d5
test eax, eax
jne 0x100679a
cmp dword [ebp - 0x818], edi
pop edi
pop esi
pop ebx
je 0x10067ba
movzx eax, word [0x1009454]
push 0x238
push eax
call fcn.01003284
pop ecx
pop ecx
call fcn.01001dac
push 0xb
jmp 0x10063cd
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0100741c
leave
ret 8