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

Disassembly:
sub esp, 0xdc
mov eax, dword [0x8bb040]
xor eax, esp
mov dword [esp + 0xd4], eax
mov eax, dword [ecx]
push ebx
mov ebx, dword [esp + 0xe4]
push ebp
mov eax, dword [eax]
push esi
push edi
xor edi, edi
mov dword [esp + 0x24], ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x24]
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ebx
mov esi, dword [edi + 8]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x38], ecx
mov dword [esp + 0x6c], esi
cmp dword [eax + 0x24], ecx
je 0x6ebff5
mov eax, dword [eax + 0xc]
jmp 0x6eca00
movzx ecx, word [esi + 0x1a]
mov edx, 0x18
mov eax, dword [esi + 0x2c]
test al, 0x20
mov dword [esp + 0x58], ecx
movzx ecx, word [esi + 0x1c]
mov dword [esp + 0x5c], ecx
movzx ecx, word [esi + 0x32]
mov dword [esp + 0x68], ecx
movzx ecx, word [esi + 0x30]
mov dword [esp + 0x60], ecx
movzx ecx, cx
mov dword [esp + 0x64], ecx
mov ecx, dword [esi]
mov dword [esp + 0x50], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x54], ecx
movzx ecx, word [esi + 0x16]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], eax
mov eax, 0x1bf
cmove edx, eax
movzx ecx, cx
movzx eax, word [esi + 0x18]
mov dword [esp + 0x78], ecx
mov ecx, edx
and ecx, 0xffffffc3
movzx ebp, ax
test byte [ebx + 0x38], 4
push ebx
cmove ecx, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
mov edx, dword [edi + 4]
push ecx
push ebp
push dword [eax + 0x2c]
lea ecx, [esp + 0x90]
mov dword [esp + 0x30], ebp
call fcn.006e9500
mov ebp, eax
add esp, 0x10
xor eax, eax
mov word [esi + 0x12], ax
mov ecx, dword [ebx + 8]
movzx ecx, word [ecx]
mov eax, ecx
mov dword [esp + 0x74], eax
cmp ax, 0xa
jg 0x6ec0a3
xor eax, eax
jmp 0x6ec0b8
movsx eax, cx
cdq
push edx
push eax
call fcn.0065a410
add esp, 8
sub ax, 0x21
movzx eax, ax
mov dword [esp + 0x2c], eax
mov ecx, 0x100
movzx eax, ax
mov dword [esp + 0x70], eax
test ebp, ebp
je 0x6ec87b
movzx edx, word [ebp + 0xc]
mov eax, edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x3c], eax
cmp ax, cx
je 0x6ec0ed
test byte [ebp + 0xa], 0x80
je 0x6ec11d
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x20]
movsx ecx, word [eax + ecx*2]
test ecx, ecx
js 0x6ec114
mov eax, dword [ebx + 0xc]
add ecx, ecx
mov eax, dword [eax + 4]
test dword [eax + ecx*8 + 4], 0xf
jne 0x6ec85d
jmp 0x6ec11d
cmp ecx, 0xffffffff
je 0x6ec85d
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
and ecx, dword [esi + 8]
and eax, dword [esi + 0xc]
or ecx, eax
jne 0x6ec85d
mov eax, 0x100
test word [ebp + 0xa], ax
je 0x6ec145
cmp edx, 0x10
je 0x6ec85d
mov eax, dword [esp + 0x34]
mov cl, byte [eax + 0x24]
test cl, 0x58
je 0x6ec182
mov eax, dword [ebp]
mov edx, dword [eax + 4]
test dl, 3
je 0x6ec85d
mov edi, dword [esp + 0x34]
mov eax, dword [eax + 0x24]
cmp eax, dword [edi + 0x2c]
mov edi, dword [esp + 0x24]
jne 0x6ec85d
test cl, 0x18
je 0x6ec182
test dl, 2
jne 0x6ec85d
cmp byte [ebx + 0x36], 0
je 0x6ec199
movzx eax, word [ebx + 0x32]
dec eax
cmp dword [esp + 0x20], eax
jne 0x6ec199
or byte [edi + 0x10], 2
jmp 0x6ec19d
or byte [edi + 0x10], 1
mov eax, dword [esp + 0x48]
movzx ecx, word [esi + 0x34]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x44]
mov word [esi + 0x18], ax
mov eax, dword [esp + 0x58]
mov word [esi + 0x1a], ax
mov eax, dword [esp + 0x5c]
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x60]
mov word [esi + 0x30], ax
cmp word [esp + 0x64], cx
jb 0x6ec22b
movzx edi, ax
inc edi
cmp ecx, edi
jae 0x6ec22b
mov ecx, dword [esp + 0x30]
add edi, 7
and edi, 0xfffffff8
push 0
lea eax, [edi*4]
push eax
call fcn.00654db0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x6ec87b
movzx ecx, word [esi + 0x34]
shl ecx, 2
push ecx
push dword [esi + 0x38]
push ebx
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x40]
add esp, 0xc
cmp edx, eax
je 0x6ec224
mov ecx, dword [esp + 0x30]
call fcn.00654910
mov dword [esi + 0x38], ebx
mov word [esi + 0x34], di
movzx ecx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
mov edi, dword [esp + 0x50]
mov dword [eax + ecx*4], ebp
mov ax, word [esi + 0x30]
mov ecx, dword [esi + 8]
inc ax
mov word [esi + 0x30], ax
not ecx
mov edx, dword [ebp + 0x24]
or edi, dword [ebp + 0x20]
or edx, dword [esp + 0x54]
and edi, ecx
movzx ebx, ax
mov eax, dword [esi + 0xc]
not eax
mov dword [esi], edi
and edx, eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 4], edx
test al, 1
je 0x6ec378
mov edx, dword [ebp]
test dword [edx + 4], 0x1000
je 0x6ec2f0
lea edi, [ebx - 1]
mov dword [esp + 0x1c], 0x2e
xor ecx, ecx
test edi, edi
jle 0x6ec311
mov ebx, dword [esi + 0x38]
mov esi, dword [esp + 0x1c]
mov eax, dword [ebx + ecx*4]
test eax, eax
je 0x6ec2ad
cmp dword [eax], edx
mov dword [esp + 0x1c], 0
cmove esi, dword [esp + 0x1c]
inc ecx
cmp ecx, edi
jl 0x6ec297
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
test byte [eax + 0x38], 0x80
je 0x6ec364
cmp word [esp + 0x2c], 0xa
jl 0x6ec364
mov eax, dword [eax + 8]
mov edx, dword [esp + 0x20]
movzx edi, cx
movzx ebx, word [eax + edx*2]
cmp di, 0xa
jg 0x6ec318
xor eax, eax
jmp 0x6ec32d
mov eax, dword [edx + 0x14]
test eax, eax
je 0x6ec2ba
mov eax, dword [eax]
test eax, eax
je 0x6ec2ba
cdq
push edx
push eax
call fcn.0065a410
movsx ecx, ax
add esp, 8
mov dword [esp + 0x1c], ecx
jmp 0x6ec2be
mov ecx, 0x2e
jmp 0x6ec2be
movsx eax, di
cdq
push edx
push eax
call fcn.0065a410
add esp, 8
sub ax, 0x21
movzx eax, ax
sub eax, edi
sub eax, dword [esp + 0x2c]
add eax, 0xa
add eax, ebx
test ax, ax
jns 0x6ec364
cmp word [esp + 0xf4], 2
jge 0x6ec855
mov eax, dword [esp + 0x30]
test dword [eax + 0x50], 0x20000
jne 0x6ec855
or dword [esi + 0x2c], 0x100000
or dword [esi + 0x2c], 4
mov edx, dword [esi + 0x2c]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
jmp 0x6ec536
test al, 0x82
je 0x6ec413
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov eax, dword [ebx + 4]
movsx eax, word [eax + ecx*2]
mov ecx, dword [esi + 0x2c]
or ecx, 1
mov dword [esi + 0x2c], ecx
cmp eax, 0xffffffff
je 0x6ec3e4
mov edi, ecx
mov edx, ecx
test eax, eax
js 0x6ec3f1
cmp word [esp + 0xf4], 0
jne 0x6ec3f1
movzx eax, word [ebx + 0x32]
mov ebx, eax
dec eax
cmp dword [esp + 0x20], eax
jne 0x6ec3f1
mov eax, dword [esp + 0x14]
test byte [eax + 0x38], 8
jne 0x6ec3e4
cmp ebx, 1
jne 0x6ec3da
cmp byte [eax + 0x36], 0
je 0x6ec3da
cmp word [esp + 0x3c], 2
je 0x6ec3e4
mov edx, ecx
or edx, 0x10000
jmp 0x6ec3ec
mov edx, ecx
or edx, 0x1000
mov edi, edx
mov dword [esi + 0x2c], edx
cmp byte [esp + 0x99], 1
jbe 0x6ec406
mov edx, edi
or edx, 0x200000
mov dword [esi + 0x2c], edx
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
jmp 0x6ec536
mov edi, dword [esp + 0x20]
test eax, 0x100
je 0x6ec430
mov edx, dword [esi + 0x2c]
mov ebx, dword [esp + 0x28]
or edx, 8
mov dword [esi + 0x2c], edx
jmp 0x6ec536
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
push ebp
push edi
push dword [esp + 0x1c]
mov edx, dword [eax + 0x2c]
call fcn.006ebd70
mov edx, dword [esi + 0x2c]
add esp, 0xc
test byte [esp + 0x3c], 0x24
je 0x6ec50e
or edx, 0x22
mov word [esi + 0x1a], ax
xor edi, edi
mov dword [esi + 0x2c], edx
mov eax, 0x100
mov dword [esp + 0x38], ebp
mov dword [esp + 0x28], edi
test word [ebp + 0xa], ax
je 0x6ec504
movzx edi, word [esi + 0x30]
lea eax, [ebp + 0x30]
mov dword [esp + 0x28], eax
inc edi
movzx eax, word [esi + 0x34]
cmp eax, edi
jae 0x6ec4e2
mov ecx, dword [esp + 0x30]
add edi, 7
and edi, 0xfffffff8
push 0
lea eax, [edi*4]
push eax
call fcn.00654db0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x6ec87b
movzx ecx, word [esi + 0x34]
shl ecx, 2
push ecx
push dword [esi + 0x38]
push ebx
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x40]
add esp, 0xc
cmp edx, eax
je 0x6ec4db
mov ecx, dword [esp + 0x30]
call fcn.00654910
mov dword [esi + 0x38], ebx
mov word [esi + 0x34], di
movzx ecx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
mov edi, dword [esp + 0x28]
mov dword [eax + ecx*4], edi
mov eax, 1
inc word [esi + 0x30]
or dword [esi + 0x2c], 0x10
mov edx, dword [esi + 0x2c]
mov word [esi + 0x1c], ax
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
jmp 0x6ec536
or edx, 0x12
mov word [esi + 0x1c], ax
mov dword [esi + 0x2c], edx
mov ebx, ebp
mov dword [esp + 0x28], ebx
test dl, 0x20
je 0x6ec530
movzx ecx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + ecx*4 - 8]
jmp 0x6ec532
xor ecx, ecx
mov dword [esp + 0x38], ecx
test dl, 2
je 0x6ec5d0
movzx eax, word [esi + 0x16]
mov ebp, dword [esp + 0x38]
movsx edi, ax
test ebp, ebp
je 0x6ec564
movzx ecx, word [ebp + 8]
test cx, cx
jg 0x6ec55b
add eax, ecx
jmp 0x6ec564
test byte [ebp + 0xa], 0x80
jne 0x6ec564
sub eax, 0x14
movzx ecx, ax
test ebx, ebx
je 0x6ec584
movzx edx, word [ebx + 8]
test dx, dx
jg 0x6ec578
add eax, edx
jmp 0x6ec581
test byte [ebx + 0xa], 0x80
jne 0x6ec584
add eax, 0xffffffec
movzx ecx, ax
movzx edx, cx
test ebp, ebp
je 0x6ec5a3
cmp word [ebp + 8], 0
jle 0x6ec5a3
test ebx, ebx
je 0x6ec5a3
cmp word [ebx + 8], 0
jle 0x6ec5a3
lea eax, [ecx - 0x14]
movzx edx, ax
xor ecx, ecx
test ebp, ebp
setne cl
xor eax, eax
test ebx, ebx
setne al
add ecx, eax
mov eax, 0xa
sub edi, ecx
cmp dx, 0xa
cmovl edx, eax
movzx eax, dx
cmp eax, edi
cmovl edi, eax
movzx eax, di
mov ebp, eax
jmp 0x6ec62d
inc word [esi + 0x18]
movzx ecx, word [ebp + 8]
movzx edx, word [esi + 0x18]
test cx, cx
jg 0x6ec5fe
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
cmp word [eax + edi*2], 0
jl 0x6ec5fe
sub ecx, dword [esp + 0x1c]
add cx, word [esi + 0x16]
movzx eax, cx
mov ebp, eax
jmp 0x6ec62d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
mov cx, word [eax + edx*2]
sub cx, word [eax + edx*2 - 2]
add cx, word [esi + 0x16]
test dword [esp + 0x3c], 0x100
movzx eax, cx
mov ecx, eax
mov word [esi + 0x16], ax
mov ebp, eax
je 0x6ec631
lea eax, [ecx + 0xa]
movzx ebp, ax
mov word [esi + 0x16], ax
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 0x10]
movzx ebx, ax
mov eax, dword [ecx + 0x38]
and eax, 3
cmp al, 3
jne 0x6ec649
mov edi, ebx
jmp 0x6ec668
movsx ecx, word [ecx + 0x30]
mov eax, ecx
shl eax, 4
sub eax, ecx
mov ecx, dword [esp + 0x34]
cdq
mov ecx, dword [ecx + 0x10]
movsx ecx, word [ecx + 0x28]
idiv ecx
inc eax
add eax, ebp
movzx edi, ax
mov eax, ebx
movsx edx, di
movzx ebx, ax
mov eax, dword [esp + 0x70]
movsx ecx, ax
cmp word [esp + 0x2c], di
jl 0x6ec6a9
lea eax, [edx + 0x31]
cmp ecx, eax
jle 0x6ec68b
mov eax, dword [esp + 0x2c]
jmp 0x6ec6cd
lea eax, [edx + 0x1f]
cmp ecx, eax
jle 0x6ec699
mov eax, dword [esp + 0x2c]
inc eax
jmp 0x6ec6cd
sub ecx, edx
movzx eax, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add ax, word [esp + 0x2c]
jmp 0x6ec6cd
lea eax, [ecx + 0x31]
cmp edx, eax
jle 0x6ec6b5
movzx ecx, di
jmp 0x6ec6d0
lea eax, [ecx + 0x1f]
cmp edx, eax
jle 0x6ec6c1
lea eax, [edi + 1]
jmp 0x6ec6cd
sub edx, ecx
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, di
movzx ecx, ax
test dword [esi + 0x2c], 0x4000140
movzx eax, cx
jne 0x6ec739
movsx edi, bp
add edi, 0x10
movsx edx, cx
cmp cx, bx
jl 0x6ec710
lea eax, [edi + 0x31]
cmp edx, eax
jle 0x6ec6f6
movzx eax, cx
jmp 0x6ec736
lea eax, [edi + 0x1f]
cmp edx, eax
jle 0x6ec702
lea eax, [ecx + 1]
jmp 0x6ec733
sub edx, edi
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, cx
jmp 0x6ec733
lea eax, [edx + 0x31]
cmp edi, eax
jle 0x6ec71b
mov eax, ebx
jmp 0x6ec736
lea eax, [edx + 0x1f]
cmp edi, eax
jle 0x6ec727
lea eax, [ebx + 1]
jmp 0x6ec733
sub edi, edx
movzx eax, byte [edi + str._n_n_t_t_b_b_a_a_a]
add ax, bx
movzx eax, ax
movzx eax, ax
mov edi, dword [esp + 0x1c]
mov edx, esi
mov ebx, dword [esp + 0x24]
push dword [esp + 0x74]
movzx ecx, di
add eax, ecx
add eax, dword [esp + 0xf8]
mov word [esi + 0x14], ax
lea eax, [ecx + ebp]
add eax, dword [esp + 0xf8]
mov word [esi + 0x16], ax
mov ecx, dword [ebx + 4]
call fcn.006ebb20
add esp, 4
mov edx, esi
mov ecx, ebx
call fcn.006eb870
mov edx, dword [esi + 0x2c]
mov dword [esp + 0x18], eax
test dl, 2
je 0x6ec78e
mov eax, dword [esp + 0x78]
movzx ecx, ax
jmp 0x6ec791
movzx ecx, bp
mov ebx, dword [esp + 0x14]
mov word [esi + 0x16], cx
test dl, 0x10
jne 0x6ec847
movzx ecx, word [esi + 0x18]
cmp cx, word [ebx + 0x34]
jae 0x6ec847
cmp cx, word [ebx + 0x32]
jb 0x6ec7c3
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
je 0x6ec847
cmp ecx, 3
jbe 0x6ec820
mov ebp, dword [esp + 0x4c]
mov ecx, dword [ebp]
cmp dword [ecx + 0x128], 0
je 0x6ec7e2
inc dword [ebp + 0x24]
mov dword [ebp + 0xc], 9
cmp dword [ecx + 0x174], 0
je 0x6ec820
mov eax, dword [ebp + 0x6c]
inc eax
mov dword [ebp + 0x6c], eax
cmp eax, dword [ecx + 0x17c]
jb 0x6ec820
push dword [ecx + 0x178]
mov eax, dword [ecx + 0x174]
call eax
add esp, 4
test eax, eax
je 0x6ec819
inc dword [ebp + 0x24]
mov dword [ebp + 0xc], 9
mov dword [ebp + 0x6c], 0
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + 0x34]
add eax, edi
mov edi, dword [esp + 0x24]
mov ecx, edi
push eax
push ebx
call fcn.006ebf90
mov eax, dword [esp + 0x48]
add esp, 8
mov word [esi + 0x16], ax
jmp 0x6ec85d
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x24]
mov word [esi + 0x16], ax
jmp 0x6ec85d
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x80]
call fcn.006e91c0
cmp dword [esp + 0x18], 0
mov ebp, eax
mov ecx, 0x100
je 0x6ec0c8
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
mov dword [esi], eax
mov eax, dword [esp + 0x54]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x58]
mov word [esi + 0x1a], ax
mov eax, dword [esp + 0x5c]
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x48]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x40]
mov word [esi + 0x18], bx
mov word [esi + 0x32], dx
mov word [esi + 0x16], ax
mov word [esi + 0x30], cx
cmp bx, dx
jne 0x6ec9fc
mov edx, dword [esp + 0x14]
movzx eax, bx
inc eax
movzx ecx, word [edx + 0x32]
cmp eax, ecx
jae 0x6ec9fc
mov ebp, dword [esp + 0x64]
cmp bx, bp
jne 0x6ec9fc
mov eax, dword [edx + 0x38]
test al, 0x40
jne 0x6ec9fc
test al, al
jns 0x6ec9fc
mov ecx, dword [esp + 0x30]
test dword [ecx + 0x50], 0x4000
jne 0x6ec9fc
mov eax, dword [edx + 8]
movzx ebx, bx
cmp word [eax + ebx*2 + 2], 0x2a
jl 0x6ec9fc
movzx eax, word [esi + 0x34]
movzx edi, bp
inc edi
cmp eax, edi
jae 0x6ec983
add edi, 7
and edi, 0xfffffff8
push 0
lea eax, [edi*4]
push eax
call fcn.00654db0
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x6ec951
lea eax, [ebp + 7]
jmp 0x6eca00
movzx eax, word [esi + 0x34]
shl eax, 2
push eax
push dword [esi + 0x38]
push ebp
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esi + 0x38]
lea eax, [esi + 0x40]
add esp, 0xc
cmp edx, eax
je 0x6ec978
mov ecx, dword [esp + 0x30]
call fcn.00654910
mov edx, dword [esp + 0x14]
mov dword [esi + 0x38], ebp
mov word [esi + 0x34], di
movzx ecx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
inc word [esi + 0x18]
inc word [esi + 0x32]
mov dword [esp + 0x18], 0
mov dword [eax + ecx*4], 0
inc word [esi + 0x30]
or dword [esi + 0x2c], 0x8000
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x24]
mov di, word [eax + ebx*2]
sub di, word [eax + ebx*2 + 2]
mov eax, dword [esp + 0xf4]
movzx edi, di
add eax, 5
sub word [esi + 0x16], di
add eax, edi
push eax
push edx
mov edx, dword [esp + 0x3c]
call fcn.006ebf90
mov eax, dword [esp + 0x48]
add esp, 8
mov word [esi + 0x16], ax
mov eax, dword [esp + 0x44]
mov word [esi + 0x18], ax
mov eax, dword [esp + 0x68]
mov word [esi + 0x32], ax
mov eax, dword [esp + 0x48]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0073297b
add esp, 0xdc
ret