Function at 0x10088dd
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x824
mov eax, dword [0x100bb2c]
or dword [ebp - 0x810], 0xffffffff
push ebx
mov ebx, dword [ebp + 0xc]
push esi
xor esi, esi
push edi
push esi
mov dword [ebp - 4], eax
mov dword [ebp - 0x820], esi
mov dword [ebp - 0x818], esi
call fcn.01002fdc
call fcn.0100311d
call fcn.01002312
call fcn.010020e4
mov eax, dword [ebx]
add ebx, 4
dec dword [ebp + 8]
cmp dword [ebp + 8], esi
mov dword [0x100cb60], eax
jle 0x1008dc4
xor esi, esi
cmp dword [0x100b040], 6
mov dword [ebp - 0x81c], esi
mov dword [ebp - 0x80c], esi
je 0x1008d63
xor edi, edi
cmp dword [ebp - 0x81c], edi
jne 0x1008d8b
push edi
push dword [ebx]
lea eax, [esi + 0x100b028]
push eax
call fcn.01001e7c
test eax, eax
je 0x1008d44
cmp dword [esi + 0x100b058], edi
je 0x10089a6
push dword [ebx]
xor eax, eax
mov ax, word [0x100c344]
push dword [esi + 0x100b034]
push 0x226
push eax
call fcn.010039e7
add esp, 0x10
mov dword [ebp - 0x818], 1
push dword [ebx]
call fcn.01001e35
test eax, eax
jne 0x10089c2
mov eax, dword [esi + 0x100b044]
test al, 0x20
jne 0x10089c2
test eax, 0x100000
je 0x10089c8
add ebx, 4
dec dword [ebp + 8]
mov edi, dword [esi + 0x100b040]
xor eax, eax
inc eax
cmp edi, 9
mov dword [ebp - 0x81c], eax
mov dword [esi + 0x100b058], eax
ja case.0x10089e6.6
jmp dword [edi*4 + 0x1008f95]
xor eax, eax
inc eax
mov dword [esi + 0x100b048], eax
mov dword [ebp - 0x820], eax
jmp case.0x10089e6.6
mov eax, dword [esi + 0x100b048]
or dword [esi + 0x100b044], 4
mov dword [0x100b020], eax
cmp dword [ebp + 8], 0
jle 0x1008d04
mov edi, dword [ebx]
push edi
call fcn.01001e35
test eax, eax
jne 0x1008d04
push 0x7fffffff
lea eax, [ebp - 0x824]
push eax
push edi
call fcn.01001fba
test eax, eax
jne 0x1008a51
mov eax, dword [ebp - 0x824]
mov dword [esi + 0x100b048], eax
jmp 0x1008a58
or byte [esi + 0x100b047], 2
cmp dword [esi + 0x100b040], 4
jne 0x1008a6c
mov eax, dword [esi + 0x100b048]
mov dword [0x100b020], eax
add ebx, 4
dec dword [ebp + 8]
jmp case.0x10089e6.6
xor ecx, ecx
lea eax, [esi + 0x100b048]
cmp dword [eax], ecx
sete cl
mov dword [eax], ecx
jmp case.0x10089e6.6
cmp dword [ebp + 8], 0
jle 0x1008b68
mov edi, dword [ebx]
push edi
mov dword [ebp - 0x808], edi
call fcn.01001e35
test eax, eax
jne 0x1008b68
push edi
call fcn.01001f37
test eax, eax
jne 0x1008aff
push edi
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea edi, [eax + eax + 4]
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edx, eax
test edx, edx
mov dword [esi + 0x100b048], edx
je 0x1008b57
push dword [ebp - 0x808]
mov ecx, edi
mov edi, edx
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
push dword [esi + 0x100b048]
jmp 0x1008b20
push 4
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
mov dword [esi + 0x100b048], eax
je 0x1008b57
push 0x100123c
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
jmp 0x1008b57
mov edi, dword [ebx]
push edi
call fcn.01001e35
test eax, eax
jne case.0x10089e6.6
test byte [esi + 0x100b045], 4
je 0x1008b49
push edi
call fcn.01001f59
push dword [ebx]
lea eax, [esi + 0x100b048]
push eax
call fcn.01002bcb
add ebx, 4
dec dword [ebp + 8]
cmp dword [ebp + 8], 0
jg 0x1008b2a
jmp case.0x10089e6.6
mov eax, dword [esi + 0x100b044]
test al, 4
jne 0x1008b7f
cmp dword [esi + 0x100b05c], 0
je 0x1008d17
or eax, 0x1000000
jmp 0x1008d1c
mov eax, dword [ebp - 0x80c]
mov dword [ebp - 0x810], eax
cmp dword [ebp + 8], 0
jle 0x1008bf1
mov edi, dword [ebx]
push edi
call fcn.01001e35
test eax, eax
jne 0x1008bf1
test byte [esi + 0x100b045], 4
je 0x1008bb6
push edi
call fcn.01001f59
push dword [ebx]
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea eax, [eax + eax + 4]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
mov dword [esi + 0x100b048], eax
je 0x1008a6c
push dword [ebx]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
jmp 0x1008a6c
mov eax, dword [esi + 0x100b044]
test al, 4
jne 0x1008b7f
cmp dword [esi + 0x100b05c], 0
jne 0x1008b7f
test eax, 0x10000
jmp 0x1008d15
cmp dword [ebp + 8], 0
jle 0x1008d04
push dword [ebx]
call fcn.01001e35
test eax, eax
jne 0x1008d04
and dword [ebp - 0x808], eax
mov eax, dword [ebx]
add ebx, 4
dec dword [ebp + 8]
cmp edi, 9
mov dword [ebp - 0x814], eax
jne 0x1008cba
cmp dword [ebp + 8], 0
jle 0x1008cba
mov edi, dword [ebx]
push edi
call fcn.01001e35
test eax, eax
jne 0x1008cba
push edi
mov edi, dword [sym.imp.msvcrt.dll_wcslen]
call edi
push dword [ebp - 0x814]
mov dword [ebp - 0x808], eax
call edi
pop ecx
pop ecx
mov ecx, dword [ebp - 0x808]
add ecx, eax
lea eax, [ecx + ecx + 4]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
test edi, edi
mov dword [ebp - 0x808], edi
je 0x1008cb4
push dword [ebx]
push dword [ebp - 0x814]
push 0x1001b6c
push edi
call dword [sym.imp.msvcrt.dll_swprintf]
add esp, 0x10
mov dword [ebp - 0x814], edi
add ebx, 4
dec dword [ebp + 8]
xor eax, eax
cmp dword [esi + 0x100b040], 9
sete al
push eax
lea eax, [esi + 0x100b048]
push eax
push dword [ebp - 0x814]
call fcn.0100476c
test eax, eax
je 0x1008ce4
or byte [esi + 0x100b047], 2
cmp dword [ebp - 0x808], 0
je case.0x10089e6.6
push dword [ebp - 0x808]
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp case.0x10089e6.6
mov eax, dword [esi + 0x100b044]
test al, 4
jne case.0x10089e6.6
cmp dword [esi + 0x100b05c], 0
jne case.0x10089e6.6
or eax, 0x2000000
mov dword [esi + 0x100b044], eax
test byte [esi + 0x100b044], 0x40
je 0x1008d44
xor eax, eax
cmp dword [esi + 0x100b040], 5
sete al
push eax
lea eax, [esi + 0x100b048]
push eax
call fcn.01002d45
inc dword [ebp - 0x80c]
add esi, 0x40
cmp dword [esi + 0x100b040], 6
jne 0x1008951
cmp dword [ebp - 0x81c], 0
jne 0x1008d8b
push dword [ebx]
xor eax, eax
mov ax, word [0x100c344]
push 0x228
push eax
call fcn.010039e7
add esp, 0xc
add ebx, 4
dec dword [ebp + 8]
mov dword [ebp - 0x818], 1
cmp dword [ebp + 8], 0
jg 0x1008936
cmp dword [ebp - 0x810], 0
jl 0x1008dc4
mov eax, dword [ebp - 0x810]
shl eax, 6
cmp dword [eax + 0x100b040], 7
jne 0x1008dc4
cmp dword [eax + 0x100b058], 0
je 0x1008dc4
push dword [eax + 0x100b048]
call fcn.01006a3f
and dword [ebp - 0x80c], 0
cmp dword [0x100b040], 6
je 0x1008f37
mov edi, 0x100b040
mov esi, 0x100b048
cmp dword [ebp - 0x820], 0
jne 0x1008e00
cmp dword [esi + 0x10], 0
je 0x1008e00
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x1008e00
push dword [ebp - 0x80c]
call eax
mov edi, dword [edi]
cmp edi, 2
je 0x1008e15
cmp edi, 5
je 0x1008e15
cmp edi, 7
jne 0x1008f22
cmp dword [esi + 0x10], 0
je 0x1008e25
test byte [esi - 1], 1
je 0x1008f22
and byte [esi - 1], 0xfe
test byte [esi - 2], 2
je 0x1008ea2
push 0x400
lea eax, [ebp - 0x804]
push eax
push dword [esi]
push 0
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x804]
push eax
call fcn.01001f37
test eax, eax
jne 0x1008efd
lea eax, [ebp - 0x804]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea ebx, [eax + eax + 4]
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
test edi, edi
mov dword [esi], edi
je 0x1008f22
mov ecx, ebx
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea eax, [ebp - 0x804]
push eax
jmp 0x1008ef9
mov eax, dword [esi]
test eax, eax
mov dword [ebp - 0x810], eax
je 0x1008f22
push eax
call fcn.01001f37
test eax, eax
jne 0x1008efd
push dword [ebp - 0x810]
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea ebx, [eax + eax + 4]
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
test edi, edi
mov dword [esi], edi
je 0x1008f22
push dword [ebp - 0x810]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
push dword [esi]
jmp 0x1008f1a
push 4
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
mov dword [esi], eax
je 0x1008f22
push 0x100123c
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
inc dword [ebp - 0x80c]
add esi, 0x40
lea edi, [esi - 8]
cmp dword [edi], 6
jne 0x1008de2
xor esi, esi
cmp dword [ebp - 0x820], esi
je 0x1008f46
call fcn.010070c8
cmp dword [0x100b020], esi
jl 0x1008f53
call fcn.01006e74
call fcn.01004195
test eax, eax
jne 0x1008f67
cmp dword [ebp - 0x818], esi
pop edi
pop esi
pop ebx
je 0x1008f89
xor eax, eax
mov ax, word [0x100c344]
push 0x238
push eax
call fcn.010039e7
pop ecx
pop ecx
call fcn.0100224b
push 0xb
call dword [sym.imp.msvcrt.dll_exit]
mov ecx, dword [ebp - 4]
call fcn.01009ab2
leave
ret 8