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

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6bea89
sub esp, 0x64
mov ecx, dword [esp + 0x6c]
cmp ecx, 4
jb 0x6bea7e
mov eax, dword [esp + 0x70]
lea edx, [eax - 4]
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 4
mov dword [esp + 0x3c], edx
mov ebp, dword [esp + 0x74]
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0x68]
lea eax, [edx + edi]
test esi, esi
jne 0x6be66b
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
jmp 0x6be697
movzx edx, byte [ebp]
test dl, dl
je 0x6be686
mov edx, dword [esp + 0x3c]
mov edx, 0xffffffff
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x3c]
jmp 0x6be697
mov edx, dword [esp + 0x3c]
mov edx, 1
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x50], eax
add ecx, 0xfffffffc
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x14]
test edx, edx
jge 0x6be84b
mov byte [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
nop
lea edx, [esp + 0x54]
cmp ebp, edx
je 0x6be800
mov esi, dword [ebp + 8]
mov dword [esp + 0x28], esi
mov ebx, dword [ebp + 4]
test esi, esi
jg 0x6be6ff
xor edx, edx
mov dword [esp + 0x48], edx
xor edx, edx
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x54]
jmp 0x6be79f
mov dword [esp + 0x4c], ebx
cmp esi, 1
jne 0x6be756
lea eax, [0x6f5360]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0044e560
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x54]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x68]
mov esi, 1
mov dword [esp + 0x48], eax
mov ecx, 1
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x34]
jmp 0x6be79f
lea eax, [0x6f5360]
mov dword [esp], eax
mov dword [esp + 4], esi
lea eax, [esi + 4]
mov dword [esp + 0x10], eax
mov dword [esp + 8], eax
call fcn.0044e560
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x54]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
cmp esi, eax
jg 0x6be7a9
mov eax, esi
mov edi, dword [esp + 0x48]
cmp edi, ebx
je 0x6be7dc
mov dword [esp + 0x18], esi
mov dword [esp], edi
mov dword [esp + 4], ebx
shl eax, 2
mov dword [esp + 8], eax
call fcn.004697f0
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x54]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x5c], esi
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x58], edi
movzx eax, byte [ebp]
mov byte [esp + 0x54], al
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x68]
mov ebp, dword [esp + 0x5c]
test ebp, ebp
je 0x6be812
movzx ebp, byte [esp + 0x54]
xor ebp, 1
jmp 0x6be814
xor ebp, ebp
xchg ebp, eax
mov byte [esp + 0x54], al
xchg ebp, eax
mov eax, dword [0x96e87c]
mov dword [esp], edx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004eba90
lea eax, [esp + 0x54]
mov dword [esp], eax
call fcn.004ec460
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
xor edx, edx
jmp 0x6be9a2
test esi, esi
jne 0x6be853
xor edx, edx
jmp 0x6be867
movzx edx, byte [ebp]
test dl, dl
je 0x6be862
mov edx, 0xffffffff
jmp 0x6be867
mov edx, 1
test edx, edx
jne 0x6be872
xor edx, edx
jmp 0x6be957
mov dword [esp], ebp
call fcn.004ec460
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test eax, eax
je 0x6be8e0
movzx edx, byte [ecx]
test dl, 0x80
je 0x6be8cc
mov edx, dword [esp + 0x34]
test edx, edx
jbe 0x6be98f
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x68]
mov byte [ebp + ebx], 0
mov ebx, dword [esp + 0x70]
lea edx, [ebx - 5]
mov ebx, edx
neg ebx
sar ebx, 0x1f
and ebx, 1
mov esi, dword [esp + 0x50]
add ebx, esi
mov esi, dword [esp + 0x6c]
add esi, 0xfffffffb
mov edi, 1
jmp 0x6be8f2
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x38]
xor edi, edi
jmp 0x6be8f2
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x38]
xor edi, edi
cmp esi, eax
jg 0x6be8f8
mov eax, esi
cmp ebx, ecx
je 0x6be938
mov dword [esp + 0x30], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004697f0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
cmp eax, esi
ja 0x6be988
sub edx, eax
mov ecx, edx
neg ecx
sar ecx, 0x1f
and ecx, eax
sub esi, eax
add ebx, ecx
add edi, eax
mov ecx, esi
mov eax, ebx
mov ebx, edx
mov edx, edi
mov edi, ebp
mov ebp, edx
sar edx, 0x18
mov byte [edi], dl
mov edx, ebp
sar ebp, 0x10
xchg ebp, eax
mov byte [edi + 1], al
xchg ebp, eax
mov ebp, edx
sar edx, 8
mov byte [edi + 2], dl
xchg ebp, eax
mov byte [edi + 3], al
xchg ebp, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ebx
add esp, 0x64
ret
mov ecx, esi
call fcn.00468f30
xor eax, eax
mov ecx, eax
call fcn.00468ed0
movzx ebx, byte [ecx + edx]
not ebx
mov byte [ecx + edx], bl
inc edx
cmp edx, eax
jl 0x6be998
test eax, eax
je 0x6be9b2
movzx edx, byte [ecx]
test dl, 0x80
jne 0x6be9f0
mov edx, dword [esp + 0x34]
test edx, edx
jbe 0x6bea75
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x68]
mov byte [ebp + ebx], 0xff
mov ebx, dword [esp + 0x70]
lea edx, [ebx - 5]
mov ebx, edx
neg ebx
sar ebx, 0x1f
and ebx, 1
mov esi, dword [esp + 0x50]
add ebx, esi
mov esi, dword [esp + 0x6c]
add esi, 0xfffffffb
mov edi, 1
jmp 0x6bea02
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x38]
xor edi, edi
cmp esi, eax
jg 0x6bea08
mov eax, esi
cmp ebx, ecx
je 0x6bea48
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004697f0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
cmp eax, esi
ja 0x6bea6e
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and edx, eax
sub esi, eax
add edx, ebx
add eax, edi
mov edi, ebp
mov ebx, ecx
mov ecx, esi
mov ebp, edx
mov edx, eax
mov eax, ebp
jmp 0x6be957
mov ecx, esi
call fcn.00468f30
xor eax, eax
mov ecx, eax
call fcn.00468ed0
mov eax, 4
call fcn.00468f30
nop
call fcn.00467a60
jmp fcn.006be610