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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c]
cmp eax, dword [ecx + 8]
jbe 0x650234ef
sub esp, 0xac
mov ebx, dword [esp + 0xb0]
test byte [ebx], al
cmp dword [ebx + 0x2000c], 0x7ffe0001
jl 0x65022e24
mov dword [esp], ebx
call fcn.650237e0
mov ebx, dword [esp + 0xb0]
mov edx, dword [esp + 0xc4]
cmp edx, 0x11
jl 0x65022e9c
lea ebp, [edx - 0xf]
mov dword [esp + 0x7c], ebp
nop
nop
mov esi, dword [esp + 0xc0]
mov edi, dword [esi]
mov eax, esi
imul esi, edi, 0x1e35a7bd
shr esi, 0x12
xor ecx, ecx
xor ecx, ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x74], eax
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0xa8], edx
xor ecx, ecx
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x88]
jmp 0x65022f6f
add dword [ebx + 0x2000c], 0xffff
mov dword [ebx + 0x20004], 0
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x14], eax
call fcn.65023500
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], edx
add esp, 0xac
ret
mov edi, dword [esp + 0x6c]
shl edi, 0x10
mov ebp, dword [esp + 0x58]
shr ebp, 0x10
or edi, ebp
nop
mov ebp, dword [esp + 0x28]
lea eax, [ebp + eax + 5]
imul esi, edi, 0x1e35a7bd
shr esi, 0x12
mov ebp, dword [esp + 0x7c]
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
mov ebp, dword [esp + 0x98]
mov dword [esp + 0xa8], ebp
mov edx, dword [esp + 0xc4]
mov ecx, eax
mov ebp, dword [esp + 0x7c]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x80], eax
mov eax, 0x20
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x80]
jmp 0x65023026
mov edx, dword [esp + 0xc8]
cmp edx, ebx
jb 0x650234d7
mov ebp, dword [esp + 0x34]
cmp ebp, ebx
ja 0x650234ce
mov dword [esp + 0x68], ebx
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 8], ecx
sub edx, ebp
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebp
add edx, eax
mov dword [esp + 0xc], edx
sub ebx, ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], esi
call fcn.65023500
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x70]
jmp 0x650231f5
imul ecx, edx, 0x1e35a7bd
shr ecx, 0x12
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0x24]
mov ebx, esi
mov esi, ecx
mov edi, edx
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], esi
mov edi, dword [esp + 0x24]
sar edi, 5
lea ebx, [ecx + edi]
mov esi, dword [esp + 0x24]
add esi, edi
cmp ebp, ebx
jl 0x650230f2
mov dword [esp + 0x40], edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], esi
mov ebp, dword [esp + 0x30]
and ebp, 0x3fff
mov esi, dword [esp + 0xb0]
lea ebx, [esi + ebp*8]
mov edi, dword [ebx + 4]
mov dword [esp + 0x70], edi
mov ebx, dword [ebx]
mov dword [esp + 0x6c], ebx
lea ebx, [esi + ebp*8]
lea ebp, [esi + ebp*8 + 4]
nop
mov edi, dword [esp + 0x40]
lea edi, [ecx + edi + 4]
cmp edx, edi
jb 0x650234e7
mov dword [esp + 0xa4], ebp
mov ebp, dword [esp + 0x2c]
cmp edi, ebp
jb 0x650234de
mov edi, dword [esi + 0x2000c]
sub edx, ebp
neg edx
sar edx, 0x1f
and edx, ebp
mov ebp, dword [eax + edx]
mov edx, ebp
mov ebp, dword [esp + 0x3c]
mov dword [ebx], ebp
lea ebx, [edi + ecx]
mov edi, dword [esp + 0xa4]
mov dword [edi], ebx
nop
mov ebx, dword [esi + 0x2000c]
mov edi, dword [esp + 0x70]
sub edi, ebx
mov ebx, ecx
sub ecx, edi
cmp ecx, 0x8000
jg 0x65022ffd
mov edi, dword [esp + 0x6c]
cmp ebp, edi
jne 0x65022ffd
jmp 0x65022f8b
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0xa8]
cmp edx, ecx
jle 0x6502315b
jb 0x650231d7
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov ebx, dword [esp + 0xc8]
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
add ebx, eax
mov dword [esp + 0xc], ebx
sub edx, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebp
call fcn.65023500
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov edi, dword [esp + 0xb0]
add dword [edi + 0x2000c], edx
mov ecx, ebp
mov ebp, dword [edi + 0x20008]
cmp edx, ebp
ja 0x650231ce
mov dword [edi + 0x20004], edx
mov ebp, dword [edi + 0x20000]
cmp eax, ebp
je 0x650231b2
mov dword [esp + 0xa0], esi
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], ebx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.64fda970
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ecx
add esp, 0xac
ret
mov ecx, edx
mov edx, ebp
call fcn.64fda140
mov eax, ecx
mov ecx, edx
call fcn.64fda160
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x68]
mov eax, dword [esp + 0x98]
mov esi, ecx
mov ecx, edx
mov edx, esi
mov dword [esp + 0x78], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x28], ebx
mov esi, dword [esp + 0xb0]
sub ebp, dword [esi + 0x2000c]
mov dword [esp + 0x70], ebp
mov dword [esp], esi
lea edi, [ebx + 4]
mov dword [esp + 4], edi
lea edi, [ebp + 4]
mov dword [esp + 8], edi
mov edi, dword [esp + 0xc0]
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0xc8]
mov dword [esp + 0x14], edi
call fcn.650235c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x78]
lea edx, [ecx + 1]
lea ebx, [eax + 1]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x70]
mov edi, ebp
sub ebp, esi
shl ebx, 0x16
lea ebx, [ebp + ebx + 0x3fffffff]
mov ebp, dword [esp + 0x74]
cmp ebp, edx
jb 0x65023285
mov esi, dword [esp + 0x9c]
jmp 0x650232d5
mov dword [esp + 0x38], eax
mov dword [esp + 0x6c], ebx
lea eax, [0x65091320]
mov dword [esp], eax
mov ebx, dword [esp + 0x9c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.64fc47f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc ecx
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x28]
mov esi, eax
mov ebp, edx
mov eax, dword [esp + 0x38]
mov edx, ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x98], esi
mov dword [esi + ecx*4], ebx
lea ebx, [eax + edi]
mov ecx, ebp
lea ebp, [edi + eax + 4]
mov esi, dword [esp + 0x7c]
cmp ebp, esi
jge 0x6502349a
mov dword [esp + 0x64], ebp
lea esi, [edi + eax + 3]
lea edi, [edi + eax + 0xb]
mov ebp, dword [esp + 0xc4]
cmp ebp, edi
jb 0x650234c5
cmp edi, esi
jb 0x650234bc
mov dword [esp + 0x70], ebx
nop
sub ebp, ebx
add ebp, 0xfffffffd
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, esi
mov esi, dword [esp + 0xc0]
movzx edi, byte [esi + ebp]
movzx ebx, byte [esi + ebp + 1]
mov dword [esp + 0x6c], ebx
shl ebx, 8
or edi, ebx
movzx ebx, byte [esi + ebp + 2]
mov dword [esp + 0x60], ebx
shl ebx, 0x10
or ebx, edi
movzx edi, byte [esi + ebp + 3]
mov dword [esp + 0x5c], edi
shl edi, 0x18
or edi, ebx
mov dword [esp + 0x58], edi
imul ebx, edi, 0x1e35a7bd
shr ebx, 0x12
and ebx, 0x3fff
mov dword [esp + 0x54], ebx
mov edi, dword [esp + 0xb0]
lea ebx, [edi + ebx*8]
mov edi, dword [edi + 0x2000c]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + ebp + 4]
mov dword [esp + 0x50], edi
movzx edi, byte [esi + ebp + 5]
mov dword [esp + 0x4c], edi
movzx edi, byte [esi + ebp + 6]
mov dword [esp + 0x48], edi
movzx ebp, byte [esi + ebp + 7]
mov dword [esp + 0x44], ebp
mov esi, dword [esp + 0x58]
mov dword [ebx], esi
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0xb0]
lea ebx, [ebp + ebx*8 + 4]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x68]
lea edi, [edi + ebp + 3]
mov dword [ebx], edi
shr esi, 8
mov edi, dword [esp + 0x6c]
shr edi, 0x18
mov ebx, dword [esp + 0x60]
shr ebx, 0x10
or ebx, edi
mov edi, dword [esp + 0x5c]
shr edi, 8
or edi, ebx
mov ebx, dword [esp + 0x50]
or ebx, edi
mov edi, dword [esp + 0x4c]
shl edi, 8
or edi, ebx
mov ebx, dword [esp + 0x48]
shl ebx, 0x10
or ebx, edi
mov edi, dword [esp + 0x44]
shl edi, 0x18
or edi, ebx
mov dword [esp + 0x6c], edi
shl edi, 0x18
or edi, esi
mov dword [esp + 0x60], edi
nop
imul esi, edi, 0x1e35a7bd
shr esi, 0x12
and esi, 0x3fff
mov ebx, dword [esp + 0xb0]
lea ebp, [ebx + esi*8 + 4]
mov dword [esp + 0xa4], ebp
mov ebp, dword [ebp]
mov dword [esp + 0x68], ebp
lea esi, [ebx + esi*8]
mov ebp, dword [esi]
mov dword [esp + 0x5c], ebp
mov ebp, dword [ebx + 0x2000c]
mov dword [esi], edi
mov esi, dword [esp + 0x70]
lea ebp, [ebp + esi + 4]
mov edi, dword [esp + 0xa4]
mov dword [edi], ebp
mov ebp, dword [ebx + 0x2000c]
mov edi, dword [esp + 0x68]
sub edi, ebp
sub esi, edi
lea ebp, [esi + 4]
cmp ebp, 0x8000
jg 0x65022f17
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
cmp ebp, esi
je 0x650231e0
jmp 0x65022f17
mov eax, dword [esp + 0xc0]
mov ebx, edx
mov esi, dword [esp + 0x98]
mov edx, dword [esp + 0xc4]
mov edi, ecx
mov ecx, ebp
mov ebp, edi
jmp 0x65023105
mov eax, esi
mov ecx, edi
call fcn.64fda1c0
mov ecx, edi
mov edx, ebp
call fcn.64fda1b0
mov eax, ebp
mov ecx, ebx
call fcn.64fda160
mov ecx, ebx
call fcn.64fda140
mov eax, ebp
mov ecx, edi
call fcn.64fda1c0
mov ecx, edi
call fcn.64fda1b0
nop
call fcn.64fd8c20
jmp fcn.65022de0