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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xcc
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0x48], eax
mov dword [esp + 0x54], edx
mov esi, ebx
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x84], ecx
mov word [esp + 0x50], si
test bx, bx
je 0x6eeb78
mov eax, dword [eax]
mov eax, dword [eax]
test byte [eax + 0x50], 0x40
jne 0x6ef0a4
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov dword [esp + 0x9c], eax
cmp ax, 0x3f
ja 0x6ef0a4
mov ecx, eax
movzx esi, ax
xor edx, edx
xor eax, eax
test cl, 0x20
mov dword [esp + 0x14], esi
sete al
setne dl
shl eax, cl
shl edx, cl
add eax, 0xffffffff
adc edx, 0xffffffff
mov esi, eax
mov dword [esp + 0x58], eax
xor eax, eax
test dword [esp + 0x98], 0x803
mov dword [esp + 0x5c], edx
setne al
add ax, 0x182
or edx, esi
mov word [esp + 0x52], ax
je 0x6ef43d
movzx eax, bx
mov dword [esp + 8], 0
mov dword [esp + 0x78], eax
add eax, 1
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], 0
add eax, 0x1f0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x90], eax
jmp 0x6eec76
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x5c]
add dword [esp + 0x44], 1
cmp eax, esi
mov ebx, dword [esp + 0x44]
mov eax, edx
sbb eax, edi
jae 0x6ef707
cmp dword [esp + 0x74], ebx
je 0x6ef6f7
mov eax, dword [esp + 0x20]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
or dword [esp + 0x64], ebx
or dword [esp + 0x70], eax
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x78]
cmp edi, eax
jge 0x6ef402
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x20], eax
test word [esp + 0x50], 0x800
jne 0x6eec35
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 0x2c]
test dh, 4
jne 0x6ef41d
movzx eax, word [esp + 0x50]
and ax, 0x80
mov word [esp + 0x60], ax
je 0x6eecca
mov eax, dword [esp + 0x20]
xor ebp, ebp
mov word [eax + 0x1e], bp
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x48]
movzx eax, byte [eax + 0x10]
lea eax, [eax + eax*8]
shl eax, 3
add eax, dword [edi + 4]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x6ef61a
add edi, 0x50
mov esi, dword [esp + 0x54]
xor ebx, ebx
mov dword [esp + 0x18], edi
movzx edi, word [esp + 0x52]
lea ebp, [esi + 8]
mov dword [esp + 0x1c], edi
mov esi, ebp
mov dword [esp + 0x10], ebp
mov ebp, eax
lea esi, [esi]
nop
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov ecx, ebx
shrd eax, edx, cl
shr edx, cl
and ecx, 0x20
cmovne eax, edx
and eax, 1
jne 0x6eed70
mov edi, dword [esi]
test edi, edi
jne 0x6eed4a
jmp 0x6eed70
mov eax, dword [edi + 0x14]
mov edi, dword [eax + 8]
test edi, edi
je 0x6eed70
mov eax, dword [edi + 4]
test eax, 0x82000
je 0x6ef298
test eax, 0x80000
jne 0x6eed40
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x6eed4a
lea esi, [esi]
lea esi, [esi]
add ebx, 1
add esi, 0x14
cmp ebp, ebx
jne 0x6eed18
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x10]
mov edx, dword [eax + 0x2c]
test dh, 0x10
jne 0x6ef450
test dh, 1
jne 0x6ef556
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x2c], eax
mov esi, eax
test eax, eax
je 0x6ef0a4
test byte [eax + 0x38], 4
jne 0x6ef0a4
movzx ebx, word [eax + 0x32]
movzx eax, word [eax + 0x34]
mov word [esp + 0x96], bx
movzx ebx, byte [esi + 0x36]
mov dword [esp + 0x40], eax
mov byte [esp + 0x94], bl
test bl, bl
jne 0x6ef600
test eax, eax
je 0x6eefec
movzx ecx, byte [esp + 0x44]
mov eax, 1
xor edx, edx
xor edi, edi
mov dword [esp + 0x10], 0
shld edx, eax, cl
shl eax, cl
test cl, 0x20
mov byte [esp + 0x33], 0
cmovne edx, eax
cmovne eax, edi
mov byte [esp + 0x63], 0
mov byte [esp + 0x95], 0
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x8c], edx
add eax, 8
mov dword [esp + 0x4c], eax
movzx eax, word [esp + 0x50]
and ax, 0xc0
mov word [esp + 0x24], ax
jmp 0x6eee9e
movzx edx, word [esi + 0x32]
cmp edx, edi
jg 0x6eeeae
mov esi, dword [esp + 0x20]
mov ecx, dword [esi + 0x38]
mov esi, dword [esp + 0x10]
mov ebx, dword [ecx + esi*4]
movzx edx, word [ebx + 0xc]
test word [esp + 0x52], dx
je 0x6ef359
movzx esi, byte [esp + 0x94]
mov eax, 0
test dx, 0x180
cmovne esi, eax
mov eax, esi
mov byte [esp + 0x94], al
add dword [esp + 0x10], 1
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
jge 0x6eefd3
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
movzx eax, word [esi + 0x18]
cmp eax, edi
jg 0x6eee48
mov ebp, dword [esp + 0x14]
test ebp, ebp
setg byte [esp + 0x18]
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x6ef3a3
mov edi, dword [esp + 0x10]
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x1c], 0xffffffff
mov edx, dword [esi + 4]
movzx ecx, byte [ecx + edi]
movzx edx, word [edx + edi*2]
mov ebx, ecx
mov ecx, dword [esi + 0xc]
and ebx, 1
mov byte [esp + 0x62], bl
cmp dx, word [ecx + 0x20]
je 0x6eef28
movsx esi, dx
cmp byte [esp + 0x94], 0
mov dword [esp + 0x1c], esi
je 0x6eef28
test esi, esi
js 0x6ef3c0
cmp eax, edi
jg 0x6eef28
mov eax, esi
shl eax, 4
add eax, dword [ecx + 4]
test byte [eax + 4], 0xf
setne byte [esp + 0x94]
lea esi, [esi]
cmp byte [esp + 0x18], 0
je 0x6eefb7
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x4c]
xor ebx, ebx
lea eax, [edi*4]
mov dword [esp + 0x34], eax
add eax, edi
mov dword [esp + 0x38], eax
nop
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov ecx, ebx
shrd eax, edx, cl
shr edx, cl
and ecx, 0x20
cmovne eax, edx
and eax, 1
jne 0x6eefa0
mov edx, dword [esi]
mov eax, edx
test edx, edx
jne 0x6eef82
jmp 0x6eefa0
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 8]
test eax, eax
je 0x6eefa0
mov ecx, dword [eax + 4]
test ecx, 0x82000
je 0x6ef0f0
and ecx, 0x80000
jne 0x6eef78
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x6eef82
movzx edi, byte [esp + 0x18]
add ebx, 1
add esi, 0x14
cmp dword [esp + 0x14], ebx
jle 0x6eefb7
mov eax, edi
test al, al
jne 0x6eef50
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x6ef0b1
movzx eax, word [esp + 0x96]
cmp eax, ebx
jg 0x6ef0b1
cmp byte [esp + 0x33], 0
jne 0x6ef0bc
cmp byte [esp + 0x94], 0
jne 0x6ef0bc
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x58]
mov eax, ecx
mov edx, edi
xor eax, esi
xor edx, ebx
or edx, eax
je 0x6ef43d
mov ecx, dword [esp + 0x14]
sub ecx, 1
test ecx, ecx
jle 0x6ef0a4
cmp ecx, 0x3f
jle 0x6ef02d
add esp, 0xcc
mov eax, ecx
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
xor edx, edx
test cl, 0x20
sete al
setne dl
shl eax, cl
shl edx, cl
add eax, 0xffffffff
adc edx, 0xffffffff
mov edi, eax
mov eax, dword [esp + 8]
mov ebp, edx
mov edx, dword [esp + 0xc]
mov esi, eax
and esi, edi
mov ebx, edx
and ebx, ebp
mov eax, esi
xor eax, edi
xor ebx, ebp
or ebx, eax
je 0x6ef020
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
jmp 0x6ef09f
xor eax, eax
xor edx, edx
test cl, 0x20
mov ebp, esi
sete al
setne dl
mov ebx, edi
shl eax, cl
shl edx, cl
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 8], eax
and ebp, eax
xor ebp, dword [esp + 8]
and ebx, edx
mov dword [esp + 0xc], edx
xor ebx, dword [esp + 0xc]
or ebx, ebp
je 0x6ef020
sub ecx, 1
jne 0x6ef06c
add esp, 0xcc
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [esp + 0x33], 0
je 0x6eefec
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
or dword [esp + 0x7c], esi
or dword [esp + 0x80], eax
cmp dword [esp + 0x14], 0
je 0x6eec35
mov eax, dword [esp + 0x54]
lea ebp, [eax + 8]
jmp 0x6ef465
cmp word [esp + 0x24], 0
setne cl
cmp dword [esp + 0x1c], 0xffffffff
mov edi, ecx
jl 0x6ef268
movzx ecx, byte [eax]
add ecx, 0x59
and ecx, 0xfd
jne 0x6eefa5
mov ecx, dword [esp + 0x28]
cmp dword [eax + 0x1c], ecx
jne 0x6eefa5
movsx eax, word [eax + 0x20]
cmp eax, dword [esp + 0x1c]
jne 0x6eefa5
cmp dword [esp + 0x1c], 0xffffffff
je 0x6ef193
mov eax, dword [esp + 0x48]
mov ebp, dword [eax]
mov eax, ebp
call fcn.006e8170
test eax, eax
je 0x6ef3b5
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x3c], ebx
mov edx, dword [edx + 0x20]
mov ecx, dword [edx + ecx]
mov edx, dword [eax]
jmp 0x6ef181
movzx ebx, byte [ebp + 0xa40be0]
cmp byte [eax + 0xa40be0], bl
jne 0x6ef350
add edx, 1
add ecx, 1
movzx eax, byte [edx]
movzx ebp, byte [ecx]
cmp eax, ebp
jne 0x6ef168
test eax, eax
jne 0x6ef17b
mov ebx, dword [esp + 0x3c]
cmp word [esp + 0x60], 0
je 0x6ef1ab
movzx eax, word [esp + 0x10]
mov edi, dword [esp + 0x20]
add eax, 1
mov word [edi + 0x1e], ax
mov esi, dword [esp + 0x54]
lea eax, [ebx + ebx*4]
movzx eax, byte [esi + eax*4 + 0x10]
test byte [esp + 0x50], 0x40
jne 0x6ef200
cmp byte [esp + 0x63], 0
jne 0x6ef3e4
mov edx, eax
and edx, 1
cmp dl, byte [esp + 0x62]
je 0x6ef3d2
mov edx, dword [esp + 0xec]
mov esi, dword [esp + 0x88]
mov byte [esp + 0x95], 1
mov edi, dword [esp + 0x8c]
mov byte [esp + 0x63], 1
or dword [edx], esi
or dword [edx + 4], edi
nop
test al, 2
je 0x6ef21d
mov esi, dword [esp + 0x20]
movzx eax, word [esi + 0x18]
cmp eax, dword [esp + 0x10]
jne 0x6eefb7
or dword [esi + 0x2c], 0x80000
movzx esi, byte [esp + 0x33]
mov eax, 1
mov ecx, ebx
mov edi, dword [esp + 0xc]
cmp dword [esp + 0x1c], 0xffffffff
cmove esi, eax
xor edx, edx
mov eax, esi
mov esi, dword [esp + 8]
mov byte [esp + 0x33], al
xor eax, eax
test bl, 0x20
sete al
setne dl
shl edx, cl
shl eax, cl
mov ecx, esi
or ecx, eax
or edi, edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
jmp 0x6eee8b
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
shl edx, 2
add edx, dword [ecx + 0x28]
mov ecx, dword [esp + 0x28]
mov edx, dword [edx + 8]
call fcn.006ed4b0
test eax, eax
jne 0x6eefa5
mov edx, dword [esi]
jmp 0x6ef13a
movzx eax, byte [edi]
add eax, 0x59
test al, 0xfd
jne 0x6eed70
mov eax, dword [esp + 0x28]
cmp dword [edi + 0x1c], eax
jne 0x6eed70
movsx ecx, word [edi + 0x20]
push 0
push dword [esp + 0x20]
mov eax, dword [esp + 0x6c]
not eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x78]
not eax
mov dword [esp + 0x74], eax
push dword [esp + 0x74]
push dword [esp + 0x74]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
call fcn.006edb00
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x6eed70
movzx eax, word [eax + 0xc]
cmp ax, 1
je 0x6ef660
mov dword [esp + 0x24], ecx
test al, 0x82
je 0x6ef314
cmp word [edi + 0x20], 0
jns 0x6ef57d
xor eax, eax
xor edx, edx
test bl, 0x20
mov ecx, ebx
sete al
setne dl
mov edi, dword [esp + 0xc]
add ebx, 1
shl eax, cl
shl edx, cl
mov ecx, dword [esp + 8]
add esi, 0x14
or edi, edx
or ecx, eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
cmp ebp, ebx
jne 0x6eed18
jmp 0x6eed7a
mov ebx, dword [esp + 0x3c]
jmp 0x6eefa5
mov esi, dword [esp + 0x14]
test esi, esi
setg byte [esp + 0x18]
and edx, 1
je 0x6eeeb9
mov esi, dword [ebx]
mov ebx, dword [esp + 0x10]
lea edx, [ebx + 1]
cmp eax, edx
jg 0x6ef38b
jmp 0x6eeeb9
add edx, 1
cmp eax, edx
je 0x6eeeb9
mov ebx, dword [ecx + edx*4]
cmp dword [ebx], esi
jne 0x6ef380
mov esi, dword [esp + 0x2c]
mov byte [esp + 0x18], 0
test esi, esi
jne 0x6eeec5
mov dword [esp + 0x1c], 0xffffffff
mov byte [esp + 0x62], 0
jmp 0x6eef28
mov eax, dword [ebp]
mov eax, dword [eax + 8]
jmp 0x6ef14f
cmp dword [esp + 0x1c], 0xfffffffe
setne byte [esp + 0x94]
jmp 0x6eef28
mov byte [esp + 0x95], 0
mov byte [esp + 0x63], 1
jmp 0x6ef200
mov edx, eax
movzx ecx, byte [esp + 0x62]
xor cl, byte [esp + 0x95]
and edx, 1
cmp cl, dl
jne 0x6eefb7
jmp 0x6ef200
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 0x2c]
test dh, 4
je 0x6eecb0
cmp byte [eax + 0x20], 0
je 0x6ef6d7
movzx eax, word [esp + 0x98]
and ax, 0x280
cmp ax, 0x80
je 0x6ef6d7
movzx eax, byte [esp + 0x9c]
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
or dword [esp + 0x7c], esi
or dword [esp + 0x80], eax
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
xor ebx, ebx
jmp 0x6ef4b0
mov eax, dword [esp + 0x90]
mov edx, ecx
mov dword [esp + 8], ecx
call fcn.006bf340
mov ecx, edx
or ecx, eax
mov ecx, dword [esp + 8]
je 0x6ef506
mov ecx, dword [esp + 0x7c]
not ecx
and eax, ecx
mov ecx, dword [esp + 0x80]
not ecx
and edx, ecx
or edx, eax
je 0x6ef4ce
add ebx, 1
add ebp, 0x14
cmp dword [esp + 0x14], ebx
jle 0x6ef4f9
mov edx, edi
mov ecx, ebx
mov eax, esi
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
je 0x6ef4c2
mov eax, edx
and eax, 1
jne 0x6ef4a4
mov ecx, dword [ebp]
test ecx, ecx
jne 0x6ef471
mov ecx, ebx
mov eax, 1
xor edx, edx
shld edx, eax, cl
shl eax, cl
test cl, 0x20
je 0x6ef4e5
mov edx, eax
xor eax, eax
or eax, esi
or edx, edi
add ebx, 1
add ebp, 0x14
mov esi, eax
mov edi, edx
cmp dword [esp + 0x14], ebx
jg 0x6ef4b0
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
jmp 0x6eec35
mov eax, 1
mov edx, ecx
mov dword [esp + 0xa8], 0x6c9050
mov word [esp + 0xb8], ax
lea eax, [esp + 0xa4]
mov dword [esp + 0xac], 0x6b1210
mov dword [esp + 0xbc], 0
call fcn.006ca6c0
cmp word [esp + 0xb8], 0
je 0x6ef4a4
jmp 0x6ef4ce
xor ebp, ebp
mov dword [esp + 0x40], 1
mov dword [esp + 0x2c], 0
mov word [esp + 0x96], bp
mov byte [esp + 0x94], 1
jmp 0x6eede5
mov eax, dword [esp + 0x48]
mov edx, dword [esi]
mov edi, dword [eax]
mov eax, edi
call fcn.006e8170
mov ecx, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x6ef6b7
mov ecx, dword [ecx]
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0xc]
test byte [ecx + 5], 4
jne 0x6ef650
mov ecx, eax
mov eax, edi
call fcn.006e8380
test eax, eax
je 0x6eed70
mov edx, dword [eax]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], ebx
mov eax, dword [eax]
jmp 0x6ef5e9
movzx ebx, byte [edi + 0xa40be0]
cmp byte [ecx + 0xa40be0], bl
jne 0x6ef6a0
add eax, 1
add edx, 1
movzx ecx, byte [eax]
movzx edi, byte [edx]
cmp ecx, edi
jne 0x6ef5d0
test ecx, ecx
jne 0x6ef5e3
mov ebx, dword [esp + 0x24]
jmp 0x6ef314
and dh, 0x80
je 0x6ef63d
test eax, eax
je 0x6eefec
mov byte [esp + 0x94], 0
jmp 0x6eede5
test dh, 0x10
je 0x6eed8e
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
or dword [esp + 0x7c], esi
or dword [esp + 0x80], eax
jmp 0x6eec35
test eax, eax
jne 0x6ef570
jmp 0x6ef0bc
mov ecx, edx
mov edx, eax
mov eax, edi
call fcn.006e8380
jmp 0x6ef5b7
mov eax, dword [esp + 0x20]
movzx edx, word [eax + 0x30]
test edx, edx
je 0x6eed70
mov edi, dword [eax + 0x38]
xor eax, eax
cmp dword [edi + eax*4], ecx
je 0x6ef314
add eax, 1
cmp eax, edx
jne 0x6ef675
add ebx, 1
add esi, 0x14
cmp ebp, ebx
jne 0x6eed18
jmp 0x6eed7a
mov ebx, dword [esp + 0x24]
add esi, 0x14
add ebx, 1
cmp ebp, ebx
jne 0x6eed18
jmp 0x6eed7a
mov eax, dword [edi]
mov ecx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 0x10]
test byte [ecx + 5], 4
je 0x6ef5ae
jmp 0x6ef650
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x5c]
mov eax, edx
mov edx, ecx
xor eax, esi
xor edx, edi
or edx, eax
je 0x6ef43d
add esp, 0xcc
mov eax, 0xffffffff
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x5c]
cmp dword [esp + 0xc], eax
jne 0x6ef6f7
mov eax, dword [esp + 0x58]
cmp dword [esp + 8], eax
jne 0x6ef6f7
jmp 0x6ef43d