Function at 0x46a3d0
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 0x46a3ec
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 0x46a7f2
mov esi, dword [ebp + 0x10]
test edi, edi
mov dword [esp + 0xc], ecx
je 0x46a478
movzx eax, byte [0x90320d]
xor ecx, ecx
mov edx, edi
call fcn.0049d570
mov ecx, dword [esp]
test eax, eax
mov dword [esp + 0x30], ecx
jne 0x46a485
jmp 0x46a7f2
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 0x46a59e
movzx edi, word [esi]
add esi, 4
add eax, 0xfffffffc
cmp di, 3
je 0x46a4f0
movzx ebx, word [esi - 2]
movzx eax, byte [0x90320d]
xor ecx, ecx
mov edx, 0x10
call fcn.0049d570
test eax, eax
je 0x46a7f2
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 word cs:[eax + eax]
cmp esi, ebp
je 0x46a5a9
movzx ebx, word [esi]
add esi, 4
cmp bx, 3
je 0x46a550
movzx ecx, word [esi - 2]
cmp edi, dword [esp + 0x74]
je 0x46a57a
mov word [eax + edi*4], bx
mov word [eax + edi*4 + 2], cx
inc edi
mov dword [esp + 0x7c], edi
jmp 0x46a550
mov word [esp + 0x10], cx
lea ecx, [esp + 0x74]
mov edx, edi
push 4
push 2
push 1
call fcn.004f0af0
movzx ecx, word [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x78]
jmp 0x46a56a
mov eax, 2
xor edi, edi
xor ecx, ecx
jmp 0x46a5b1
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.00451c80
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 0x46a7f2
mov ebx, eax
cmp eax, 0x7ffffffd
jae 0x46a7f2
test ebx, ebx
je 0x46a735
movzx eax, byte [0x90320d]
xor ecx, ecx
mov edx, ebx
call fcn.0049d570
test eax, eax
mov ecx, edi
jne 0x46a73c
jmp 0x46a7f2
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 0x46a7c3
movzx eax, byte [0x90320d]
lea edx, [edi*4]
xor ecx, ecx
call fcn.0049d570
test eax, eax
je 0x46a7f2
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, 0x13
mov edx, dword [esp + 0xc]
mov dword [esp + 0x40], 1
mov dword [esp + 0x1c], 0
mov dword [esp], 0
add eax, dword [edi]
lea ebp, [edi + 0x24]
cmp eax, 0x16
cmovb ecx, eax
mov eax, dword [ecx*4 + 0x46b6e4]
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 0x46a80e
ud2
lea eax, [ebx - 1]
lea ecx, [eax + eax*8]
cmp dword [esi + ecx*4], 0x8000000a
cmove ebx, eax
cmp edx, ebx
jae 0x46a831
jmp 0x46a7f2
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 + 0x10], eax
lea eax, [ecx + ecx*8]
mov dword [esp + 0x54], esi
lea eax, [edi + eax*4]
mov dword [esp + 0x30], eax
jne 0x46a900
mov eax, dword [esp + 0x8c]
sub eax, edx
cmp ecx, eax
ja 0x46b1da
test ecx, ecx
mov ebx, edi
mov ebp, edx
je 0x46a8e6
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 dword [eax + eax]
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 0x46a8a0
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 0x46acff
jmp 0x46ad39
test ecx, ecx
mov dword [esp + 8], edx
je 0x46a97e
mov eax, dword [esp + 0x8c]
sub eax, edx
cmp eax, ecx
jb 0x46b24b
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 + 0x10]
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 0x46a9a5
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
lea edx, [ebx + ebx*8]
cmp edx, 0x7ffffffd
jb 0x46aa83
jmp 0x46a7f2
mov eax, dword [esp + 0x40]
xor edx, edx
mov ecx, eax
mov ebp, eax
mov ebx, dword [esp + 0x30]
cmp ebx, edi
jne 0x46aa8f
mov edx, dword [esp + 8]
cmp edx, eax
jne 0x46acff
jmp 0x46ad39
lea ecx, [ebx + ebx*8]
mov ebx, dword [esp + 0x14]
lea eax, [ebp + ebp*8]
lea eax, [edi + eax*4]
nop word cs:[eax + eax]
nop dword [eax]
test ecx, ecx
je 0x46acab
mov edx, dword [ebx]
cmp edx, 0x80000017
je 0x46acb1
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 0x46a9c0
mov edx, dword [esp + 0x30]
mov ecx, dword [esp]
mov eax, dword [esp + 0x40]
sub edx, edi
cmp edx, 0x7ffffffd
jae 0x46a7f2
mov ebx, dword [esp + 0x30]
cmp ebx, edi
je 0x46a994
mov dword [esp + 0x20], edi
mov dword [esp], ecx
xor ecx, ecx
xor edi, edi
movzx eax, byte [0x90320d]
call fcn.0049d570
test eax, eax
mov dword [esp + 0x18], eax
je 0x46a7f2
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov eax, 0xffffffff
nop
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 0x46aac0
mov ebx, dword [esp]
mov ecx, dword [esp + 0x10]
add esi, 2
lea edx, [ebx + ecx]
mov ecx, dword [esp + 0x8c]
sub ecx, edx
cmp ecx, eax
jbe 0x46b27d
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 + 0x10]
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 0x46abb2
mov ecx, dword [esp + 0x18]
mov ebx, ecx
lea eax, [esi + esi*8]
lea eax, [ecx + eax*4]
cmp eax, ebx
je 0x46ac99
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]
nop dword [eax]
mov ecx, ebx
call fcn.0044bd80
add ebx, 0x24
dec edi
jne 0x46aba0
jmp 0x46acd0
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 dword [eax + eax]
mov ebx, dword [esp]
test ecx, ecx
je 0x46acc5
mov dword [esp + 0x1c], ecx
mov ecx, dword [edx]
cmp ecx, 0x80000017
je 0x46ac80
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 0x46abd0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x94], ebp
lea eax, [esi + esi*8]
lea eax, [ecx + eax*4]
cmp eax, ebx
jne 0x46ab7c
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x40]
cmp esi, ebx
jne 0x46ace0
jmp 0x46acf3
mov ebx, dword [esp + 0x30]
jmp 0x46acb4
add ebx, 0x24
mov ecx, dword [esp]
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x40]
cmp edx, eax
jne 0x46acff
jmp 0x46ad39
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 0x46acf3
push ecx
push 0
push dword [0x903200]
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 0x46ad39
mov esi, dword [esp + 0x10]
cmp ecx, ebp
je 0x46ad30
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 0x46ad6d
mov edi, edx
shr edi, 3
nop word cs:[eax + eax]
nop dword [eax + eax]
mov ecx, ebx
call fcn.0044bd80
add ebx, 0x24
dec edi
jne 0x46ad60
cmp dword [esp + 0x54], 0
je 0x46ad86
push dword [esp + 0x14]
push 0
push dword [0x903200]
call dword [sym.imp.kernel32.dll_HeapFree]
test ebp, ebp
je 0x46adde
mov edi, dword [esp + 0x90]
movzx eax, byte [0x90320d]
lea edx, [ebp*4]
xor ecx, ecx
xor ebx, ebx
call fcn.0049d570
test eax, eax
je 0x46a7f2
add edi, 0x10
mov ecx, 0x7fffffff
mov esi, eax
mov eax, 0x13
mov edx, 0xb
add ecx, dword [edi - 0x10]
movd xmm0, edx
cmp ecx, 0x16
cmovae ecx, eax
mov ecx, dword [ecx*4 + 0x46b820]
add ecx, dword [esp + 0xc]
jmp ecx
mov esi, 2
mov ebx, dword [esp + 4]
cmp dword [ebx + 0x1c], 0
je 0x46adfe
push dword [ebx + 0x20]
push 0
push dword [0x903200]
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 0x46aed2
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.0046ba40
add esp, 0xc
mov edi, dword [ebx + 0x60]
lea esi, [ebx + 0x60]
test edi, edi
je 0x46ae86
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x64]
mov eax, dword [ebx]
test eax, eax
je 0x46ae68
push edi
call eax
add esp, 4
cmp dword [ebx + 4], 0
je 0x46ae86
cmp dword [ebx + 8], 9
jb 0x46ae77
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x903200]
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 0x46a7f2
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.0044de10
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 0x46af48
movzx eax, cl
add eax, 9
jmp 0x46af54
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 0x46af84
mov ecx, 8
mov edx, esi
call fcn.0049d570
test eax, eax
je 0x46a7f2
mov edi, eax
mov eax, dword [esp + 0x24]
sub eax, ebx
cmp eax, esi
jb 0x46b1be
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 0x46afbd
push edi
push 0
push dword [0x903200]
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.00458250
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 0x46b10b
cmp eax, 1
jne 0x46b16b
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 0x46b207
mov edi, dword [esp + 4]
mov dword [esp + 0xc], 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 + 0xc]
mov dword [edi + 8], esi
movsd qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0xfc]
call fcn.00458990
test ebx, 0x7fffffff
je 0x46b1b3
jmp 0x46b1a4
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 0x46b22a
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 0x46b1b3
jmp 0x46b1a4
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 0x46b1b3
cmp ebx, 0x80000004
je 0x46b1b3
test dword [esp + 0xf4], 0x7fffffff
je 0x46b1b3
mov ebp, dword [esp + 0xf8]
push ebp
push 0
push dword [0x903200]
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.004f0af0
add esp, 0xc
mov ebx, dword [esp + 0x2c]
jmp 0x46af92
mov eax, ecx
lea ecx, [esp + 0x8c]
mov dword [esp + 8], edx
push 0x24
push 4
push eax
call fcn.004f0af0
add esp, 0xc
mov eax, dword [esp + 0x90]
mov ebp, dword [esp + 0x94]
jmp 0x46a889
mov ecx, dword [esp + 4]
mov edi, edx
mov edx, esi
push 1
push 1
push ebp
call fcn.004f0af0
mov edx, edi
add esp, 0xc
mov eax, dword [esp + 4]
mov esi, dword [eax + 8]
jmp 0x46b0b8
mov ebp, dword [esp + 4]
mov edi, edx
mov edx, esi
mov ecx, ebp
push 1
push 1
push ebx
call fcn.004f0af0
mov edx, edi
add esp, 0xc
mov esi, dword [ebp + 8]
jmp 0x46b12c
lea ecx, [esp + 0x8c]
push 0x24
push 4
push dword [esp + 8]
call fcn.004f0af0
mov ecx, dword [esp + 0xc]
add esp, 0xc
mov edi, dword [esp + 0x90]
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0x40]
jmp 0x46a926
lea ecx, [esp + 0x8c]
push 0x24
push 4
push esi
call fcn.004f0af0
add esp, 0xc
mov ebp, dword [esp + 0x94]
jmp 0x46ab26