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

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
push ebx
sub esp, 0x7c
mov ebx, dword [eax]
xor eax, eax
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x10], ecx
test edx, edx
mov edx, dword [ebx + 0x20]
setne al
test byte [ebx + 0x24], 8
jne 0x6e5270
movzx esi, byte [ecx + eax + 0x19]
mov dword [esp + 0x1c], esi
cmp esi, 7
je 0x6e5580
test esi, esi
setne dl
mov edi, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x2c], eax
mov esi, dword [edi + eax*4 + 0xc]
test esi, esi
jne 0x6e5278
test dl, dl
je 0x6e5278
mov dword [esp + 0x48], 0
sub esp, 8
mov ecx, edi
mov dword [esp + 0x54], 0
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x54]
push eax
mov edx, dword [esp + 0x28]
mov eax, ebp
call fcn.006e4b30
mov dword [esp + 0x40], eax
add esp, 0x10
test eax, eax
jne 0x6e5740
mov eax, dword [edi + 0x14]
test eax, eax
jle 0x6e57f0
mov dword [esp + 8], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], 0
lea esi, [esi]
nop
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x50], 0xa31649
mov dword [esp + 0x54], 3
mov dword [esp + 0x58], 0xa3164d
mov dword [esp + 0x5c], 3
test eax, eax
je 0x6e5568
mov esi, dword [esp + 8]
mov esi, dword [eax + esi*4]
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x48]
test eax, eax
je 0x6e5540
mov eax, dword [eax + 4]
mov edi, dword [esp + 8]
movsx eax, word [eax + edi*2]
shl eax, 4
mov eax, dword [edx + eax]
mov dword [esp + 0x68], eax
test eax, eax
je 0x6e555a
sub esp, 0xc
push eax
call fcn.007985d8
add esp, 0x10
and eax, 0x3fffffff
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x10]
mov edi, esi
shl edi, 4
mov eax, dword [eax]
mov dword [esp + 0x24], edi
mov eax, dword [eax + 4]
mov eax, dword [eax + edi]
mov dword [esp + 0x60], eax
test eax, eax
je 0x6e5578
sub esp, 0xc
push eax
call fcn.007985d8
add esp, 0x10
and eax, 0x3fffffff
mov dword [esp + 0x64], eax
sub esp, 0xc
mov edx, 0x3b
mov eax, ebx
push 0
lea ecx, [esp + 0x70]
call fcn.006cf800
lea ecx, [esp + 0x78]
mov edx, 0x3b
mov dword [esp], 0
mov esi, eax
mov eax, ebx
call fcn.006cf800
lea ecx, [esp + 0x60]
mov edx, 0x3b
mov dword [esp], 0
mov edi, eax
mov eax, ebx
call fcn.006cf800
mov edx, 0x8d
mov dword [esp], edi
mov ecx, eax
mov eax, ebp
call fcn.006e3100
mov edx, 0x35
mov dword [esp], esi
mov ecx, eax
mov eax, ebp
call fcn.006e3100
mov edx, dword [esp + 0x24]
mov ecx, eax
mov eax, ebp
call fcn.006e32e0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xa0]
add esp, 0x10
test eax, eax
je 0x6e5520
sub esp, 0xc
mov edx, 0x3b
mov eax, ebx
push 0
lea ecx, [esp + 0x78]
call fcn.006cf800
lea ecx, [esp + 0x68]
mov edx, 0x3b
mov dword [esp], 0
mov esi, eax
mov eax, ebx
call fcn.006cf800
mov edx, 0x8d
mov dword [esp], esi
mov ecx, eax
mov eax, ebp
call fcn.006e3100
lea ecx, [esp + 0x78]
mov edx, 0x3b
mov dword [esp], 0
mov esi, eax
mov eax, ebx
call fcn.006cf800
lea ecx, [esp + 0x60]
mov edx, 0x3b
mov dword [esp], 0
mov edi, eax
mov eax, ebx
call fcn.006cf800
mov edx, 0x8d
mov dword [esp], edi
mov ecx, eax
mov eax, ebp
call fcn.006e3100
mov edx, 0x2d
mov dword [esp], esi
mov ecx, eax
mov eax, ebp
call fcn.006e3100
mov edx, dword [esp + 0x30]
mov ecx, eax
mov eax, ebp
call fcn.006e32e0
mov dword [esp + 0x30], eax
add esp, 0x10
cmp dword [esp + 0x1c], 7
je 0x6e5300
cmp dword [esp + 0x1c], 0xa
je 0x6e56e8
cmp dword [esp + 0x1c], 9
jne 0x6e5288
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov eax, dword [esp + 0x24]
add eax, dword [edx + 4]
test byte [eax + 0xe], 0x60
jne 0x6e5288
movzx eax, word [eax + 0xc]
test ax, ax
je 0x6e5288
cmp byte [edx + 0x2b], 0
jne 0x6e5288
mov edx, dword [edx + 0x34]
test edx, edx
je 0x6e5288
cmp dword [edx], eax
jl 0x6e5288
lea eax, [eax + eax*4 - 5]
mov edx, dword [edx + eax*4 + 8]
test edx, edx
je 0x6e5288
sub esp, 0xc
xor ecx, ecx
mov eax, ebx
push 0
call fcn.006d1d00
add esp, 0x10
mov edx, eax
jmp 0x6e52d0
mov ebx, dword [esp + 0x10]
mov esi, dword [ebx + eax*4 + 0x1c]
add esp, 0x7c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, 0x34
xor ecx, ecx
mov eax, ebx
call fcn.006cec40
mov edx, eax
test eax, eax
je 0x6e52d0
lea edi, [eax + 4]
mov ecx, eax
mov dword [eax], 0
and edi, 0xfffffffc
mov dword [eax + 0x30], 0
xor eax, eax
sub ecx, edi
add ecx, 0x34
shr ecx, 2
rep stosd dword es:[edi], eax
mov eax, 0xffffffff
mov byte [edx], 0x79
mov word [edx + 0x22], ax
mov dword [edx + 0x18], 1
mov ecx, edx
mov edx, dword [esp + 0x28]
mov eax, ebp
call fcn.006e1bc0
mov dword [esp + 0x28], eax
mov edx, eax
test eax, eax
je 0x6e5300
sub esp, 0xc
mov eax, ebp
push 0
lea ecx, [esp + 0x70]
call fcn.006d10d0
add esp, 0x10
lea esi, [esi]
mov esi, dword [esp + 0x10]
add dword [esp + 8], 1
mov eax, dword [esp + 8]
cmp dword [esi + 0x14], eax
jg 0x6e5020
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x6e5325
mov eax, ebx
call fcn.006bf870
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
test eax, eax
je 0x6e5780
sub esp, 0xc
xor edi, edi
push eax
call fcn.007985d8
add esp, 0x10
and eax, 0x3fffffff
mov dword [esp + 0x34], eax
add eax, 0x55
mov dword [esp + 0x38], eax
mov esi, eax
cmp dword [esp + 0x1c], 7
je 0x6e55a0
xor edx, edx
add dword [ebx + 0x128], 1
mov ecx, edi
mov eax, ebx
mov word [ebx + 0x12c], dx
mov edx, esi
call fcn.006cec40
mov edi, eax
test eax, eax
je 0x6e5760
sub esp, 4
push dword [esp + 0x3c]
push 0
push edi
call fcn.00798618
lea eax, [edi + 0x24]
mov dword [edi + 0x1c], eax
mov dword [esp + 0x40], eax
add esp, 0xc
lea eax, [edi + 0x54]
mov dword [edi + 0x30], eax
push dword [esp + 0x38]
push dword [esp + 0x2c]
push eax
call fcn.00798628
mov edx, dword [esp + 0x24]
add esp, 0x10
test edx, edx
je 0x6e583f
sub esp, 0xc
mov ecx, 1
mov eax, ebx
mov esi, edi
push 0
call fcn.006d1d00
mov edi, dword [esp + 0x40]
add esp, 0x10
mov dword [esp + 8], 0
mov dword [esi + 0x38], eax
mov edx, dword [esp + 0x28]
mov ecx, 1
mov eax, ebx
call fcn.006d21b0
mov edx, dword [esp + 8]
mov ecx, 1
mov dword [esi + 0x3c], eax
mov eax, ebx
call fcn.006d1ad0
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x6e5454
sub esp, 0xc
mov ecx, eax
mov edx, 0x13
mov eax, ebp
push 0
call fcn.006e3100
mov edx, eax
mov dword [esp + 0x30], eax
add esp, 0x10
xor eax, eax
test edx, edx
je 0x6e5451
sub esp, 0xc
mov ecx, 1
mov eax, ebx
push 0
call fcn.006d1d00
add esp, 0x10
mov dword [esi + 0xc], eax
sub dword [ebx + 0x128], 1
mov edx, 0
jne 0x6e5469
movzx edx, word [ebx + 0x12e]
mov eax, dword [esp + 0x14]
mov word [ebx + 0x12c], dx
test eax, eax
je 0x6e5481
mov edx, eax
mov eax, ebx
call fcn.006c4840
mov eax, dword [esp + 0x20]
test eax, eax
je 0x6e5492
mov edx, eax
mov eax, ebx
call fcn.006c4840
mov eax, dword [esp + 0x28]
test eax, eax
je 0x6e54a3
mov edx, eax
mov eax, ebx
call fcn.006c4910
mov eax, dword [esp + 8]
test eax, eax
je 0x6e54b9
mov edx, eax
mov ecx, 1
mov eax, ebx
call fcn.006c4700
cmp byte [ebx + 0x57], 1
je 0x6e5731
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [eax + 0x3c]
cmp ebx, 7
je 0x6e5750
cmp ebx, 0xa
jne 0x6e54eb
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x6e5810
mov byte [edi], 0x81
mov ebx, dword [esp + 0x2c]
cmp dword [esp + 0x90], 1
mov dword [edi + 4], esi
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x10]
mov dword [eax + ebx*4 + 0xc], esi
mov eax, 0xffffff80
sbb al, 0xff
mov byte [esi + 8], al
add esp, 0x7c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x1c]
cmp eax, 7
je 0x6e5300
cmp eax, 0xa
je 0x6e5300
jmp 0x6e5217
mov eax, dword [esp + 0x18]
movsx eax, word [eax + 0x20]
shl eax, 4
mov eax, dword [edx + eax]
mov dword [esp + 0x68], eax
test eax, eax
jne 0x6e5083
xor eax, eax
jmp 0x6e5094
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x24]
jmp 0x6e5053
xor eax, eax
jmp 0x6e50ca
and edx, 0x80000
jne 0x6e5740
mov edx, 1
jmp 0x6e4f95
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x3c]
test edx, edx
je 0x6e5832
mov ecx, dword [ebx + 0x10]
cmp edx, dword [ecx + 0xc]
je 0x6e55ee
mov dword [esp + 8], esi
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc], edi
mov edi, ebp
mov ebp, ebx
mov ebx, ecx
mov ecx, edx
lea esi, [esi]
nop
add eax, 1
mov edx, eax
shl edx, 4
cmp ecx, dword [ebx + edx + 0xc]
jne 0x6e55d0
mov dword [esp + 0x30], eax
mov ebx, ebp
mov esi, dword [esp + 8]
mov ebp, edi
mov edi, dword [esp + 0xc]
mov dword [esp + 0x68], 0xa31651
sub esp, 0xc
mov edx, 0x47
mov eax, ebx
mov dword [esp + 0x78], 0x1d
push 0
lea ecx, [esp + 0x78]
call fcn.006cf800
mov dword [esp + 0x18], eax
add esp, 0x10
test eax, eax
je 0x6e5622
mov byte [eax + 1], 2
sub esp, 0xc
xor ecx, ecx
xor edx, edx
mov eax, ebp
push 0
call fcn.006e46a0
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x6e566b
mov edx, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
mov eax, ebx
call fcn.006d0890
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x30]
shl eax, 4
add eax, dword [ebx + 0x10]
mov edx, dword [eax]
mov eax, ebx
call fcn.006d0890
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 8]
mov eax, dword [ebp]
mov dword [esp + 0x30], ecx
call fcn.006cf7a0
sub esp, 8
push 0
mov edx, eax
mov eax, ebp
push 0
push 0
push 0
push 0
push dword [esp + 0x30]
mov ecx, dword [esp + 0x50]
call fcn.006d2bd0
add dword [ebx + 0x128], 1
mov ecx, edi
mov edx, esi
mov dword [esp + 0x28], eax
xor eax, eax
add esp, 0x20
mov word [ebx + 0x12c], ax
mov eax, ebx
call fcn.006cec40
mov edi, eax
test eax, eax
jne 0x6e57a0
sub dword [ebx + 0x128], 1
jne 0x6e5770
mov dword [esp + 0x14], 0
xor esi, esi
jmp 0x6e5462
sub esp, 0xc
mov edx, 0x3b
mov eax, ebx
push 0
lea ecx, [esp + 0x78]
call fcn.006cf800
lea ecx, [esp + 0x68]
mov edx, 0x3b
mov dword [esp], 0
mov esi, eax
mov eax, ebx
call fcn.006cf800
mov edx, 0x8d
mov dword [esp], esi
mov ecx, eax
mov eax, ebp
call fcn.006e3100
add esp, 0x10
mov edx, eax
jmp 0x6e52d0
mov edx, esi
mov eax, ebx
call fcn.006c4e10
lea esi, [esi]
xor esi, esi
jmp 0x6e5278
mov byte [edi], 0x8a
jmp 0x6e54ee
mov dword [esp + 8], 0
xor esi, esi
jmp 0x6e5454
xor eax, eax
xor esi, esi
mov word [ebx + 0x12c], ax
jmp 0x6e5481
mov dword [esp + 0x34], 0
mov esi, 0x55
xor edi, edi
mov dword [esp + 0x38], 0x55
jmp 0x6e5359
sub esp, 4
mov esi, edi
push dword [esp + 0x3c]
push 0
push eax
call fcn.00798618
lea edx, [edi + 0x24]
lea eax, [edi + 0x54]
mov dword [esp + 0x24], edx
add esp, 0xc
mov dword [edi + 0x1c], edx
mov dword [edi + 0x30], eax
push dword [esp + 0x38]
push dword [esp + 0x2c]
push eax
call fcn.00798628
mov edx, dword [esp + 0x24]
add esp, 0x10
xor eax, eax
mov dword [esp + 0x14], 0
mov edi, edx
jmp 0x6e53ea
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], 0
jmp 0x6e5316
mov byte [edi], pe_nt_image_headers32
mov ebx, dword [esp + 0x2c]
mov dword [edi + 4], esi
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x10]
mov dword [eax + ebx*4 + 0xc], esi
mov eax, 0xffffff80
jmp 0x6e5512
mov dword [esp + 0x30], 0xffff8000
jmp 0x6e55ee
mov esi, edi
mov dword [esp + 8], 0
mov edi, dword [esp + 0x30]
xor eax, eax
jmp 0x6e53ea