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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x258
mov ebp, dword [esp + 0x26c]
mov dword [esp + 4], edx
mov ebx, ecx
call 0x45f68c
pop ecx
movsd xmm2, qword [ebp + 0x60]
movsd xmm1, qword [ebp + 0x58]
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x68]
movd xmm0, dword [ebp + 0x24]
movsd qword [esp + 0x108], xmm2
movsd qword [esp + 0x100], xmm1
movsd xmm2, qword [ebp + 0x48]
movsd xmm1, qword [ebp + 0x50]
lea edi, [edx + edx]
mov dword [esp + 0x110], eax
movdqu xmmword [esp + 0x40], xmm0
mov dword [esp], edx
mov eax, edi
or eax, edx
movsd qword [esp + 0xf8], xmm1
movsd qword [esp + 0xf0], xmm2
js 0x46052f
mov esi, dword [ebp + 0x10]
test edi, edi
mov dword [esp + 0x10], ecx
je 0x45f718
movzx eax, byte [0x77618d]
xor ecx, ecx
mov edx, edi
call fcn.00490be0
mov ecx, dword [esp]
test eax, eax
mov dword [esp + 0x30], ecx
jne 0x45f725
jmp 0x46052f
mov eax, 1
mov dword [esp + 0x30], 0
push edi
push esi
mov dword [esp + 0x24], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
mov esi, dword [ebp + 4]
mov dword [esp + 0x50], ebx
movsd xmm1, qword [eax + 0x7c]
movq xmm0, qword [eax + 0x84]
movsd xmm2, qword [eax + 0x6c]
movsd qword [esp + 0x1ec], xmm1
movsd xmm1, qword [eax + 0x74]
mov eax, dword [ebp + 8]
movq qword [esp + 0x1f4], xmm0
movsd qword [esp + 0x1dc], xmm2
lea ebp, [esi + eax*4]
shl eax, 2
movsd qword [esp + 0x1e4], xmm1
nop word cs:[eax + eax]
nop dword [eax]
test eax, eax
je 0x45f840
movzx edi, word [esi]
add esi, 4
add eax, 0xfffffffc
cmp edi, 0xba
je 0x45f790
movzx ebx, word [esi - 2]
movzx eax, byte [0x77618d]
xor ecx, ecx
mov edx, 0x10
call fcn.00490be0
test eax, eax
je 0x46052f
mov word [eax], di
mov edi, 1
mov word [eax + 2], bx
mov dword [esp + 0x74], 4
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 1
nop dword [eax + eax]
cmp esi, ebp
je 0x45f84b
movzx ebx, word [esi]
add esi, 4
cmp ebx, 0xba
je 0x45f7f0
movzx ecx, word [esi - 2]
cmp edi, dword [esp + 0x74]
je 0x45f81c
mov word [eax + edi*4], bx
mov word [eax + edi*4 + 2], cx
inc edi
mov dword [esp + 0x7c], edi
jmp 0x45f7f0
mov word [esp + 0xc], cx
lea ecx, [esp + 0x74]
mov edx, edi
push 4
push 2
push 1
call fcn.004e4f80
movzx ecx, word [esp + 0x18]
add esp, 0xc
mov eax, dword [esp + 0x78]
jmp 0x45f80c
mov eax, 2
xor edi, edi
xor ecx, ecx
jmp 0x45f853
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
movdqu xmm0, xmmword [esp + 0x40]
movsd xmm1, qword [esp + 0x1e4]
movsd xmm3, qword [esp + 0x1dc]
movsd xmm2, qword [esp + 0x1ec]
mov edx, dword [esp + 0x110]
movd dword [esp + 0x98], xmm0
movsd qword [esp + 0xa4], xmm1
movsd xmm1, qword [esp + 0x1f4]
movsd qword [esp + 0x9c], xmm3
movsd qword [esp + 0xac], xmm2
movsd xmm3, qword [esp + 0xf0]
movsd xmm2, qword [esp + 0x100]
movsd qword [esp + 0xb4], xmm1
movsd xmm1, qword [esp + 0xf8]
mov dword [esp + 0xdc], edx
movsd qword [esp + 0xbc], xmm3
movsd qword [esp + 0xcc], xmm2
mov edx, dword [esp + 0x1c]
movsd qword [esp + 0xc4], xmm1
movsd xmm1, qword [esp + 0x108]
movsd qword [esp + 0xd4], xmm1
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], ecx
mov ecx, dword [esp]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0x8c]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 4
mov dword [esp + 0x94], 0
call fcn.004465d0
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 4]
xor edi, edi
mov ebp, dword [esp + 0x26c]
mov dword [esi], 0x80000000
lea eax, [ecx + 0x40]
mov dword [esp + 0x94], 1
movzx edx, byte [ecx + 0x3c]
xor dl, 1
and dl, byte [ecx + 0x8c]
mov ecx, 0x24
cmovne edi, eax
mov byte [esp + 8], dl
mov dword [esp + 0x54], edi
mov edi, dword [ebp + 0x20]
mov eax, edi
mul ecx
jo 0x46052f
mov ebx, eax
cmp eax, 0x7ffffffd
jae 0x46052f
test ebx, ebx
je 0x45f9d7
movzx eax, byte [0x77618d]
xor ecx, ecx
mov edx, ebx
call fcn.00490be0
test eax, eax
mov ecx, edi
jne 0x45f9de
jmp 0x46052f
mov eax, 4
xor ecx, ecx
test edi, edi
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x6c], 0
je 0x45fa65
movzx eax, byte [0x77618d]
lea edx, [edi*4]
xor ecx, ecx
call fcn.00490be0
test eax, eax
je 0x46052f
mov dword [esp + 0x58], edi
mov edi, dword [ebp + 0x1c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x60], 0
mov eax, 0x7fffffff
mov ecx, 0x11
mov edx, dword [esp + 0x10]
mov dword [esp + 0x40], 1
mov dword [esp + 0x1c], 0
mov dword [esp], 0
add eax, dword [edi]
lea ebp, [edi + 0x24]
cmp eax, 0x14
cmovb ecx, eax
mov eax, dword [ecx*4 + 0x4609ac]
add eax, edx
jmp eax
mov edi, dword [esp + 0x14]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 2
mov dword [esp + 0x60], 0
mov dword [esp], 0
mov edx, 1
mov ebx, 1
jmp 0x45faae
lea eax, [ebx - 1]
lea ecx, [eax + eax*8]
cmp dword [esi + ecx*4], 0x8000000a
cmove ebx, eax
cmp edx, ebx
jae 0x45fad4
jmp 0x46052f
mov ecx, dword [esp]
mov eax, edx
mov esi, dword [esp + 0x64]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x14], edi
sub eax, ebx
mov dword [esp + 0xc], eax
lea eax, [ecx + ecx*8]
mov dword [esp + 0x54], esi
lea eax, [edi + eax*4]
mov dword [esp + 0x30], eax
jne 0x45fba0
mov eax, dword [esp + 0x8c]
sub eax, edx
cmp ecx, eax
ja 0x46046c
test ecx, ecx
mov ebx, edi
mov ebp, edx
je 0x45fb86
mov eax, dword [esp + 0x90]
mov ebp, edx
mov dword [esp + 8], edx
lea ecx, [ebp + ebp*8]
xor edx, edx
lea eax, [eax + ecx*4]
mov ecx, dword [esp]
shl ecx, 2
lea ecx, [ecx + ecx*8]
nop
movq xmm0, qword [edi + edx]
movsd xmm1, qword [edi + edx + 8]
movsd xmm2, qword [edi + edx + 0x10]
movsd xmm3, qword [edi + edx + 0x18]
mov esi, dword [edi + edx + 0x20]
inc ebp
mov dword [eax + edx + 0x20], esi
movsd qword [eax + edx + 0x18], xmm3
movsd qword [eax + edx + 0x10], xmm2
movsd qword [eax + edx + 8], xmm1
movq qword [eax + edx], xmm0
add edx, 0x24
cmp ecx, edx
jne 0x45fb40
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 8]
mov dword [esp + 0x94], ebp
mov ecx, edx
mov eax, dword [esp + 0x40]
cmp edx, eax
jne 0x45ff9a
jmp 0x45ffd4
test ecx, ecx
mov dword [esp + 8], edx
je 0x45fd52
mov eax, dword [esp + 0x8c]
sub eax, edx
cmp eax, ecx
jb 0x4604dd
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x90]
mov ebp, eax
lea ebx, [ecx*4]
add ecx, eax
lea eax, [eax + eax*8]
mov dword [esp], ecx
lea eax, [edi + eax*4]
mov ecx, dword [esp]
lea ecx, [ecx + ecx*8]
lea esi, [edi + ecx*4]
mov ecx, dword [esp + 0xc]
lea ecx, [ecx*4]
lea ecx, [ecx + ecx*8]
push ecx
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [esp + 0xc]
add esp, 0xc
cmp ebp, ecx
jne 0x45fd79
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
lea edx, [ebx + ebx*8]
cmp edx, 0x7ffffffd
jae 0x46052f
mov ebx, dword [esp + 0x30]
cmp ebx, edi
je 0x45fd68
mov dword [esp + 0x20], edi
mov dword [esp], ecx
xor ecx, ecx
xor edi, edi
movzx eax, byte [0x77618d]
call fcn.00490be0
test eax, eax
mov dword [esp + 0x18], eax
je 0x46052f
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov eax, 0xffffffff
nop dword [eax]
mov esi, eax
movq xmm0, qword [ebx + edi]
movsd xmm1, qword [ebx + edi + 8]
movsd xmm2, qword [ebx + edi + 0x10]
movsd xmm3, qword [ebx + edi + 0x18]
mov eax, dword [ebx + edi + 0x20]
lea ecx, [ebx + edi + 0x24]
mov dword [edx + edi + 0x20], eax
movsd qword [edx + edi + 0x18], xmm3
movsd qword [edx + edi + 0x10], xmm2
movsd qword [edx + edi + 8], xmm1
movq qword [edx + edi], xmm0
add edi, 0x24
cmp ecx, dword [esp + 0x30]
lea eax, [esi + 1]
jne 0x45fc60
mov ebx, dword [esp]
mov ecx, dword [esp + 0xc]
add esi, 2
lea edx, [ebx + ecx]
mov ecx, dword [esp + 0x8c]
sub ecx, edx
cmp ecx, eax
jbe 0x46050f
mov edx, dword [esp + 0x90]
mov eax, ebx
add ebx, esi
lea eax, [eax + eax*8]
lea ecx, [ebx + ebx*8]
lea eax, [edx + eax*4]
mov dword [esp], edx
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xc]
lea ecx, [ecx*4]
lea ecx, [ecx + ecx*8]
push ecx
push eax
mov dword [esp + 0xe8], edx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
cmp ebp, ebx
mov dword [esp + 0x70], ebx
jne 0x45fe58
mov ecx, dword [esp + 0x18]
mov ebx, ecx
lea eax, [esi + esi*8]
lea eax, [ecx + eax*4]
cmp eax, ebx
je 0x45ff39
mov eax, ecx
mov ecx, 0x38e38e39
mov esi, dword [esp + 0x20]
sub eax, ebx
add eax, edi
mul ecx
mov edi, edx
shr edi, 3
nop word cs:[eax + eax]
mov ecx, ebx
call fcn.004419c0
add ebx, 0x24
dec edi
jne 0x45fd40
jmp 0x45ff6b
mov eax, dword [esp + 0x40]
xor edx, edx
mov ecx, eax
mov ebp, eax
mov ebx, dword [esp + 0x30]
cmp ebx, edi
jne 0x45fc2d
mov edx, dword [esp + 8]
cmp edx, eax
jne 0x45ff9a
jmp 0x45ffd4
lea ecx, [ebx + ebx*8]
mov ebx, dword [esp + 0x14]
lea eax, [ebp + ebp*8]
lea eax, [edi + eax*4]
nop word [eax + eax]
test ecx, ecx
je 0x45ff4b
mov edx, dword [ebx]
cmp edx, 0x80000015
je 0x45ff51
movsd xmm0, qword [ebx + 0x1c]
lea edi, [ebx + 0x24]
add ecx, 0xffffffdc
movsd qword [esp + 0x108], xmm0
movsd xmm0, qword [ebx + 0x14]
movsd qword [esp + 0x100], xmm0
movsd xmm0, qword [ebx + 4]
movsd xmm1, qword [ebx + 0xc]
mov ebx, edi
movsd qword [esp + 0xf8], xmm1
movsd qword [esp + 0xf0], xmm0
mov dword [eax], edx
movsd xmm0, qword [esp + 0xf0]
movsd xmm1, qword [esp + 0xf8]
movsd qword [eax + 4], xmm0
movsd qword [eax + 0xc], xmm1
movsd xmm0, qword [esp + 0x100]
movsd qword [eax + 0x14], xmm0
movq xmm0, qword [esp + 0x108]
movq qword [eax + 0x1c], xmm0
add eax, 0x24
mov ebp, dword [esp + 0x94]
inc ebp
cmp eax, esi
mov dword [esp + 0x94], ebp
jne 0x45fd90
mov edx, dword [esp + 0x30]
mov ecx, dword [esp]
mov eax, dword [esp + 0x40]
sub edx, edi
cmp edx, 0x7ffffffd
jb 0x45fc21
jmp 0x46052f
mov ecx, dword [esp]
mov edx, dword [esp + 0x18]
lea eax, [ebp + ebp*8]
lea eax, [ecx + eax*4]
lea ecx, [edx + 0x24]
mov dword [esp], ecx
mov ecx, edi
nop
mov ebx, dword [esp]
test ecx, ecx
je 0x45ff60
mov dword [esp + 0x1c], ecx
mov ecx, dword [edx]
cmp ecx, 0x80000015
je 0x45ff20
movsd xmm0, qword [edx + 0x1c]
inc ebp
movsd qword [esp + 0x108], xmm0
movsd xmm0, qword [edx + 0x14]
movsd qword [esp + 0x100], xmm0
movsd xmm0, qword [edx + 4]
movsd xmm1, qword [edx + 0xc]
add edx, 0x24
movsd qword [esp + 0xf8], xmm1
movsd qword [esp + 0xf0], xmm0
mov dword [eax], ecx
lea ecx, [ebx + 0x24]
movsd xmm0, qword [esp + 0xf0]
movsd xmm1, qword [esp + 0xf8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x1c]
movsd qword [eax + 4], xmm0
movsd qword [eax + 0xc], xmm1
add ecx, 0xffffffdc
movsd xmm0, qword [esp + 0x100]
movsd qword [eax + 0x14], xmm0
movq xmm0, qword [esp + 0x108]
movq qword [eax + 0x1c], xmm0
add eax, 0x24
cmp eax, dword [esp + 0xe0]
jne 0x45fe70
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x94], ebp
lea eax, [esi + esi*8]
lea eax, [ecx + eax*4]
cmp eax, ebx
jne 0x45fd20
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x40]
cmp esi, ebx
jne 0x45ff7b
jmp 0x45ff8e
mov ebx, dword [esp + 0x30]
jmp 0x45ff54
add ebx, 0x24
mov ecx, dword [esp]
mov edx, dword [esp + 8]
jmp 0x45fb8f
mov esi, dword [esp + 0x20]
mov dword [esp + 0x94], ebp
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x40]
cmp esi, ebx
je 0x45ff8e
push ecx
push 0
push dword [0x776180]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, esi
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 8]
cmp edx, eax
je 0x45ffd4
mov esi, dword [esp + 0xc]
cmp ecx, ebp
je 0x45ffcb
mov eax, dword [esp + 0x90]
lea ecx, [ecx + ecx*8]
lea edx, [ebp + ebp*8]
lea ecx, [eax + ecx*4]
lea eax, [eax + edx*4]
lea edx, [esi*4]
lea edx, [edx + edx*8]
push edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
add ebp, esi
mov dword [esp + 0x94], ebp
mov esi, dword [esp + 0x30]
mov ecx, 0x38e38e39
mov eax, esi
sub eax, ebx
mul ecx
cmp esi, ebx
je 0x45fffd
mov edi, edx
shr edi, 3
nop dword [eax]
mov ecx, ebx
call fcn.004419c0
add ebx, 0x24
dec edi
jne 0x45fff0
cmp dword [esp + 0x54], 0
je 0x460016
push dword [esp + 0x14]
push 0
push dword [0x776180]
call dword [sym.imp.KERNEL32.dll_HeapFree]
test ebp, ebp
je 0x460070
mov edi, dword [esp + 0x90]
movzx eax, byte [0x77618d]
lea edx, [ebp*4]
xor ecx, ecx
xor ebx, ebx
call fcn.00490be0
test eax, eax
je 0x46052f
mov esi, eax
add edi, 0x10
mov eax, 0x7fffffff
mov ecx, 0x11
mov edx, 0xb
add eax, dword [edi - 0x10]
movd xmm0, edx
mov edx, dword [esp + 0x10]
cmp eax, 0x14
cmovb ecx, eax
mov ecx, dword [ecx*4 + 0x460ad0]
add ecx, edx
jmp ecx
mov esi, 2
mov ebx, dword [esp + 4]
cmp dword [ebx + 0x1c], 0
je 0x460090
push dword [ebx + 0x20]
push 0
push dword [0x776180]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x274]
mov dword [ebx + 0x1c], ebp
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], ebp
mov edx, dword [eax + 8]
test edx, edx
je 0x460164
lea eax, [esp + 0xf0]
lea esi, [esp + 0x74]
mov ecx, 0x1b
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov byte [esp + 0x15c], 1
lea ecx, [esp + 0x1dc]
push eax
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.00460ce0
add esp, 0xc
mov edi, dword [ebx + 0x60]
lea esi, [ebx + 0x60]
test edi, edi
je 0x460118
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x64]
mov eax, dword [ebx]
test eax, eax
je 0x4600fa
push edi
call eax
add esp, 4
cmp dword [ebx + 4], 0
je 0x460118
cmp dword [ebx + 8], 9
jb 0x460109
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x776180]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x1e4]
movq xmm0, qword [esp + 0x1dc]
mov dword [esi + 8], eax
mov eax, dword [esp + 0xf0]
movq qword [esi], xmm0
cmp eax, 0x80000016
setge cl
cmp eax, 0x80000001
sete al
or al, cl
je 0x46052f
lea edi, [esp + 0x74]
lea esi, [esp + 0xf0]
mov ecx, 0x1b
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [esp + 4]
lea eax, [esp + 0x58]
lea ecx, [esp + 0x74]
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 1
mov dword [esp + 0xf8], 0
lea edx, [esp + 0xf0]
push eax
call fcn.00442d80
add esp, 4
mov eax, dword [esp + 0xf8]
movzx edx, byte [ebx + 0x8e]
mov ecx, 0
movq xmm0, qword [esp + 0xf0]
mov dword [esp + 0x2c], eax
xor eax, eax
cmp dl, 1
movq qword [esp + 0x24], xmm0
sbb ecx, ecx
or cl, dl
cmp byte [ebx + 0x3c], 0
je 0x4601da
movzx eax, cl
add eax, 9
jmp 0x4601e6
sub cl, byte [ebx + 0x48]
movzx ecx, cl
cmovb ecx, eax
movzx eax, cl
mov ebx, dword [esp + 0x2c]
mov edi, 1
lea ebp, [eax + ebx - 1]
and ebp, 0x1f
mov esi, ebp
xor esi, 0x1f
cmp ebp, 0x1f
je 0x460216
mov ecx, 8
mov edx, esi
call fcn.00490be0
test eax, eax
je 0x46052f
mov edi, eax
mov eax, dword [esp + 0x24]
sub eax, ebx
cmp eax, esi
jb 0x460450
mov eax, dword [esp + 0x28]
add eax, ebx
push esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, ebx
cmp ebp, 0x1f
mov dword [esp + 0x2c], esi
je 0x46024f
push edi
push 0
push dword [0x776180]
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
cmp dword [esp + 0x270], 0
lea ebx, [esp + 0xf0]
lea esi, [esp + 0x74]
mov ecx, 0x1b
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 1
mov byte [esp + 0x15c], 1
mov dword [esp + 0xec], 0
setne al
lea ebp, [eax + eax + 2]
sub esp, 4
lea edx, [esp + 0xe8]
mov ecx, ebx
push 0x80000000
call fcn.0044ddb0
add esp, 8
mov eax, dword [esp + 0xec]
movsd xmm0, qword [esp + 0xe4]
lea edi, [esp + 0x1e8]
mov ecx, 0x1c
mov esi, ebx
mov dword [esp + 0x1e4], eax
movsd qword [esp + 0x1dc], xmm0
mov eax, 1
rep movsd dword es:[edi], dword [esi]
mov word [esp + 0x16c], bp
lea edi, [esp + 0xf0]
lea esi, [esp + 0x1dc]
mov ecx, 0x1f
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [esp + 0xf0]
lea ecx, [ebx + 0x7fffffff]
cmp ecx, 5
cmovb eax, ecx
cmp eax, 2
je 0x46039d
cmp eax, 1
jne 0x4603fd
mov ecx, dword [esp + 4]
mov ebp, dword [esp + 0xf8]
mov edx, dword [esp + 0xf4]
mov eax, dword [ecx]
mov esi, dword [ecx + 8]
sub eax, esi
cmp eax, ebp
jb 0x460499
mov edi, dword [esp + 4]
mov dword [esp + 0x10], edx
mov eax, dword [edi + 4]
add eax, esi
push ebp
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esp + 0x24]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x2c]
add esi, ebp
mov ebp, dword [esp + 0x10]
mov dword [edi + 8], esi
movsd qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0xfc]
call fcn.0044e4f0
test ebx, 0x7fffffff
je 0x460445
jmp 0x460436
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0xfc]
mov edx, dword [esp + 0xf8]
mov eax, dword [ecx]
mov esi, dword [ecx + 8]
sub eax, esi
cmp eax, ebx
jb 0x4604bc
mov edi, dword [esp + 4]
mov eax, dword [edi + 4]
add eax, esi
push ebx
push edx
push eax
mov ebp, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, ebx
test dword [esp + 0xf4], 0x7fffffff
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x50]
movsd xmm0, qword [esp + 0x24]
mov dword [edi + 8], esi
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
je 0x460445
jmp 0x460436
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x50]
movsd xmm0, qword [esp + 0x24]
cmp ebx, 0x80000001
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
je 0x460445
cmp ebx, 0x80000004
je 0x460445
test dword [esp + 0xf4], 0x7fffffff
je 0x460445
mov ebp, dword [esp + 0xf8]
push ebp
push 0
push dword [0x776180]
call dword [sym.imp.KERNEL32.dll_HeapFree]
add esp, 0x258
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0x24]
mov edx, ebx
push 1
push 1
push esi
call fcn.004e4f80
add esp, 0xc
mov ebx, dword [esp + 0x2c]
jmp 0x460224
mov eax, ecx
lea ecx, [esp + 0x8c]
mov dword [esp + 8], edx
push 0x24
push 4
push eax
call fcn.004e4f80
add esp, 0xc
mov eax, dword [esp + 0x90]
mov ebp, dword [esp + 0x94]
jmp 0x45fb2c
mov ecx, dword [esp + 4]
mov edi, edx
mov edx, esi
push 1
push 1
push ebp
call fcn.004e4f80
mov edx, edi
add esp, 0xc
mov eax, dword [esp + 4]
mov esi, dword [eax + 8]
jmp 0x46034a
mov ebp, dword [esp + 4]
mov edi, edx
mov edx, esi
mov ecx, ebp
push 1
push 1
push ebx
call fcn.004e4f80
mov edx, edi
add esp, 0xc
mov esi, dword [ebp + 8]
jmp 0x4603be
lea ecx, [esp + 0x8c]
push 0x24
push 4
push dword [esp + 8]
call fcn.004e4f80
mov ecx, dword [esp + 0xc]
add esp, 0xc
mov edi, dword [esp + 0x90]
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0x40]
jmp 0x45fbca
lea ecx, [esp + 0x8c]
push 0x24
push 4
push esi
call fcn.004e4f80
add esp, 0xc
mov ebp, dword [esp + 0x94]
jmp 0x45fcc6
ud2