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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x6be925
sub esp, 0xb4
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0xc0]
cmp edx, 0x18
jl 0x6be8cd
mov dword [esp + 0x64], ecx
lea ebx, [esp + 4]
mov dword [esp + 0x7c], ebx
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0xc4]
xor edi, edi
xor edi, edi
mov dword [esp + 0x58], edi
xor edi, edi
mov dword [esp + 0x54], edi
xor edi, edi
mov dword [esp + 0x60], edi
xor edi, edi
jmp 0x6be2e7
sub ecx, edi
mov eax, dword [esp + 0x74]
sub eax, edi
mov dword [esp + 0xc4], eax
neg eax
sar eax, 0x1f
and eax, edi
mov edi, dword [esp + 0x78]
add eax, edi
mov edi, dword [esp + 0xb8]
mov edi, edx
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0xc4]
mov edx, ecx
mov ebp, eax
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x68], 0
mov word [esp + 0x3e], 0
mov byte [esp + 0x3d], 0
mov byte [esp + 0x3c], 0
cmp edx, 0x18
jl 0x6be79c
mov ecx, dword [ebp]
mov dword [esp + 0x68], ecx
mov ebx, dword [eax]
cmp ebx, ecx
jne 0x6be78a
lea ecx, [edx - 4]
test ecx, ecx
jbe 0x6be91e
movzx ecx, byte [ebp + 4]
mov byte [esp + 0x3d], cl
lea ecx, [esi - 5]
neg ecx
sar ecx, 0x1f
and ecx, 1
lea ebx, [ebp + ecx + 4]
lea edi, [edx - 5]
test edi, edi
jbe 0x6be917
movzx ecx, byte [ebp + ecx + 4]
mov byte [esp + 0x3c], cl
lea ecx, [esi - 6]
neg ecx
sar ecx, 0x1f
and ecx, 1
lea ebp, [ebx + ecx]
lea edi, [edx - 6]
cmp edi, 1
jbe 0x6be910
movzx ecx, word [ebx + ecx]
mov word [esp + 0x3e], cx
lea ecx, [esi - 8]
neg ecx
sar ecx, 0x1f
and ecx, 2
lea ebx, [ecx + ebp]
lea edi, [edx - 8]
cmp edi, 3
jbe 0x6be909
mov ecx, dword [ecx + ebp]
mov dword [esp + 0x48], ecx
lea ecx, [esi - 0xc]
neg ecx
sar ecx, 0x1f
and ecx, 4
lea ebp, [ebx + ecx]
lea edi, [edx - 0xc]
cmp edi, 3
jbe 0x6be902
mov ecx, dword [ebx + ecx]
mov dword [esp + 0x4c], ecx
lea ecx, [esi - 0x10]
neg ecx
sar ecx, 0x1f
and ecx, 4
lea ebx, [ebp + ecx]
lea edi, [edx - 0x10]
cmp edi, 3
jbe 0x6be8fb
mov ecx, dword [ebp + ecx]
mov dword [esp + 0x44], ecx
lea ecx, [esi - 0x14]
neg ecx
sar ecx, 0x1f
and ecx, 4
lea ebp, [ebx + ecx]
lea edi, [edx - 0x14]
cmp edi, 3
jbe 0x6be8f4
mov ecx, dword [ebx + ecx]
mov dword [esp + 0x50], ecx
lea ebx, [esi - 0x18]
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
add ebx, ebp
add edx, 0xffffffe8
cmp edx, ecx
jl 0x6be778
movzx ecx, byte [esp + 0x3d]
cmp cl, 0x51
je 0x6be454
cmp cl, 0x52
je 0x6be454
cmp cl, 0x53
je 0x6be454
cmp cl, 0x54
jne 0x6be766
mov dword [esp + 0x40], edx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], ebx
movzx ecx, byte [esp + 0xc8]
test cl, cl
je 0x6be474
movzx ebp, word [esp + 0x3e]
mov dword [eax + 0x38], ebp
mov dword [esp], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
call fcn.006bda90
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0x8c]
mov edx, dword [eax + 0x88]
test ecx, ecx
jle 0x6be75b
mov ecx, dword [edx + 0xc]
mov dword [eax + 0x10], ecx
movzx ecx, byte [esp + 0x3d]
cmp cl, 0x52
je 0x6be70d
cmp cl, 0x51
jne 0x6be6db
mov ecx, dword [esp + 0x4c]
mov edx, dword [eax + 0x34]
add edx, dword [eax + 0x18]
mov ebx, ecx
sub ecx, edx
test ecx, ecx
jge 0x6be6c7
mov ecx, dword [esp + 0x48]
mov edx, dword [eax + 0xa4]
mov ebp, dword [eax + 0xa0]
mov esi, ecx
lea ecx, [edx + 1]
mov edi, ebx
mov ebx, dword [eax + 0xa8]
cmp ecx, ebx
jg 0x6be658
lea ecx, [edx + 1]
mov dword [eax + 0xa4], ecx
lea ecx, [ebp + edx*8]
mov dword [ecx], edi
lea ecx, [ebp + edx*8]
mov dword [ecx + 4], esi
mov ecx, dword [esp + 0x4c]
sub ecx, dword [eax + 0x18]
test ecx, ecx
jge 0x6be58e
movzx ecx, byte [esp + 0xc8]
test cl, cl
mov edx, 1
je 0x6be52d
test dl, dl
jne 0x6be558
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x54]
add ebp, 1
mov esi, dword [esp + 0x58]
adc esi, 0
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x40]
cmp edi, ecx
jbe 0x6be29c
jmp 0x6be8e6
mov eax, dword [0xa7c890]
test byte [eax], al
add eax, 0x98
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 0
call fcn.00401260
mov eax, dword [esp + 0xb8]
movzx ecx, byte [esp + 0xc8]
jmp 0x6be52d
lea edi, [esp + 0x80]
xor eax, eax
call fcn.0044cad3
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x80], ecx
movzx ecx, byte [esp + 0x3d]
mov byte [esp + 0x84], cl
movzx ecx, byte [esp + 0x3c]
mov byte [esp + 0x85], cl
movzx ecx, word [esp + 0x3e]
mov word [esp + 0x86], cx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x50]
test ecx, ecx
jl 0x6be8ed
mov edx, dword [esp + 0x74]
cmp ecx, edx
ja 0x6be8ed
mov eax, dword [esp + 0x78]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov edi, dword [esp + 0x7c]
lea esi, [esp + 0x80]
call fcn.0044cf6e
call fcn.006bdbe0
movzx edx, byte [esp + 0x38]
movzx ecx, byte [esp + 0xc8]
test cl, cl
mov eax, dword [esp + 0xb8]
jmp 0x6be527
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], esi
lea eax, [0x74bac0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00438b40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xb8]
mov dword [ebx + 0xa8], edx
mov edx, dword [0xa8f2d0]
test edx, edx
jne 0x6be6ba
mov dword [ebx + 0xa0], eax
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
mov edx, ecx
mov ebp, eax
mov eax, ebx
jmp 0x6be4f7
lea edi, [ebx + 0xa0]
call fcn.0044c9e0
jmp 0x6be6a7
movzx ecx, byte [esp + 0xc8]
test cl, cl
mov edx, 1
jmp 0x6be527
cmp cl, 0x53
jne 0x6be6f6
mov ecx, dword [eax + 0x40]
or ecx, 2
mov dword [eax + 0x40], ecx
movzx ecx, byte [esp + 0xc8]
jmp 0x6be52d
cmp cl, 0x54
je 0x6be6e9
mov dword [esp + 0xcc], 0xfffffffd
add esp, 0xb4
ret
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
call fcn.006bd950
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], ecx
call fcn.006bd9f0
mov edx, dword [esp + 0x5c]
or edx, 1
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0xb8]
movzx ecx, byte [esp + 0xc8]
jmp 0x6be535
mov ecx, dword [eax + 0x14]
mov dword [eax + 0x10], ecx
jmp 0x6be4a5
mov dword [esp + 0xcc], 0xfffffffd
add esp, 0xb4
ret
mov dword [esp + 0xcc], 0xfffffffe
add esp, 0xb4
ret
mov dword [esp + 0xcc], 0xffffffff
add esp, 0xb4
ret
mov eax, dword [0xa7c890]
test byte [eax], al
add eax, 0x58
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
call fcn.00401260
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x6be7d7
movzx ecx, byte [esp + 0xc8]
test cl, cl
jne 0x6be89f
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx + 0x68]
test edx, edx
jne 0x6be823
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0x64]
sub edx, ebx
test edx, edx
jle 0x6be823
mov edx, dword [ecx + 0x3c]
mov ebx, dword [ecx + 0x38]
cmp edx, ebx
jae 0x6be823
mov eax, dword [ecx + 8]
mov ebx, dword [ecx + 0x1c]
cmp edx, ebx
jae 0x6be85a
inc edx
mov dword [ecx + 0x3c], edx
add dword [ecx + 0x60], eax
mov edx, dword [ecx + 0x3c]
mov ebx, dword [ecx + 0x38]
cmp edx, ebx
jbe 0x6be823
mov dword [ecx + 0x3c], ebx
mov edx, dword [ecx + 0x38]
imul eax, edx
mov dword [ecx + 0x60], eax
movzx eax, byte [esp + 0xc9]
test al, al
je 0x6be839
mov eax, dword [ecx + 0xa4]
test eax, eax
jg 0x6be84b
mov dword [esp + 0xcc], 0
add esp, 0xb4
ret
mov dword [esp], ecx
mov byte [esp + 4], 1
call fcn.006be930
jmp 0x6be839
mov edx, dword [ecx + 0x60]
cmp edx, eax
jae 0x6be864
mov dword [ecx + 0x60], eax
mov edx, eax
imul eax, eax
mov ebx, dword [ecx + 0x60]
test ebx, ebx
je 0x6be8df
mov dword [esp + 0x70], edx
xor edx, edx
div ebx
mov edx, dword [esp + 0x70]
mov ebp, edx
shr edx, 4
add edx, eax
add edx, ebx
mov dword [ecx + 0x60], edx
mov ebx, dword [ecx + 0x3c]
inc ebx
mov esi, ebp
imul ebp, ebx
cmp ebp, edx
ja 0x6be898
mov dword [ecx + 0x3c], ebx
mov eax, esi
jmp 0x6be80d
call fcn.006c41d0
mov eax, dword [esp]
mov ecx, dword [esp + 0x60]
sub eax, ecx
test eax, eax
jl 0x6be7d7
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.006bd8a0
jmp 0x6be7d7
mov dword [esp + 0xcc], 0xffffffff
add esp, 0xb4
ret
call fcn.004268e0
ud2
call fcn.004267e0
ud2
call fcn.004267e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.0044b280
jmp fcn.006be230