Function at 0x8ef310
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push ebx
push esi
push edi
mov eax, dword [section..marx]
mov dword [0x8f716c], eax
mov ecx, dword [section..marx]
mov edx, dword [ecx + 0x3c]
mov eax, dword [section..marx]
lea ecx, [eax + edx + 4]
mov dword [0x8f7194], ecx
mov edx, dword [section..marx]
mov eax, dword [edx + 0x3c]
mov ecx, dword [section..marx]
lea edx, [ecx + eax + 0x18]
mov dword [0x8f71a0], edx
mov eax, dword [0x8f71a0]
mov ecx, dword [eax + 0x68]
add ecx, dword [section..marx]
mov dword [0x8f72a0], ecx
mov edx, dword [0x8f71a0]
mov eax, dword [edx + 0x6c]
mov dword [0x8f72a4], eax
push 0x200
xor ecx, ecx
mov cl, byte [0x8ea11d]
push ecx
mov edx, dword [section..marx]
add edx, dword [0x8ea004]
mov eax, dword [0x8ea008]
lea ecx, [edx + eax + 0x100]
push ecx
call fcn.008f0113
mov dword [ebp - 4], eax
cmp dword [0x8ea00c], 0xffffffff
je 0x8ef3c8
mov edx, dword [0x8ea00c]
add edx, dword [section..marx]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov dword [0x8ea00c], ecx
cmp dword [0x8f72a4], 0
je 0x8ef56b
cmp dword [0x8ea00c], 0xffffffff
jne 0x8ef56b
mov edx, dword [0x8f72a0]
mov dword [0x8f7198], edx
mov eax, 1
test eax, eax
je 0x8ef56b
mov ecx, dword [0x8f7198]
cmp dword [ecx + 4], 0
jne 0x8ef418
mov edx, dword [0x8f7198]
cmp dword [edx + 0xc], 0x4b
aas
sbb ebp, dword [ebx + ebx]
lock xor byte [esp + esi*8 - 0x2b], bh
sbb bh, byte [esi + 0x78]
cmp eax, 0x744de705
imul ebx, dword [ebx + 0x48226a44], 0x414dc7ca
jno 0x8ef3c8
hlt
sub byte [edi], ch
invalid
je 0x8ef5d0
mov dword [ebx + 0x4a], eax
iretd
xchg esi, eax
push eax
salc
jns 0x8ef60d
sbb bl, byte [esi + ebp*2 + 0x2a881388]
ret 0xd927
pop ecx
test eax, 0x8bd8452d
or eax, 0x8f7190
mov edx, dword [0x8f7298]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x20], edx
mov eax, dword [0x8f7190]
mov ecx, dword [0x8f7298]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x10], 0
jmp 0x8ef647
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [0x8f7190]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + 0x18]
jae 0x8ef760
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + edx*4]
add ecx, dword [0x8f7298]
push ecx
push 0x8ec3bc
call fcn.008f65d0
add esp, 8
test eax, eax
jne 0x8ef6ae
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov cx, word [eax + edx*2]
mov dword [ebp - 0x2c], ecx
mov edx, dword [0x8f7190]
mov eax, dword [ebp - 0x2c]
sub eax, dword [edx + 0x10]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + ecx*4]
add eax, dword [0x8f7298]
mov dword [0x8ea018], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + ecx*4]
add eax, dword [0x8f7298]
push eax
push 0x8ec3cc
call fcn.008f65d0
add esp, 8
test eax, eax
jne 0x8ef705
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x20]
xor eax, eax
mov ax, word [edx + ecx*2]
mov dword [ebp - 0x30], eax
mov ecx, dword [0x8f7190]
mov edx, dword [ebp - 0x30]
sub edx, dword [ecx + 0x10]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + eax*4]
add edx, dword [0x8f7298]
mov dword [0x8ea014], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + eax*4]
add edx, dword [0x8f7298]
push edx
push 0x8ec3dc
call fcn.008f65d0
add esp, 8
test eax, eax
jne 0x8ef75b
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov dx, word [ecx + eax*2]
mov dword [ebp - 0x34], edx
mov eax, dword [0x8f7190]
mov ecx, dword [ebp - 0x34]
sub ecx, dword [eax + 0x10]
add ecx, 1
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + edx*4]
add ecx, dword [0x8f7298]
mov dword [0x8ec32c], ecx
jmp 0x8ef63e
push 0x8ec3e8
mov edx, dword [0x8f7298]
push edx
call dword [0x8ea014]
mov dword [0x8ec34c], eax
push 0x8ec3f8
mov eax, dword [0x8f7298]
push eax
call dword [0x8ea014]
mov dword [0x8ec350], eax
push 0x8ec404
mov ecx, dword [0x8f7298]
push ecx
call dword [0x8ea014]
mov dword [0x8ec354], eax
push 0x8ec410
mov edx, dword [0x8f7298]
push edx
call dword [0x8ea014]
mov dword [0x8ec358], eax
push 0x8ec41c
mov eax, dword [0x8f7298]
push eax
call dword [0x8ea014]
mov dword [0x8ec35c], eax
push 0x8ec428
mov ecx, dword [0x8f7298]
push ecx
call dword [0x8ea014]
mov dword [0x8ec360], eax
push 0x8ec438
mov edx, dword [0x8f7298]
push edx
call dword [0x8ea014]
mov dword [0x8ec364], eax
push 0x8ec44c
mov eax, dword [0x8f7298]
push eax
call dword [0x8ea014]
mov dword [0x8ec368], eax
push 0x8ec45c
mov ecx, dword [0x8f7298]
push ecx
call dword [0x8ea014]
mov dword [0x8ec36c], eax
push 0x8ec470
mov edx, dword [0x8f7298]
push edx
call dword [0x8ea014]
mov dword [0x8ec370], eax
push 0x8ec484
mov eax, dword [0x8f7298]
push eax
call dword [0x8ea014]
mov dword [0x8ec374], eax
push 0x8ec490
call dword [0x8ea00c]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x8ef87b
push 0x8ec498
call dword [0x8ea018]
mov dword [ebp - 0x14], eax
push 0x8ec4a0
mov ecx, dword [ebp - 0x14]
push ecx
call dword [0x8ea014]
mov dword [0x8ea010], eax
push 0x8ec4ac
mov edx, dword [ebp - 0x14]
push edx
call dword [0x8ea014]
mov dword [0x8ea01c], eax
push 0x8ec4b8
mov eax, dword [ebp - 0x14]
push eax
call dword [0x8ea014]
mov dword [0x8ea020], eax
push 0x8ec4c4
call dword [0x8ea00c]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x8ef8d9
push 0x8ec4d0
call dword [0x8ea018]
mov dword [ebp - 0x14], eax
push 0x8ec4dc
mov ecx, dword [ebp - 0x14]
push ecx
call dword [0x8ea014]
mov dword [0x8ea028], eax
push 0x8ec4e4
mov edx, dword [0x8f7298]
push edx
call dword [0x8ea014]
mov dword [0x8ec378], eax
push 0x8ec4f4
mov eax, dword [0x8f7298]
push eax
call dword [0x8ea014]
mov dword [0x8ec37c], eax
push 0xee
xor ecx, ecx
mov cl, byte [0x8ea11f]
push ecx
mov edx, dword [0x8ea004]
mov eax, dword [section..marx]
lea ecx, [eax + edx + 0x2c]
push ecx
call fcn.008f0113
mov dword [ebp - 4], eax
push 0x2158
xor edx, edx
mov dl, byte [0x8ea11f]
push edx
mov eax, dword [0x8ea004]
mov ecx, dword [section..marx]
lea edx, [ecx + eax + 0x126]
push edx
call fcn.008f0113
mov dword [ebp - 4], eax
mov eax, dword [section..marx]
mov ecx, dword [eax + 0x3c]
mov edx, dword [section..marx]
lea eax, [edx + ecx + 0x18]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
cmp dword [ecx + 0xb0], 0
je 0x8efa8c
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0xb0]
add eax, dword [section..marx]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0xb4]
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0x48
jae 0x8ef9c8
cmp dword [ebp - 0x38], 0x40
jb 0x8efa8c
mov eax, dword [ebp - 0x3c]
cmp dword [eax], 0x48
jb 0x8efa8c
mov ecx, dword [ebp - 0x3c]
mov dword [0x8f72a8], ecx
mov edx, dword [0x8f72a8]
cmp dword [edx + 0x3c], 0
je 0x8ef9ea
mov eax, dword [0x8f72a8]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ecx]
mov dword [ebp - 0x44], edx
mov eax, dword [0x8f72a8]
cmp dword [eax + 0x40], 0
je 0x8efa8c
mov ecx, dword [0x8f72a8]
mov edx, dword [ecx + 0x40]
mov dword [ebp - 0x48], edx
mov eax, dword [0x8f72a8]
mov ecx, dword [eax + 0x44]
mov dword [0x8f719c], ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [edx]
mov dword [0x8f7180], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx + 4]
mov dword [0x8f7184], edx
mov eax, dword [0x8f72a8]
mov dword [eax + 0x44], 2
mov ecx, 0x8f64ec
cmp ecx, fcn.008f63f4
jae 0x8efa68
mov edx, 0x8f64ec
sub edx, dword [section..marx]
mov eax, dword [ebp - 0x48]
mov dword [eax], edx
mov ecx, fcn.008f63f4
add ecx, 0x20
sub ecx, dword [section..marx]
mov edx, dword [ebp - 0x48]
mov dword [edx + 4], ecx
jmp 0x8efa8c
mov eax, fcn.008f63f4
add eax, 0x20
sub eax, dword [section..marx]
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov edx, 0x8f64ec
sub edx, dword [section..marx]
mov eax, dword [ebp - 0x48]
mov dword [eax + 4], edx
push 0x43db670b
push 0x957be6fb
push 0xfc341278
call fcn.008f4ea0
cmp eax, 0x7895
jne 0x8efad7
xor ecx, ecx
mov cl, byte [0x8ea268]
test ecx, ecx
je 0x8efad7
movsx edx, byte [0x8ea218]
test edx, edx
je 0x8efad2
push 0x10
push 0x8ea1c8
push 0x8ea218
push 0
call dword [0x8ea010]
jmp 0x8efeb2
push 0x8ea0f4
call dword [0x8ea00c]
mov dword [0x8f7290], eax
push 0x8ec328
push 0x8ea0f4
call fcn.008f0840
mov dword [0x8ec324], eax
cmp dword [0x8ec324], 5
jne 0x8efb10
mov dword [0x8ec324], 0
jmp 0x8efb41
mov eax, dword [0x8ec328]
cmp eax, dword [0x8ea03c]
je 0x8efb41
movsx ecx, byte [0x8ea178]
test ecx, ecx
je 0x8efb3c
push 0x10
push 0x8ea128
push 0x8ea178
push 0
call dword [0x8ea010]
jmp 0x8efeb0
cmp dword [0x8f7290], 0
jne 0x8efb5a
push 0x8ea0f4
call dword [0x8ea018]
mov dword [0x8f7290], eax
cmp dword [0x8f7290], 0
jne 0x8efb7c
push 0x10
push 0x8ec500
push 0x8ec508
push 0
call dword [0x8ea010]
jmp 0x8efeae
push 0x8ec528
mov edx, dword [0x8f7290]
push edx
call dword [0x8ea014]
mov dword [0x8ec334], eax
push 0x8ec530
mov eax, dword [0x8f7290]
push eax
call dword [0x8ea014]
mov dword [0x8ec338], eax
push 0x8ec538
mov ecx, dword [0x8f7290]
push ecx
call dword [0x8ea014]
mov dword [0x8ec33c], eax
push 0x8ec540
mov edx, dword [0x8f7290]
push edx
call dword [0x8ea014]
mov dword [0x8ec340], eax
push 0x8ec548
mov eax, dword [0x8f7290]
push eax
call dword [0x8ea014]
mov dword [0x8ec344], eax
push 0x8ec550
mov ecx, dword [0x8f7290]
push ecx
call dword [0x8ea014]
mov dword [0x8ec348], eax
mov edx, dword [0x8ec27c]
mov dword [0x8ea088], edx
mov dword [0x8ea08c], 0x8ea27c
push 0x8ea084
call dword [0x8ec344]
movsx eax, ax
mov dword [ebp - 4], eax
push 0x8ea084
call fcn.008f232d
mov ecx, dword [0x8ea094]
mov dword [ebp - 0xc], ecx
mov edx, dword [0x8ea098]
mov dword [ebp - 8], edx
push 0x8ea084
call fcn.008f22a7
mov eax, dword [ebp - 4]
cmp eax, dword [0x8ea040]
je 0x8efc75
push 0x10
push 0x8ec558
push 0x8ec560
push 0
call dword [0x8ea010]
jmp 0x8efeac
push 0x8ea084
call dword [0x8ec334]
movsx ecx, ax
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 0
je 0x8efc91
jmp 0x8efeaa
push 0x8ea084
call dword [0x8ec338]
movsx edx, ax
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0
je 0x8efcad
jmp 0x8efea8
push 0x790c840f
push 0x7cdf
call fcn.008f6220
cmp eax, 0xf3491
je 0x8efcd3
xor eax, eax
mov al, byte [0x8ea268]
test eax, eax
je 0x8efcd3
jmp 0x8efea6
cmp dword [0x8f72a8], 0
je 0x8efd48
mov ecx, dword [0x8f72a8]
cmp dword [ecx + 0x3c], 0
je 0x8efcf6
mov edx, dword [0x8f72a8]
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax]
mov dword [ebp - 0x4c], ecx
mov edx, dword [0x8f72a8]
cmp dword [edx + 0x40], 0
je 0x8efd32
mov eax, dword [0x8f72a8]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x50], ecx
mov edx, dword [0x8f72a8]
mov eax, dword [0x8f719c]
mov dword [edx + 0x44], eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [0x8f7180]
mov dword [ecx], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [0x8f7184]
mov dword [eax + 4], ecx
push 0x48
push 0x8ec298
mov edx, dword [0x8f72a8]
push edx
call fcn.008f0a26
add esp, 0xc
cmp dword [0x8ec280], 0xffffffff
je 0x8efda2
cmp dword [0x8ec284], 0xffffffff
je 0x8efda2
mov eax, dword [section..marx]
mov ecx, dword [eax + 0x3c]
mov edx, dword [section..marx]
lea eax, [edx + ecx + 0xf8]
mov dword [ebp - 0x58], eax
mov ecx, dword [0x8ec280]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0x58]
add edx, ecx
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [0x8ec284]
add ecx, dword [eax + 0xc]
add ecx, dword [section..marx]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [0x8ec288]
mov dword [edx], eax
xor ecx, ecx
mov cl, byte [0x8ea269]
test ecx, ecx
je 0x8efde3
push 0x8ea26c
push 0x8ea084
call dword [0x8ec348]
movsx edx, ax
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0
je 0x8efde3
push 0x10
push 0x8ec588
push 0x8ec590
push 0
call dword [0x8ea010]
jmp 0x8efea4
call fcn.008f036e
test eax, eax
je 0x8efe05
push 0x10
push 0x8ec5a4
push 0x8ec5ac
push 0
call dword [0x8ea010]
jmp 0x8efea2
mov eax, dword [section..marx]
mov ecx, dword [section..marx]
add ecx, dword [eax + 0x3c]
push ecx
call fcn.008f0663
cmp dword [0x8ea010], 0
jne 0x8efe2b
mov edx, 1
test edx, edx
je 0x8efea0
cmp dword [0x8ea028], 0
je 0x8efe42
push 0x8f002b
call dword [0x8ea028]
mov dword [ebp - 0x5c], eax
cmp dword [0x8ea05c], 0
je 0x8efe74
cmp dword [0x8ea01c], 0
je 0x8efe74
push 0x8efeca
mov eax, dword [0x8ea05c]
imul eax, eax, 0x3e8
push eax
push 0
push 0
call dword [0x8ea01c]
mov dword [0x8f729c], eax
xor ecx, ecx
mov cl, byte [0x8ea11c]
mov edx, dword [0x8ea02c]
xor edx, ecx
mov dword [0x8ea02c], edx
mov eax, dword [0x8ea02c]
add eax, dword [section..marx]
mov dword [0x8ea02c], eax
jmp dword [0x8ea02c]
jmp 0x8efec3
jmp 0x8efea0
jmp 0x8efea0
jmp 0x8efea0
jmp 0x8efea0
jmp 0x8efea0
jmp 0x8efea0
jmp 0x8efea0
jmp 0x8efea0
jmp 0x8efea0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret