Function at 0x8845f3
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
push ebx
mov ebx, ecx
mov dword [esp + 0x48], edx
xor ecx, ecx
mov dword [esp + 0x20], ebx
push esi
push edi
mov eax, dword [ebx]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x3c], eax
cmp dword [ebx + 0x24], ecx
jne 0x884da8
cmp byte [eax + 0x49], cl
jne 0x884da8
mov ecx, ebx
call fcn.008844a2
mov edi, eax
mov dword [esp + 0x18], edi
test edi, edi
je 0x884da8
push 0
push 0
push 0x6e
mov edx, edi
mov ecx, ebx
call fcn.00895123
mov esi, eax
add esp, 0xc
mov eax, dword [edi + 0xc]
mov dword [esp + 0x70], esi
mov dword [esp + 0x54], eax
test esi, esi
jne 0x8846a5
push esi
push esi
mov edx, edi
mov ecx, ebx
call fcn.00887e43
pop ecx
pop ecx
test eax, eax
jne 0x8846a5
and dword [esp + 0x10], eax
jmp 0x8846ad
mov dword [esp + 0x10], 1
mov edx, edi
mov ecx, ebx
call fcn.0088192a
test eax, eax
jne 0x884da8
test esi, esi
mov edx, edi
mov ecx, ebx
setne al
push eax
call fcn.008844df
pop ecx
test eax, eax
jne 0x884da8
mov esi, dword [esp + 0x3c]
mov ecx, esi
mov edx, dword [edi + 0x48]
call fcn.0088e18e
mov ecx, eax
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
mov ecx, ebx
push 0
push dword [edi]
push 9
pop edx
call fcn.0087f84e
add esp, 0xc
mov dword [esp + 0x2c], eax
cmp eax, 1
je 0x884da8
mov ecx, dword [esp + 0x50]
xor edx, edx
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x44], edx
mov dword [ecx + 0x34], eax
inc dword [ebx + 0x28]
mov eax, dword [edi + 8]
mov ecx, dword [ebx + 0x28]
test eax, eax
je 0x884741
inc ecx
inc edx
mov dword [ebx + 0x28], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x884731
mov dword [esp + 0x44], edx
cmp dword [esp + 0x54], 0
je 0x884758
push dword [edi]
lea edx, [esp + 0x78]
mov ecx, ebx
call fcn.0087f8ca
add esp, 4
mov ecx, ebx
call fcn.008903a5
mov esi, eax
mov dword [esp + 0x30], esi
test esi, esi
je 0x884da8
cmp byte [ebx + 0x12], 0
jne 0x88477a
mov ecx, esi
call fcn.0086e326
push dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, ebx
call fcn.008838cb
cmp dword [esp + 0x58], 0
pop ecx
je 0x8847b4
push dword [esp + 0x1c]
mov edx, edi
mov ecx, ebx
push 0
push 0
push dword [ebp + 8]
call fcn.00884540
mov eax, dword [esp + 0x2c]
add esp, 0x10
mov dword [esp + 0x5c], eax
mov dword [esp + 0x24], eax
mov edx, dword [ebp + 8]
lea edi, [esp + 0x7c]
push 7
xor eax, eax
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x7c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], eax
call fcn.008785bb
test eax, eax
jne 0x884da8
mov eax, dword [esp + 0x3c]
test byte [eax + 0x1c], 0x80
je 0x884811
cmp byte [ebx + 0x12], 0
jne 0x884811
cmp dword [ebx + 0x7c], 0
jne 0x884811
inc dword [ebx + 0x2c]
mov ecx, esi
mov eax, dword [ebx + 0x2c]
push eax
push 0
push 0x43
pop edx
mov dword [esp + 0x54], eax
call fcn.0086b177
pop ecx
pop ecx
cmp dword [esp + 0x2c], 0
mov edi, dword [esp + 0x18]
jne 0x8848a5
cmp dword [ebp + 8], 0
jne 0x8848a5
cmp dword [esp + 0x10], 0
jne 0x8848a5
cmp dword [edi + 0x38], 0
jne 0x8848a5
push dword [edi]
mov edx, dword [esp + 0x24]
mov ecx, ebx
push 1
push dword [edi + 0x1c]
call fcn.0087f8f7
add esp, 0xc
test byte [edi + 0x24], 0x20
jne 0x884874
mov ecx, dword [esp + 0x4c]
or eax, 0xffffffff
push eax
push dword [edi]
test ecx, ecx
mov edx, 0x87
cmovne eax, ecx
mov ecx, esi
push eax
push dword [esp + 0x2c]
push dword [edi + 0x1c]
call fcn.0086b23d
add esp, 0x14
mov edi, dword [edi + 8]
test edi, edi
je 0x884d61
mov ebx, dword [esp + 0x20]
push ebx
push dword [edi + 0x2c]
mov edx, 0x87
mov ecx, esi
call fcn.0086b177
mov edi, dword [edi + 0x14]
pop ecx
pop ecx
test edi, edi
jne 0x884883
mov ebx, dword [esp + 0x28]
jmp 0x884d61
test byte [esp + 0x94], 0x40
push 1
pop ecx
mov eax, ecx
cmove eax, dword [esp + 0x10]
neg eax
sbb eax, eax
and eax, 0xfffffff8
add eax, 0x41c
test byte [edi + 0x24], 0x20
movzx eax, ax
mov dword [esp + 0x2c], eax
jne 0x8848f4
and dword [esp + 0x18], 0
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
push eax
push 0
mov dword [esp + 0x28], ecx
mov ecx, esi
push 0x46
pop edx
mov dword [esp + 0x60], eax
call fcn.0086b177
pop ecx
pop ecx
jmp 0x884943
mov ecx, edi
call fcn.0088035b
mov dword [esp + 0x18], eax
movzx ecx, word [eax + 0x32]
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x20], ecx
movsx ecx, cx
push ecx
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x3c], edx
mov ecx, esi
mov edx, dword [ebx + 0x28]
push edx
mov dword [ebx + 0x2c], eax
mov dword [esp + 0x3c], edx
lea eax, [edx + 1]
push 0x6e
pop edx
mov dword [ebx + 0x28], eax
call fcn.0086b177
mov edx, dword [esp + 0x20]
pop ecx
pop ecx
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0086b94f
mov eax, dword [esp + 0x1c]
mov ecx, ebx
mov edx, dword [esp + 0x50]
inc eax
push eax
push dword [esp + 0x30]
push 0
push 0
push dword [ebp + 8]
call fcn.0089fb34
add esp, 0x14
mov dword [esp + 0x2c], eax
test eax, eax
je 0x884da8
lea edx, [esp + 0x68]
mov ecx, eax
call fcn.0089bd75
mov dword [esp + 0x14], eax
cmp eax, 1
je 0x884989
mov ecx, ebx
call fcn.008838f8
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x8849a0
push 1
push eax
push 0x50
pop edx
mov ecx, esi
call fcn.0086b177
pop ecx
pop ecx
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x8849f7
mov eax, dword [esp + 0x20]
and dword [esp + 0x10], 0
cwde
test eax, eax
jle 0x8849ed
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
mov edx, edi
add eax, ebx
push eax
mov eax, dword [ecx + 4]
mov ecx, esi
movsx eax, word [eax + ebx*2]
push eax
push dword [esp + 0x24]
call fcn.0087b462
mov ecx, dword [esp + 0x2c]
add esp, 0xc
movsx eax, cx
inc ebx
mov ecx, dword [esp + 0x18]
cmp ebx, eax
jl 0x8849ba
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
jmp 0x884a1c
mov eax, dword [ebx + 0x2c]
mov edx, edi
push 0
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x24]
push 0xffffffffffffffff
call fcn.0087b507
add esp, 0x10
mov dword [esp + 0x10], eax
cmp eax, dword [ebx + 0x2c]
jle 0x884a1c
mov dword [ebx + 0x2c], eax
cmp dword [esp + 0x14], 0
je 0x884aba
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
movzx eax, ax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
add eax, 2
cdq
push edx
push eax
call fcn.00853f2c
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x40], ecx
test ecx, ecx
jne 0x884a5f
mov ecx, dword [esp + 0x2c]
call fcn.008a0427
jmp 0x884da8
mov eax, dword [esp + 0x44]
inc eax
push eax
push 1
push ecx
call fcn.008abac0
mov eax, dword [esp + 0x50]
add esp, 0xc
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x1c]
mov byte [eax + edx + 1], 0
mov eax, dword [esp + 0x68]
test eax, eax
js 0x884a8f
sub eax, ecx
mov byte [eax + edx], 0
cmp dword [esp + 0x6c], 0
jl 0x884aa0
mov eax, dword [esp + 0x6c]
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x64]
test eax, eax
je 0x884be5
mov edx, eax
mov ecx, esi
call fcn.0086b7e3
jmp 0x884be5
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x884bca
inc dword [ebx + 0x2c]
mov edx, ecx
mov eax, dword [ebx + 0x2c]
and dword [esp + 0x28], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
movsx esi, ax
push esi
push ecx
mov ecx, dword [ebx]
call fcn.008884b2
pop ecx
mov ecx, dword [esp + 0x34]
push eax
push dword [esp + 0x18]
push esi
push dword [esp + 0x48]
push 0x65
pop edx
call fcn.0086b23d
add esp, 0x14
mov edx, 0x81
push esi
push dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov ecx, esi
push dword [esp + 0x18]
push dword [esp + 0x40]
call fcn.0086b36e
add esp, 0x10
mov ecx, dword [esp + 0x2c]
call fcn.008a0427
cmp dword [esp + 0x54], 0
jne 0x884b81
and dword [esp + 0x30], 0
cmp dword [esp + 0x14], 2
jne 0x884b4b
push 0x14
pop edx
mov ecx, esi
call fcn.0086b155
mov dword [esp + 0x30], eax
lea eax, [esp + 0x5c]
mov edx, edi
push eax
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
push dword [esp + 0x48]
push dword [esp + 0x28]
push 8
push 0x6b
call fcn.0088a2af
mov eax, dword [esp + 0x2c]
add esp, 0x18
cmp eax, 2
jne 0x884b85
mov edx, dword [esp + 0x30]
mov ecx, esi
call fcn.0086b698
mov eax, dword [esp + 0x14]
test eax, eax
je 0x884c00
cmp dword [edi + 0x38], 0
mov ecx, dword [esp + 0x24]
jne 0x884c53
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x1c]
cmp byte [eax + ecx], 0
je 0x884c4f
mov eax, dword [esp + 0x28]
cwde
push eax
push dword [esp + 0x14]
push dword [esp + 0x68]
push ecx
push 0x1d
pop edx
mov ecx, esi
call fcn.0086b36e
add esp, 0x10
jmp 0x884c4b
push eax
push dword [esp + 0x5c]
mov edx, 0x91
mov dword [esp + 0x30], 1
mov ecx, esi
call fcn.0086b177
pop ecx
pop ecx
cmp dword [esp + 0x14], 0
je 0x884b21
mov ecx, esi
call fcn.0086b3bd
mov dword [esp + 0x60], eax
jmp 0x884b2a
cmp dword [esp + 0x18], 0
mov ecx, esi
je 0x884cc1
push dword [esp + 0x34]
push 0x25
pop edx
call fcn.0086b163
cmp dword [edi + 0x38], 0
pop ecx
push dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov ecx, esi
je 0x884c3d
push 0
push dword [esp + 0x3c]
push 0x62
pop edx
call fcn.0086b0f3
add esp, 0xc
jmp 0x884c4b
push dword [esp + 0x38]
push 0x7c
pop edx
call fcn.0086b177
pop ecx
pop ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
cmp dword [edi + 0x38], 0
mov edx, edi
je 0x884cdf
mov ecx, dword [esp + 0x3c]
call fcn.008972ed
mov ecx, ebx
mov dword [esp + 0x30], eax
call fcn.00898002
mov ecx, ebx
call fcn.00883905
cmp dword [esp + 0x14], 1
jne 0x884c9a
push dword [esp + 0x1c]
mov ecx, esi
push 0x72
pop edx
call fcn.0086b163
cmp dword [ebx + 0x78], 0
pop ecx
jne 0x884c9a
mov byte [ebx + 0x14], 0
push 0xfffffffffffffff4
push dword [esp + 0x34]
mov ecx, esi
push dword [esp + 0x18]
push 1
push 0
push 0xc
pop edx
call fcn.0086b23d
add esp, 0x14
mov ecx, esi
push 2
pop edx
call fcn.0086b680
jmp 0x884d0f
push dword [esp + 0x10]
push 0
push dword [esp + 0x60]
push 0x2a
pop edx
call fcn.0086b0f3
add esp, 0xc
mov dword [esp + 0x48], eax
jmp 0x884c4b
push dword [esp + 0x6c]
cmp byte [ebx + 0x12], 0
push eax
push 0xb
sete al
movzx eax, al
push eax
push dword [esp + 0x38]
push dword [esp + 0x24]
push dword [esp + 0x74]
push ecx
push dword [esp + 0x90]
mov ecx, ebx
call fcn.00884ddc
add esp, 0x24
cmp dword [esp + 0x14], 0
mov ecx, esi
je 0x884d2c
mov edx, dword [esp + 0x60]
call fcn.0086b3ff
mov ecx, dword [esp + 0x2c]
call fcn.008a0427
jmp 0x884d61
cmp dword [esp + 0x18], 0
je 0x884d4d
mov edi, dword [esp + 0x48]
lea eax, [edi + 1]
push eax
push dword [esp + 0x38]
push 7
pop edx
call fcn.0086b177
pop ecx
pop ecx
mov edx, edi
jmp 0x884d5a
mov edx, dword [esp + 0x48]
call fcn.0086b18c
mov edx, dword [esp + 0x48]
mov ecx, esi
call fcn.0086b698
cmp byte [ebx + 0x12], 0
jne 0x884d74
cmp dword [ebx + 0x7c], 0
jne 0x884d74
mov ecx, ebx
call fcn.008888fc
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x884da8
push 1
push eax
push 0x4e
pop edx
mov ecx, esi
call fcn.0086b177
xor edx, edx
mov ecx, esi
inc edx
call fcn.0086c4e2
push 0
push 0x4a557c
push 0
xor edx, edx
mov ecx, esi
call fcn.0086c54a
add esp, 0x14
lea ecx, [esp + 0x74]
call fcn.0087f8e3
mov ebx, dword [esp + 0x3c]
mov ecx, ebx
mov edx, dword [esp + 0x50]
call fcn.008834b4
mov edx, dword [ebp + 8]
mov ecx, ebx
call fcn.008793d7
mov edx, dword [esp + 0x40]
mov ecx, ebx
call fcn.00853d0a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret