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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x1c], edx
cmp byte [ecx + 0x156], 0
mov dword [esp + 0x30], ecx
je 0x64a107
cmp byte [ecx + 0x157], 0
sete byte [esp + 0x17]
jmp 0x64a10c
mov byte [esp + 0x17], 1
mov ecx, dword [eax + 0x14]
mov ebx, dword [eax + 0x10]
cmp ebx, ecx
mov eax, ecx
mov dword [esp + 8], ecx
ja 0x64abc1
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0xa4]
mov ebp, dword [eax + 0x138]
mov edx, esi
xor eax, eax
sub edx, ebp
mov edi, ebp
mov edi, 0x20
mov dword [esp + 0x3c], ebp
cmovae eax, edx
mov dword [esp + 0x38], edx
cmp eax, 0x20
cmovb edi, eax
mov dword [ecx + 0xc], edi
mov edx, dword [ecx + 8]
cmp edi, edx
ja 0x64aef2
test edi, edi
je 0x64a183
lea eax, [edi*4]
push eax
push 0
mov eax, dword [esp + 0xac]
push dword [eax]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ebp, dword [esp + 0xac]
test esi, esi
mov dword [esp + 0x28], edi
je 0x64a1a5
lea eax, [esi*4]
push eax
push 0
push ebp
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0xa8]
mov eax, dword [eax + 0x148]
test eax, eax
js 0x64af03
lea ecx, [ebx + 1]
xor edx, edx
sub eax, 1
jb 0x64a1e0
nop dword [eax + eax]
cmp edx, esi
jae 0x64a1e0
mov dword [ebp + edx*4], ecx
add edx, 2
sub eax, 1
jae 0x64a1d0
mov eax, dword [edi]
test eax, eax
je 0x64a244
cmp eax, 1
je 0x64a25a
mov eax, dword [esp + 0x1c]
mov esi, dword [edi + 4]
test byte [eax + 9], 1
jne 0x64aac7
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x64a21f
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x64af7a
mov dword [0x919820], eax
push 0xc
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x64af7a
mov byte [eax], 3
mov dword [eax + 4], 2
mov dword [eax + 8], esi
jmp 0x64ab26
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x128]
cmp eax, dword [ecx + 0x12c]
jne 0x64aae6
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x24], 0
je 0x64adf2
mov eax, dword [eax + 0x1c]
mov edx, dword [eax]
cmp ebx, dword [esp + 8]
jae 0x64a95c
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], 0
mov esi, dword [eax + 0x130]
movzx ecx, byte [eax + 8]
and esi, 0x1f
mov byte [esp + 0x26], cl
mov ecx, dword [edi + 8]
mov dword [esp + 0x6c], esi
mov esi, dword [eax + 0x10]
mov dword [esp + 0xc], ecx
mov ecx, edi
mov edi, dword [edi + 0xc]
mov dword [esp + 0x5c], esi
mov esi, dword [eax + 0x18]
movzx ecx, byte [ecx + 0x18]
cmp edi, ebx
mov dword [esp + 4], edi
mov dword [esp + 0x40], esi
mov esi, ebx
mov byte [esp + 0x27], cl
cmova esi, edi
mov dword [esp + 0x54], esi
mov esi, dword [eax + 0x28]
mov eax, dword [eax + 0x134]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x58], esi
lea eax, [ebp + eax*4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xa4]
mov edi, dword [eax]
mov eax, dword [esp + 0x38]
lea eax, [eax*4]
mov dword [esp + 0x64], eax
jmp 0x64a30d
shr edx, 0xb
cmp ebx, dword [esp + 8]
je 0x64ab38
cmp ebx, dword [esp + 0x54]
je 0x64ac23
mov eax, dword [esp + 0xc]
mov esi, edx
mov ecx, dword [esp + 0x6c]
movzx edx, byte [eax + ebx]
mov eax, esi
shl eax, cl
mov ecx, dword [esp + 0x1c]
movzx ebp, dl
movzx ecx, byte [ecx + ebp + 0x2c]
mov dword [esp + 0x20], ebp
add ecx, eax
cmp ecx, dword [esp + 0x40]
jae 0x64ac3a
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x5c]
mov dword [esp], ebx
inc ebx
mov ebp, dword [esi + ecx*8]
mov ecx, dword [esi + ecx*8 + 4]
mov esi, dword [esp + 0x34]
cmp esi, dword [esp + 0x58]
mov dword [esp + 0x60], ecx
jb 0x64a6b0
add eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x40]
jae 0x64ac4d
mov ecx, dword [esp + 0x5c]
mov esi, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
mov eax, esi
mov dword [esp + 0x18], ecx
and eax, 0x3ff
je 0x64a5e0
mov ecx, dword [esp + 0x30]
cmp dword [esp], 0
mov dh, byte [ecx + 0x154]
je 0x64a3b2
mov ecx, eax
and ecx, 1
test cx, cx
jne 0x64a6b0
mov dword [esp + 0x48], eax
movzx ecx, ax
mov eax, dword [esp]
cmp eax, dword [esp + 4]
mov eax, ecx
je 0x64a3d2
mov ecx, eax
and ecx, 2
test cx, cx
jne 0x64a6b0
cmp dword [esp], 0
mov dword [esp + 0x10], eax
je 0x64a403
mov ecx, eax
and ecx, 4
test cx, cx
je 0x64a403
mov eax, dword [esp]
lea ecx, [eax - 1]
cmp ecx, dword [esp + 4]
jae 0x64adcc
mov eax, dword [esp + 0xc]
cmp byte [eax + ecx], dh
jne 0x64a6b0
mov eax, dword [esp]
cmp eax, dword [esp + 4]
mov eax, dword [esp + 0x10]
je 0x64a433
mov ecx, eax
and ecx, 8
test cx, cx
je 0x64a433
mov eax, dword [esp]
cmp eax, dword [esp + 4]
jae 0x64ae4d
mov eax, dword [esp + 0x10]
cmp dl, dh
jne 0x64a6b0
test al, 0x10
je 0x64a47d
cmp dword [esp], 0
je 0x64a47d
mov eax, dword [esp]
lea ecx, [eax - 1]
cmp ecx, dword [esp + 4]
jae 0x64ae05
mov eax, dword [esp + 0xc]
movzx ecx, byte [eax + ecx]
mov eax, dword [esp + 0x10]
cmp ecx, 0xa
je 0x64a47d
cmp ecx, 0xd
jne 0x64a6b0
mov eax, dword [esp]
cmp eax, dword [esp + 4]
mov eax, dword [esp + 0x10]
jae 0x64a47d
cmp dl, 0xa
je 0x64a6b0
mov ecx, dword [esp + 0x18]
test al, 0x20
je 0x64a4d3
mov eax, dword [esp]
cmp eax, dword [esp + 4]
mov eax, dword [esp + 0x10]
je 0x64a4d3
jae 0x64ae63
cmp dl, 0xa
je 0x64a4a9
cmp dword [esp + 0x20], 0xd
je 0x64a4d3
jmp 0x64a6b0
mov eax, dword [esp]
test eax, eax
je 0x64a4ff
lea ecx, [eax - 1]
cmp ecx, dword [esp + 4]
jae 0x64ae3a
mov eax, dword [esp + 0xc]
cmp byte [eax + ecx], 0xd
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
je 0x64a6b0
test al, 0x40
je 0x64a541
mov eax, dword [esp]
test eax, eax
je 0x64a514
lea ecx, [eax - 1]
cmp ecx, dword [esp + 4]
jae 0x64addf
mov eax, dword [esp + 0xc]
movzx ecx, byte [eax + ecx]
cmp byte [ecx + 0x8c2c78], 0
setne cl
jmp 0x64a516
mov eax, dword [esp + 0x10]
test al, 0x40
jne 0x64a514
cmp byte [esp + 0x48], 0
jns 0x64a59d
jmp 0x64a570
xor ecx, ecx
mov eax, dword [esp]
cmp eax, dword [esp + 4]
jae 0x64a531
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x8c2c78], 0
setne dl
cmp cl, dl
jmp 0x64a533
test cl, cl
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
je 0x64a6b0
cmp byte [esp + 0x48], 0
jns 0x64a59d
mov eax, dword [esp]
test eax, eax
je 0x64a570
lea ecx, [eax - 1]
cmp ecx, dword [esp + 4]
jae 0x64addf
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + ecx]
cmp byte [eax + 0x8c2c78], 0
setne al
jmp 0x64a572
xor eax, eax
mov ecx, dword [esp]
cmp ecx, dword [esp + 4]
jae 0x64a58d
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 0x8c2c78], 0
setne cl
xor al, cl
jmp 0x64a58f
test al, al
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
jne 0x64a6b0
test eax, 0x100
jne 0x64aedd
cmp eax, 0x200
jb 0x64a5e0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
push dword [esp]
call fcn.0064afe0
add esp, 4
cmp al, 2
je 0x64af57
mov ecx, dword [esp + 0x18]
test al, 1
je 0x64a6b0
nop word cs:[eax + eax]
mov eax, ecx
shr eax, 9
or eax, 1
cmp eax, dword [esp + 0xb0]
jae 0x64a5fb
mov ecx, dword [esp + 0xac]
mov dword [ecx + eax*4], ebx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
cmp eax, dword [esp + 0xb0]
mov eax, dword [esp + 0x28]
jae 0x64a670
cmp dword [esp + 0x38], eax
jne 0x64af9f
push dword [esp + 0x64]
push edi
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x58]
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
shrd esi, eax, 0xa
je 0x64a670
nop word [eax + eax]
test esi, esi
je 0x64a650
tzcnt eax, esi
cmp eax, 0x1f
jbe 0x64a65a
jmp 0x64a670
mov eax, 0x20
cmp eax, 0x1f
ja 0x64a670
cmp eax, ecx
jae 0x64a670
btr esi, eax
mov dword [edx + eax*4], ebx
test esi, esi
jne 0x64a644
jmp 0x64a650
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x60]
shr ecx, 0xa
cmp byte [esp + 0x27], 0
jne 0x64ab4f
cmp byte [esp + 0x26], 0
mov dword [esp + 0x44], 1
je 0x64a6a5
and eax, 0x400
mov dword [esp + 0x50], ecx
je 0x64a6b0
jmp 0x64ab4f
mov dword [esp + 0x50], ecx
nop dword [eax]
cmp dword [esp + 0x34], 0
je 0x64ab44
mov esi, dword [esp]
mov ecx, ebp
and ecx, 0x3ff
je 0x64a8ed
mov eax, dword [esp + 0x30]
test esi, esi
movzx eax, byte [eax + 0x154]
mov byte [esp + 0x34], al
je 0x64a6ed
mov eax, ecx
and eax, 1
test ax, ax
jne 0x64ab44
cmp esi, dword [esp + 4]
movzx eax, cx
mov dword [esp + 0x20], ecx
je 0x64a708
mov ecx, eax
and ecx, 2
test cx, cx
jne 0x64ab44
test esi, esi
je 0x64a738
mov ecx, eax
and ecx, 4
test cx, cx
je 0x64a738
lea ecx, [esi - 1]
cmp ecx, dword [esp + 4]
jae 0x64adcc
mov esi, dword [esp + 0xc]
movzx edx, byte [esp + 0x34]
cmp byte [esi + ecx], dl
mov esi, dword [esp]
jne 0x64ab44
cmp esi, dword [esp + 4]
je 0x64a75a
mov ecx, eax
and ecx, 8
test cx, cx
je 0x64a75a
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x34]
cmp byte [ecx + esi], dl
jne 0x64ab44
test al, 0x10
je 0x64a7a0
test esi, esi
je 0x64a7a0
lea ecx, [esi - 1]
cmp ecx, dword [esp + 4]
jae 0x64ae05
mov esi, dword [esp + 0xc]
movzx ecx, byte [esi + ecx]
mov esi, dword [esp]
cmp ecx, 0xa
je 0x64a7a0
cmp ecx, 0xd
jne 0x64ab44
mov ecx, dword [esp + 0xc]
cmp byte [ecx + esi], 0xa
je 0x64ab44
nop word cs:[eax + eax]
test al, 0x20
je 0x64a7f0
cmp esi, dword [esp + 4]
je 0x64a7f0
mov ecx, dword [esp + 0xc]
movzx ecx, byte [ecx + esi]
cmp ecx, 0xd
je 0x64a7f0
cmp ecx, 0xa
jne 0x64ab44
test esi, esi
je 0x64a942
lea ecx, [esi - 1]
cmp ecx, dword [esp + 4]
jae 0x64ae3a
mov esi, dword [esp + 0xc]
cmp byte [esi + ecx], 0xd
mov esi, dword [esp]
je 0x64ab44
nop word cs:[eax + eax]
test al, 0x40
je 0x64a83c
test esi, esi
je 0x64a87e
lea ecx, [esi - 1]
mov dword [esp], eax
cmp ecx, dword [esp + 4]
jae 0x64addf
mov eax, esi
mov esi, dword [esp + 0xc]
movzx ecx, byte [esi + eax - 1]
movzx esi, byte [esi + eax]
cmp byte [ecx + 0x8c2c78], 0
setne cl
cmp byte [esi + 0x8c2c78], 0
mov esi, eax
mov eax, dword [esp]
setne ch
cmp cl, ch
je 0x64ab44
cmp byte [esp + 0x20], 0
jns 0x64a8ba
test esi, esi
je 0x64a8a2
lea ecx, [esi - 1]
cmp ecx, dword [esp + 4]
jae 0x64addf
mov edx, dword [esp + 0xc]
movzx ecx, byte [edx + esi - 1]
movzx edx, byte [edx + esi]
cmp byte [ecx + 0x8c2c78], 0
setne cl
cmp byte [edx + 0x8c2c78], 0
setne dl
xor dl, cl
je 0x64a8ba
jmp 0x64ab44
mov ecx, dword [esp + 0xc]
movzx ecx, byte [ecx + esi]
movzx esi, cl
cmp byte [esi + 0x8c2c78], 0
je 0x64ab44
cmp byte [esp + 0x20], 0
mov esi, dword [esp]
js 0x64a8aa
jmp 0x64a8ba
mov ecx, dword [esp + 0xc]
movzx ecx, byte [ecx + esi]
movzx ecx, cl
cmp byte [ecx + 0x8c2c78], 0
jne 0x64ab44
test eax, 0x100
jne 0x64aedd
cmp eax, 0x200
jb 0x64a8ed
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
push esi
call fcn.0064afe0
add esp, 4
cmp al, 2
je 0x64af57
test al, 1
je 0x64ab44
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x28]
shrd ebp, edx, 0xa
je 0x64a300
nop
test ebp, ebp
je 0x64a920
tzcnt eax, ebp
cmp eax, 0x1f
jbe 0x64a92e
jmp 0x64a300
mov eax, 0x20
cmp eax, 0x1f
ja 0x64a300
cmp eax, ecx
jae 0x64a300
btr ebp, eax
mov dword [edi + eax*4], ebx
test ebp, ebp
jne 0x64a904
jmp 0x64a920
mov cl, 0xa
test al, 0x40
jne 0x64a886
cmp byte [esp + 0x20], 0
js 0x64a8aa
jmp 0x64a8ba
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], 0
mov ecx, dword [eax + 0x28]
cmp edx, ecx
jb 0x64ab44
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 0x130]
shl edx, cl
add edx, dword [eax + 0x134]
mov ecx, edx
mov edx, dword [eax + 0x18]
cmp ecx, edx
jae 0x64ac53
mov eax, dword [eax + 0x10]
mov edi, dword [eax + ecx*8]
mov esi, dword [eax + ecx*8 + 4]
mov ebx, edi
and ebx, 0x3ff
je 0x64ad22
mov eax, dword [esp + 0xa8]
mov ebp, dword [esp + 0x30]
cmp dword [esp + 8], 0
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
movzx edx, byte [ebp + 0x154]
mov dword [esp], eax
je 0x64a9db
mov eax, ebx
and eax, 1
test ax, ax
jne 0x64ab44
mov eax, dword [esp]
movzx ebp, bx
cmp dword [esp + 8], eax
je 0x64a9f5
mov eax, ebp
and eax, 2
test ax, ax
jne 0x64ab44
cmp dword [esp + 8], 0
je 0x64aa1d
mov eax, ebp
and eax, 4
test ax, ax
je 0x64aa1d
mov eax, dword [esp + 8]
dec eax
cmp eax, dword [esp]
jae 0x64ae79
cmp byte [ecx + eax], dl
jne 0x64ab44
mov eax, dword [esp]
cmp dword [esp + 8], eax
je 0x64aa4a
mov eax, ebp
and eax, 8
test ax, ax
je 0x64aa4a
mov eax, ecx
mov ecx, dword [esp + 8]
cmp ecx, dword [esp]
jae 0x64ae8d
cmp byte [eax + ecx], dl
mov ecx, eax
jne 0x64ab44
mov edx, ebp
test dl, 0x10
je 0x64aa8f
cmp dword [esp + 8], 0
je 0x64aa8f
mov eax, dword [esp + 8]
dec eax
cmp eax, dword [esp]
jae 0x64aeb3
movzx eax, byte [ecx + eax]
cmp eax, 0xa
je 0x64aa8f
cmp eax, 0xd
jne 0x64ab44
mov eax, dword [esp]
cmp dword [esp + 8], eax
jae 0x64aa8f
mov eax, dword [esp + 8]
cmp byte [ecx + eax], 0xa
je 0x64ab44
test dl, 0x20
je 0x64abf6
mov eax, dword [esp]
cmp dword [esp + 8], eax
je 0x64abf6
jae 0x64aec7
mov eax, dword [esp + 8]
movzx eax, byte [ecx + eax]
cmp eax, 0xa
je 0x64abd6
cmp eax, 0xd
je 0x64abf6
jmp 0x64ab44
inc esi
xor edx, edx
cmp esi, dword [eax + 0x24]
jae 0x64a26d
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x64a26d
lea eax, [eax + esi*4]
jmp 0x64a26b
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x64ab09
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x64af7a
mov dword [0x919820], eax
push 0xc
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x64af7a
mov byte [eax], 3
mov dword [eax + 4], 0
mov ecx, dword [esp + 0x2c]
mov dword [ecx + 4], eax
mov dword [ecx], 2
jmp 0x64abcb
mov ecx, dword [esp + 0x58]
cmp edx, ecx
jae 0x64a973
cmp dword [esp + 0x44], 1
mov ecx, dword [esp + 0x50]
jne 0x64abc1
cmp byte [esp + 0x17], 0
jne 0x64abb0
mov esi, dword [esp + 0xb0]
mov ebx, ecx
add ecx, ecx
cmp ecx, esi
jae 0x64ae18
mov edi, dword [esp + 0xac]
mov eax, dword [edi + ecx*4]
test eax, eax
je 0x64afb6
mov edx, dword [esp + 0xa8]
lea ecx, [ebx + ebx + 1]
cmp ecx, esi
jae 0x64ae29
mov ecx, dword [edi + ecx*4]
test ecx, ecx
je 0x64afc7
cmp eax, ecx
mov ecx, ebx
jne 0x64abb0
dec eax
cmp eax, dword [edx + 0xc]
jae 0x64abbf
mov ecx, dword [edx + 8]
cmp byte [ecx + eax], 0xc0
mov ecx, ebx
jl 0x64abc1
mov eax, dword [esp + 0x2c]
mov dword [eax], 1
mov dword [eax + 4], ecx
jmp 0x64abcb
je 0x64abb0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 8]
test eax, eax
je 0x64ac62
dec eax
cmp eax, dword [esp]
jae 0x64af8b
cmp byte [ecx + eax], 0xd
je 0x64ab44
test dl, 0x40
je 0x64ac9c
mov eax, dword [esp + 8]
test eax, eax
je 0x64ac71
dec eax
cmp eax, dword [esp]
jae 0x64ae9f
movzx eax, byte [ecx + eax]
mov edx, ecx
cmp byte [eax + 0x8c2c78], 0
setne al
jmp 0x64ac75
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 4]
push 0x8c1afc
call fcn.00709fa0
add esp, 4
ud2
mov edx, dword [esp + 0x40]
push 0x8c1b9c
call fcn.00709fa0
add esp, 4
ud2
mov edx, dword [esp + 0x40]
mov ecx, eax
push 0x8c1bbc
call fcn.00709fa0
add esp, 4
ud2
test dl, 0x40
jne 0x64ac71
test bl, bl
jns 0x64acef
jmp 0x64acc4
mov edx, ecx
xor eax, eax
mov ecx, dword [esp + 8]
cmp ecx, dword [esp]
jae 0x64ac90
movzx ecx, byte [edx + ecx]
cmp byte [ecx + 0x8c2c78], 0
setne cl
cmp al, cl
jmp 0x64ac92
test al, al
mov ecx, edx
mov edx, ebp
je 0x64ab44
test bl, bl
jns 0x64acef
mov eax, dword [esp + 8]
test eax, eax
je 0x64acc4
dec eax
cmp eax, dword [esp]
jae 0x64ae9f
movzx eax, byte [ecx + eax]
mov edx, ecx
cmp byte [eax + 0x8c2c78], 0
setne al
jmp 0x64acc8
mov edx, ecx
xor eax, eax
mov ecx, dword [esp + 8]
cmp ecx, dword [esp]
jae 0x64ace3
movzx ecx, byte [edx + ecx]
cmp byte [ecx + 0x8c2c78], 0
setne cl
xor al, cl
jmp 0x64ace5
test al, al
mov ecx, edx
mov edx, ebp
jne 0x64ab44
test edx, 0x100
jne 0x64aedd
cmp edx, 0x200
jb 0x64ad22
mov edx, dword [esp]
push dword [esp + 8]
call fcn.0064afe0
add esp, 4
cmp al, 2
je 0x64af57
test al, 1
je 0x64ab44
mov eax, esi
mov ebx, dword [esp + 0xac]
shr eax, 9
or eax, 1
cmp eax, dword [esp + 0xb0]
jae 0x64ad42
mov ecx, dword [esp + 8]
inc ecx
mov dword [ebx + eax*4], ecx
mov eax, dword [esp + 0x3c]
mov ecx, esi
shr ecx, 0xa
cmp eax, dword [esp + 0xb0]
jae 0x64ab4f
mov ebp, ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
cmp ecx, edx
jne 0x64afa7
mov eax, dword [esp + 0x3c]
lea ebx, [ebx + eax*4]
lea eax, [edx*4]
push eax
mov eax, dword [esp + 0xa8]
push dword [eax]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
shld esi, edi, 0x16
je 0x64adc5
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x28]
inc ecx
test esi, esi
je 0x64adab
nop
tzcnt eax, esi
cmp eax, 0x1f
jbe 0x64adb5
jmp 0x64adc5
mov eax, 0x20
cmp eax, 0x1f
ja 0x64adc5
cmp eax, edx
jae 0x64adc5
btr esi, eax
mov dword [ebx + eax*4], ecx
test esi, esi
jne 0x64ada0
jmp 0x64adab
mov ecx, ebp
jmp 0x64ab4f
mov edx, dword [esp + 4]
push 0x8c1de8
call fcn.00709fa0
add esp, 4
ud2
mov edx, dword [esp + 4]
push 0x8c1e58
call fcn.00709fa0
add esp, 4
ud2
xor ecx, ecx
xor edx, edx
push 0x8c1b8c
call fcn.00709fa0
add esp, 4
ud2
mov edx, dword [esp + 4]
push 0x8c1e28
call fcn.00709fa0
add esp, 4
ud2
mov edx, esi
push 0x8c1abc
call fcn.00709fa0
add esp, 4
ud2
mov edx, esi
push 0x8c1adc
call fcn.00709fa0
add esp, 4
ud2
mov edx, dword [esp + 4]
push 0x8c1e48
call fcn.00709fa0
add esp, 4
ud2
mov ecx, dword [esp]
mov edx, dword [esp + 4]
push 0x8c1df8
call fcn.00709fa0
add esp, 4
ud2
mov ecx, dword [esp]
mov edx, dword [esp + 4]
push 0x8c1e38
call fcn.00709fa0
add esp, 4
ud2
mov edx, dword [esp]
mov ecx, eax
push 0x8c1de8
call fcn.00709fa0
add esp, 4
ud2
mov edx, dword [esp]
push 0x8c1df8
call fcn.00709fa0
add esp, 4
ud2
mov edx, dword [esp]
mov ecx, eax
push 0x8c1e58
call fcn.00709fa0
add esp, 4
ud2
mov edx, dword [esp]
mov ecx, eax
push 0x8c1e28
call fcn.00709fa0
add esp, 4
ud2
mov ecx, dword [esp + 8]
mov edx, dword [esp]
push 0x8c1e38
call fcn.00709fa0
add esp, 4
ud2
lea eax, [esp + 0x70]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x8c1e08
jmp 0x64af6a
mov ecx, edi
push 0x8c1d30
call fcn.0070a080
add esp, 4
ud2
lea eax, [esp + 0x88]
lea ecx, [esp + 0x70]
mov edx, 0x8be920
mov dword [esp + 0x88], 0x8c2888
mov dword [esp + 0x70], 0x8be918
mov dword [esp + 0x74], 1
mov dword [esp + 0x80], 0
mov dword [esp + 0x8c], fcn.004242f0
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 1
call fcn.00709f70
ud2
lea eax, [esp + 0x70]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x8c1e18
push 0x8c186c
push eax
call fcn.0070a360
add esp, 0xc
ud2
mov ecx, 4
mov edx, 0xc
call fcn.00709d20
ud2
mov edx, dword [esp]
mov ecx, eax
push 0x8c1e48
call fcn.00709fa0
add esp, 4
ud2
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
push 0x8c1b7c
call fcn.0070a570
add esp, 4
ud2
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_synconce.rs
mov edx, 0x2b
push 0x8c1acc
jmp 0x64afd6
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_synconce.rs
mov edx, 0x2b
push 0x8c1aec
call fcn.0070a0f0
add esp, 4
ud2