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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc0
mov esi, dword [edx + 0xc]
mov eax, dword [ebp + 8]
mov edi, ecx
add eax, esi
mov dword [esp + 0x90], esi
jae 0x45b67b
xor esi, esi
inc esi
push esi
call fcn.00421da0
add esp, 4
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov dword [edi], esi
jmp 0x45c13c
mov esi, dword [edx]
mov dword [esp + 0x24], edi
mov dword [esp + 0x3c], edx
lea edi, [esi + 1]
mov dword [esp + 0x44], esi
mov ecx, edi
mov dword [esp + 0x2c], edi
shr ecx, 3
lea ebx, [ecx*8]
sub ebx, ecx
cmp esi, 8
cmovb ebx, esi
mov esi, dword [ebp + 0xc]
mov ecx, ebx
shr ecx, 1
cmp eax, ecx
jbe 0x45b6da
inc ebx
cmp eax, ebx
cmova ebx, eax
test ebx, ebx
je 0x45bc92
cmp ebx, 8
jae 0x45c0dc
xor eax, eax
cmp ebx, 3
seta al
lea esi, [eax*4 + 4]
jmp 0x45c106
mov dword [esp + 0x98], ebx
mov ebx, dword [edx + 4]
movdqa xmm0, xmmword [0x464340]
xor eax, eax
xor edx, edx
test dl, 1
je 0x45b704
lea ecx, [eax + 0xf]
add eax, 0xf
jb 0x45b727
cmp eax, edi
jae 0x45b727
inc ecx
jmp 0x45b70f
cmp eax, edi
mov ecx, eax
adc ecx, 0
cmp eax, edi
jae 0x45b727
pxor xmm1, xmm1
mov dl, 1
pcmpgtb xmm1, xmmword [ebx + eax]
por xmm1, xmm0
movdqa xmmword [ebx + eax], xmm1
mov eax, ecx
jmp 0x45b6f0
cmp edi, 0x10
jae 0x45b762
lea eax, [ebx + 0x10]
push edi
push ebx
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
test edi, edi
jne 0x45b776
mov ecx, dword [esp + 0x98]
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
sub ecx, dword [esp + 0x90]
mov dword [edi], 0
mov dword [eax + 8], ecx
jmp 0x45c13c
movq xmm0, qword [ebx]
movq xmm1, qword [ebx + 8]
movq qword [ebx + edi + 8], xmm1
movq qword [ebx + edi], xmm0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov edx, dword [esi]
mov esi, dword [esi + 0xc]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ecx
mov ecx, eax
mov dword [esp + 0x40], eax
xor eax, 0x6c796765
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], esi
xor ecx, 0x736f6d65
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xb8], ecx
mov ecx, edx
xor edx, 0x6e657261
xor ecx, 0x70736575
mov dword [esp + 0xa4], edx
mov dword [esp + 0xb4], ecx
mov ecx, esi
xor esi, 0x74656462
xor ecx, 0x646f7261
xor eax, 0x79746573
mov dword [esp + 0xa0], esi
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x9c], eax
xor ecx, 0x6e646f6d
xor eax, eax
mov dword [esp + 0xac], ecx
inc eax
xor ecx, ecx
mov edx, ecx
mov ecx, eax
cmp byte [ebx + edx], 0x80
jne 0x45bc39
mov eax, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
neg eax
lea eax, [eax + eax*2]
lea edi, [ebx + eax*8 - 0x18]
mov dword [esp + 0x94], edi
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
lea esi, [esp + 0x50]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x7c], edx
xor edx, edx
mov dword [ecx + 8], edx
mov dword [ecx], edx
mov dword [ecx + 0xc], edx
mov dword [ecx + 4], edx
mov ecx, esi
mov edx, dword [edi]
push dword [edi + 8]
call fcn.00449420
add esp, 4
lea edx, [esp + 0x13]
mov byte [esp + 0x13], 0xff
mov ecx, esi
push 1
call fcn.00449420
add esp, 4
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x64]
shl edx, 0x18
mov dword [esp], eax
xor edi, esi
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x74]
or edx, dword [esp + 0x84]
mov dword [esp + 8], edx
xor ecx, edx
mov edx, dword [esp + 0x60]
add edx, eax
mov eax, dword [esp]
mov dword [esp + 0xc], edx
mov edx, dword [esp]
adc ebx, esi
mov dword [esp + 4], ebx
shld eax, esi, 0xd
shld esi, edx, 0xd
mov edx, dword [esp + 0xc]
xor esi, ebx
mov ebx, dword [esp + 0x6c]
xor eax, edx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x68]
add eax, edi
mov dword [esp], eax
mov eax, edi
adc ebx, ecx
shrd edi, ecx, 0x10
shld eax, ecx, 0x10
xor edi, ebx
xor eax, dword [esp]
add dword [esp + 4], eax
mov ecx, eax
adc edx, edi
shrd eax, edi, 0xb
shld ecx, edi, 0x15
xor eax, edx
xor ecx, dword [esp + 4]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x4c]
add dword [esp], eax
mov edi, eax
adc ebx, esi
shld edi, esi, 0x11
shrd eax, esi, 0xf
mov esi, edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x18], edi
xor eax, ebx
xor esi, dword [esp + 8]
xor ebx, 0xff
mov edi, dword [esp + 0x18]
mov dword [esp + 8], ebx
xor dword [esp + 4], edx
mov edx, ecx
xor edi, dword [esp]
add dword [esp + 4], edi
mov ebx, edi
adc esi, eax
shrd edi, eax, 0x13
shld ebx, eax, 0xd
mov eax, dword [esp + 0x48]
xor edi, esi
mov dword [esp + 0xc], esi
mov esi, dword [esp]
xor ebx, dword [esp + 4]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 8]
add edi, ecx
adc esi, eax
shld edx, eax, 0x10
shrd ecx, eax, 0x10
mov dword [esp + 8], edi
xor edx, edi
mov edi, dword [esp + 0xc]
xor ecx, esi
mov dword [esp], esi
mov esi, dword [esp + 4]
mov eax, edx
add edi, edx
adc esi, ecx
shld eax, ecx, 0x15
shrd edx, ecx, 0xb
mov ecx, edi
mov dword [esp + 0xc], edi
mov ecx, ebx
xor eax, edi
xor edx, esi
mov dword [esp + 4], esi
add dword [esp + 8], ebx
mov esi, dword [esp]
mov edi, dword [esp + 0x18]
adc esi, edi
shrd ebx, edi, 0xf
shld ecx, edi, 0x11
mov dword [esp], esi
xor ebx, esi
mov esi, dword [esp + 8]
xor ecx, esi
add dword [esp + 0xc], ecx
mov edi, ecx
adc dword [esp + 4], ebx
shrd ecx, ebx, 0x13
shld edi, ebx, 0xd
mov ebx, dword [esp + 0xc]
xor ecx, dword [esp + 4]
xor edi, ebx
add dword [esp], eax
adc esi, edx
mov dword [esp + 8], esi
mov esi, eax
shrd eax, edx, 0x10
shld esi, edx, 0x10
xor eax, dword [esp + 8]
xor esi, dword [esp]
add dword [esp + 4], esi
mov edx, esi
adc ebx, eax
shld edx, eax, 0x15
shrd esi, eax, 0xb
mov eax, dword [esp + 8]
xor esi, ebx
xor edx, dword [esp + 4]
add dword [esp], edi
mov dword [esp + 0xc], ebx
mov ebx, edi
adc eax, ecx
shld ebx, ecx, 0x11
shrd edi, ecx, 0xf
mov ecx, dword [esp + 4]
xor ebx, dword [esp]
xor edi, eax
mov dword [esp + 8], eax
add ecx, ebx
mov eax, ebx
adc dword [esp + 0xc], edi
shld eax, edi, 0xd
shrd ebx, edi, 0x13
mov edi, dword [esp]
xor eax, ecx
xor ebx, dword [esp + 0xc]
add dword [esp + 8], edx
mov ecx, edx
adc edi, esi
shrd edx, esi, 0x10
shld ecx, esi, 0x10
mov esi, dword [esp + 8]
xor edx, edi
xor ecx, esi
shld ecx, edx, 0x15
add esi, eax
adc edi, ebx
shrd ebx, eax, 0xf
mov eax, dword [esp + 0x14]
xor ebx, ecx
xor ebx, edi
mov edi, dword [esp + 0x44]
xor ebx, esi
mov edx, edi
and edx, ebx
movdqu xmm0, xmmword [eax + edx]
mov dword [esp + 4], edx
pmovmskb esi, xmm0
test si, si
jne 0x45bb36
mov edx, dword [esp + 4]
mov ecx, 0x10
add edx, ecx
add ecx, 0x10
and edx, edi
movdqu xmm0, xmmword [eax + edx]
pmovmskb esi, xmm0
test si, si
je 0x45bb21
bsf cx, si
movzx esi, cx
add esi, edx
and esi, edi
cmp byte [eax + esi], 0
jns 0x45bc04
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 4]
mov dword [esp], esi
mov eax, edx
sub esi, ecx
sub eax, ecx
xor esi, eax
and esi, edi
cmp esi, 0x10
jb 0x45bc1c
mov ecx, dword [esp]
mov esi, dword [esp + 0x14]
shr ebx, 0x19
mov al, byte [esi + ecx]
lea edx, [ecx - 0x10]
mov byte [esi + ecx], bl
and edx, edi
mov byte [edx + esi + 0x10], bl
mov ebx, esi
cmp al, 0xff
je 0x45bc4d
mov eax, dword [esp]
mov edi, dword [esp + 0x94]
neg eax
lea eax, [eax + eax*2]
movsd xmm0, qword [ebx + eax*8 - 8]
movsd qword [esp + 0x60], xmm0
movsd xmm0, qword [ebx + eax*8 - 0x18]
movsd xmm1, qword [ebx + eax*8 - 0x10]
movsd qword [esp + 0x58], xmm1
movsd qword [esp + 0x50], xmm0
movsd xmm0, qword [edi + 0x10]
movsd qword [ebx + eax*8 - 8], xmm0
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
movsd qword [ebx + eax*8 - 0x10], xmm1
movsd qword [ebx + eax*8 - 0x18], xmm0
movsd xmm0, qword [esp + 0x60]
movsd qword [edi + 0x10], xmm0
movq xmm0, qword [esp + 0x50]
movq xmm1, qword [esp + 0x58]
movq qword [edi + 8], xmm1
movq qword [edi], xmm0
jmp 0x45b836
mov ecx, dword [esp + 0x14]
movdqa xmm0, xmmword [ecx]
pmovmskb ecx, xmm0
bsf cx, cx
movzx esi, cx
jmp 0x45bb4b
mov ecx, dword [esp + 0x14]
lea eax, [edx - 0x10]
shr ebx, 0x19
and eax, edi
mov byte [ecx + edx], bl
mov byte [eax + ecx + 0x10], bl
mov ebx, ecx
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
cmp ecx, edi
mov eax, ecx
adc eax, 0
cmp ecx, edi
jb 0x45b80e
jmp 0x45b73e
mov eax, dword [esp + 0x34]
mov dl, 0xff
mov ecx, dword [esp + 0x94]
mov byte [ebx + eax], dl
add eax, 0xfffffff0
and eax, dword [esp + 0x44]
mov byte [eax + ebx + 0x10], dl
mov eax, dword [esp]
movsd xmm0, qword [ecx + 0x10]
neg eax
lea eax, [eax + eax*2]
movsd qword [ebx + eax*8 - 8], xmm0
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
movq qword [ebx + eax*8 - 0x10], xmm1
movq qword [ebx + eax*8 - 0x18], xmm0
jmp 0x45bc31
call fcn.00421de0
mov dword [esp + 0x20], eax
xor ebx, ebx
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], ebx
mov ecx, dword [eax + 4]
movdqa xmm0, xmmword [ecx]
lea edx, [ecx + edi]
mov dword [esp + 0x14], ecx
lea esi, [ecx + 0x10]
mov dword [esp + 0x40], edx
pmovmskb edi, xmm0
not edi
mov ecx, edi
mov edi, dword [esp + 0x24]
test cx, cx
je 0x45bcdd
mov dword [esp + 0x18], ecx
mov dword [esp + 0x38], esi
jmp 0x45bd0e
mov ecx, dword [esp + 0x14]
cmp esi, edx
jae 0x45c084
movdqa xmm0, xmmword [esi]
add ecx, 0xfffffe80
add esi, 0x10
pmovmskb ebx, xmm0
cmp bx, 0xffff
je 0x45bce1
not ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov esi, dword [esi + 0xc]
mov edi, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], esi
xor eax, 0x6e657261
xor edi, 0x70736575
mov dword [esp + 0x60], edi
mov edi, ecx
xor ecx, 0x6c796765
xor edi, 0x736f6d65
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], eax
mov eax, edx
mov dword [esp + 0x6c], ecx
xor edx, 0x79746573
xor eax, 0x6e646f6d
mov dword [esp + 0x70], eax
mov eax, esi
xor esi, 0x74656462
xor eax, 0x646f7261
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], edx
lea esi, [esp + 0x50]
lea ecx, [eax - 1]
bsf ax, ax
movzx eax, ax
mov dword [esp + 0x4c], ecx
xor ecx, ecx
neg eax
lea edi, [eax + eax*2]
lea eax, [esp + 0x80]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x14]
mov ecx, esi
mov dword [esp + 0x48], edi
mov edx, dword [eax + edi*8 - 0x18]
push dword [eax + edi*8 - 0x10]
call fcn.00449420
add esp, 4
mov ecx, esi
lea edx, [esp + 0x13]
mov byte [esp + 0x13], 0xff
push 1
call fcn.00449420
add esp, 4
mov eax, dword [esp + 0x88]
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x64]
shl eax, 0x18
xor ecx, edx
mov dword [esp + 0x34], edx
mov edx, ebx
or eax, dword [esp + 0x84]
mov dword [esp + 0xc], eax
xor edi, eax
mov eax, dword [esp + 0x60]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
adc esi, eax
shld edx, eax, 0xd
shld eax, ebx, 0xd
mov ebx, ecx
xor eax, esi
xor edx, dword [esp + 4]
mov dword [esp + 0x30], eax
mov eax, esi
mov esi, dword [esp + 0x68]
add esi, ecx
mov dword [esp], esi
mov esi, dword [esp + 0x6c]
adc esi, edi
shld ebx, edi, 0x10
shrd ecx, edi, 0x10
xor ebx, dword [esp]
xor ecx, esi
add eax, ebx
mov edi, ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 4]
adc eax, ecx
shld edi, ecx, 0x15
shrd ebx, ecx, 0xb
mov ecx, edx
mov dword [esp + 4], eax
xor ebx, eax
xor edi, dword [esp + 8]
add dword [esp], edx
mov eax, dword [esp + 0x30]
adc esi, eax
shld ecx, eax, 0x11
shrd edx, eax, 0xf
mov eax, dword [esp + 4]
xor ecx, dword [esp]
xor edx, esi
xor esi, 0xff
xor eax, dword [esp + 0xc]
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 8]
mov esi, dword [esp + 4]
xor eax, dword [esp + 0x34]
add eax, ecx
mov dword [esp + 8], eax
mov eax, ecx
adc esi, edx
shrd ecx, edx, 0x13
shld eax, edx, 0xd
mov dword [esp + 4], esi
xor ecx, esi
mov esi, dword [esp]
mov edx, edi
xor eax, dword [esp + 8]
add dword [esp + 0xc], edi
adc esi, ebx
shld edx, ebx, 0x10
shrd edi, ebx, 0x10
xor edx, dword [esp + 0xc]
xor edi, esi
mov dword [esp], esi
mov esi, dword [esp + 8]
add dword [esp + 4], edx
mov ebx, edx
adc esi, edi
shld ebx, edi, 0x15
shrd edx, edi, 0xb
mov edi, eax
mov dword [esp + 8], esi
xor edx, esi
xor ebx, dword [esp + 4]
add dword [esp + 0xc], eax
mov esi, dword [esp]
adc esi, ecx
shrd eax, ecx, 0xf
shld edi, ecx, 0x11
mov dword [esp], esi
xor eax, esi
mov esi, dword [esp + 0xc]
xor edi, esi
add dword [esp + 4], edi
mov ecx, edi
adc dword [esp + 8], eax
shrd edi, eax, 0x13
shld ecx, eax, 0xd
mov eax, dword [esp + 4]
xor edi, dword [esp + 8]
xor ecx, eax
add dword [esp], ebx
adc esi, edx
mov dword [esp + 0xc], esi
mov esi, ebx
shrd ebx, edx, 0x10
shld esi, edx, 0x10
xor ebx, dword [esp + 0xc]
xor esi, dword [esp]
add dword [esp + 8], esi
mov edx, esi
adc eax, ebx
shld edx, ebx, 0x15
shrd esi, ebx, 0xb
mov ebx, dword [esp + 0xc]
xor esi, eax
xor edx, dword [esp + 8]
add dword [esp], ecx
mov dword [esp + 4], eax
mov eax, ecx
adc ebx, edi
shld eax, edi, 0x11
shrd ecx, edi, 0xf
xor eax, dword [esp]
xor ecx, ebx
add dword [esp + 8], eax
mov edi, eax
adc dword [esp + 4], ecx
shld edi, ecx, 0xd
shrd eax, ecx, 0x13
mov ecx, edx
xor edi, dword [esp + 8]
xor eax, dword [esp + 4]
add ebx, edx
adc dword [esp], esi
shld ecx, esi, 0x10
shrd edx, esi, 0x10
mov esi, dword [esp]
xor ecx, ebx
xor edx, esi
shld ecx, edx, 0x15
add ebx, edi
adc esi, eax
shrd eax, edi, 0xf
mov edi, dword [esp + 0x20]
xor eax, ecx
xor eax, esi
xor eax, ebx
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
and ecx, eax
movdqu xmm0, xmmword [edi + ecx]
pmovmskb edx, xmm0
test dx, dx
jne 0x45c003
mov esi, 0x10
add ecx, esi
add esi, 0x10
and ecx, ebx
movdqu xmm0, xmmword [edi + ecx]
pmovmskb edx, xmm0
test dx, dx
je 0x45bfee
bsf dx, dx
mov esi, dword [esp + 0x4c]
movzx edx, dx
add edx, ecx
and edx, ebx
and esi, dword [esp + 0x18]
cmp byte [edi + edx], 0
jns 0x45c073
lea ecx, [edx - 0x10]
shr eax, 0x19
and ecx, ebx
mov byte [edi + edx], al
neg edx
mov byte [ecx + edi + 0x10], al
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
lea eax, [eax + ecx*8 - 0x18]
lea ecx, [edx + edx*2]
mov edx, dword [esp + 0x40]
movsd xmm0, qword [eax + 0x10]
movsd qword [edi + ecx*8 - 8], xmm0
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
mov eax, dword [esp + 0x3c]
movq qword [edi + ecx*8 - 0x10], xmm1
movq qword [edi + ecx*8 - 0x18], xmm0
mov ecx, esi
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x38]
jmp 0x45bcce
movdqa xmm0, xmmword [edi]
pmovmskb ecx, xmm0
bsf cx, cx
movzx edx, cx
jmp 0x45c01c
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov ecx, dword [eax + 4]
mov dword [edi], 0
sub esi, dword [esp + 0x90]
mov dword [eax], edx
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
mov esi, dword [esp + 0x44]
test esi, esi
je 0x45c13c
mov eax, dword [esp + 0x2c]
mov edx, 0x18
mul edx
add eax, 0xf
and eax, 0xfffffff0
add esi, eax
add esi, 0x11
je 0x45c13c
sub ecx, eax
push 0x10
push esi
push ecx
call fcn.00401290
add esp, 0xc
jmp 0x45c13c
mov ecx, 8
mov eax, ebx
mul ecx
jo 0x45c122
mov edx, 0x24924925
mov ecx, eax
mul edx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 2
dec ecx
bsr ecx, ecx
xor ecx, 0x1f
xor esi, esi
dec esi
shr esi, cl
inc esi
mov ecx, 0x18
mov eax, esi
mul ecx
jo 0x45c122
mov ecx, eax
lea ebx, [esi + 0x10]
add ecx, 0xf
and ecx, 0xfffffff0
mov edi, ecx
add edi, ebx
jae 0x45c146
push 1
call fcn.00421da0
add esp, 4
mov edi, dword [esp + 0x24]
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov dword [edi], 1
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test edi, edi
je 0x45c170
push 0x10
push edi
mov dword [esp + 0xc], ecx
call fcn.00401470
mov ecx, dword [esp + 0xc]
add esp, 8
test eax, eax
jne 0x45c175
push 0x10
push edi
push 1
call fcn.00421dc0
add esp, 0xc
jmp 0x45c12c
mov eax, 0x10
add eax, ecx
lea ecx, [esi - 1]
shr esi, 3
lea edx, [esi*8]
sub edx, esi
cmp ecx, 8
cmovb edx, ecx
mov dword [esp + 0x28], edx
push ebx
mov ebx, ecx
push 0xff
mov dword [esp + 0x28], eax
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov edi, dword [esp + 0x2c]
jmp 0x45bca5