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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x490ee0
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xe8
push esi
push edi
mov eax, dword [0x4b36c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x20], ecx
mov ecx, 0x4bb224
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x50], eax
call fcn.0048decd
mov esi, dword [0x4b3748]
mov dword [ebp - 0x54], esi
mov eax, dword [esi + 0x3e40]
mov byte [eax + 0xac], 1
mov edi, dword [esi + 0x3e40]
mov dword [ebp - 0x3c], edi
cmp byte [edi + 0xaf], 0
jne 0x4620ac
mov eax, dword [ebx + 0x14]
and eax, 0x3000000
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x70]
push eax
call fcn.00415140
movss xmm3, dword [0x492964]
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x461fe6
movss xmm2, dword [ebp - 0x6c]
maxss xmm2, xmm3
jmp 0x461fe9
xorps xmm2, xmm2
mov eax, dword [ebp - 0x20]
sub esp, 8
movss xmm1, dword [ebp - 0x70]
maxss xmm1, xmm3
movss xmm0, dword [eax]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [eax + 4]
lea eax, [ebp - 0x78]
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
movss dword [ebp - 0x34], xmm0
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push eax
call fcn.0040c9c0
movss xmm0, dword [edi + 0xf0]
add esp, 0x14
cmp dword [ebp - 0x44], 0
movss xmm2, dword [ebp - 0x78]
movss xmm1, dword [ebp - 0x74]
addss xmm2, xmm0
addss xmm1, dword [edi + 0xf4]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [edi + 0xf4]
movss dword [ebp - 0x64], xmm0
movss dword [ebp - 0x60], xmm2
movss dword [ebp - 0x5c], xmm1
je 0x4620c2
lea eax, [ebp - 0x68]
push 0
push eax
call fcn.0041a000
add esp, 8
test al, al
je 0x4620c2
movss xmm0, dword [ebp - 0x60]
lea eax, [ebp - 0x4c]
subss xmm0, dword [ebp - 0x68]
push ecx
mov dword [esp], 0xbf800000
push eax
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [ebp - 0x64]
movss dword [ebp - 0x48], xmm0
call fcn.0041b650
add esp, 8
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0xffffffffffffffff
push dword [ebp - 0x50]
lea ecx, [esi + 0x4a04]
call fcn.00415a70
mov edx, eax
mov ecx, dword [edx]
cmp ecx, 0xffffffff
je 0x4620e6
imul edi, ecx, 0x1e8
jmp 0x4621c5
mov eax, dword [esi + 0x4a10]
mov dword [edx], eax
mov ecx, dword [esi + 0x4a10]
mov edx, dword [esi + 0x49f8]
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jne 0x462198
mov ecx, dword [esi + 0x49fc]
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, ecx
jle 0x462183
test ecx, ecx
je 0x462125
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [ebp - 0x1c]
sar eax, 1
add eax, ecx
jmp 0x46212a
mov eax, 8
cmp eax, edx
mov edi, edx
cmovg edi, eax
cmp edi, ecx
jle 0x462183
imul eax, edi, 0x1e8
push eax
call fcn.0041c460
mov edx, dword [esi + 0x4a00]
add esp, 4
mov dword [ebp - 0x34], eax
test edx, edx
je 0x462174
imul ecx, dword [esi + 0x49f8], 0x1e8
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
push dword [esi + 0x4a00]
call fcn.0041c490
mov eax, dword [ebp - 0x34]
add esp, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [esi + 0x4a00], eax
mov dword [esi + 0x49fc], edi
mov dword [esi + 0x49f8], edx
inc dword [esi + 0x4a10]
imul edi, dword [ebp - 0x14], 0x1e8
jmp 0x4621ad
mov eax, dword [esi + 0x4a00]
imul edi, ecx, 0x1e8
mov eax, dword [edi + eax]
mov dword [esi + 0x4a10], eax
mov ecx, dword [esi + 0x4a00]
add ecx, edi
mov dword [ebp - 0x34], ecx
je 0x4621bf
call fcn.004614a0
inc dword [esi + 0x4a14]
mov eax, dword [esi + 0x4a00]
add edi, eax
mov dword [ebp - 0x28], edi
mov ecx, dword [edi + 4]
mov dword [ebp - 0x34], ecx
mov ecx, edi
sub ecx, eax
mov eax, 0x4325c53f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x49e8]
inc eax
mov dword [ebp - 0x18], eax
mov dword [esi + 0x49e8], eax
cmp eax, dword [esi + 0x49ec]
jle 0x46232c
push 0x68
lea eax, [ebp - 0xe0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0xdc], 0xbf800000
mov eax, dword [esi + 0x49f0]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], 0
cmp ecx, eax
jle 0x4622b7
test eax, eax
je 0x46224e
cdq
sub eax, edx
mov edx, dword [esi + 0x49f0]
sar eax, 1
add eax, edx
jmp 0x462259
mov edx, dword [esi + 0x49f0]
mov eax, 8
cmp eax, ecx
mov edi, ecx
cmovg edi, eax
mov eax, edi
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0x28]
cmp eax, edx
jle 0x4622b7
imul eax, eax, 0x68
push eax
call fcn.0041c460
mov edx, dword [esi + 0x49f4]
add esp, 4
mov dword [ebp - 0x2c], eax
test edx, edx
je 0x4622a5
imul ecx, dword [esi + 0x49ec], 0x68
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
push dword [esi + 0x49f4]
call fcn.0041c490
mov eax, dword [ebp - 0x2c]
add esp, 0x10
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0x49f4], eax
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x49f0], eax
mov eax, dword [esi + 0x49ec]
cmp ecx, eax
jle 0x4622f6
imul edx, eax, 0x68
nop dword [eax]
nop dword [eax + eax]
mov edi, dword [esi + 0x49f4]
mov ecx, 0x1a
add edi, edx
lea esi, [ebp - 0xe0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x18]
inc eax
mov esi, dword [ebp - 0x54]
add edx, 0x68
cmp eax, ecx
jl 0x4622d0
mov edi, dword [ebp - 0x28]
mov dword [esi + 0x49ec], ecx
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], 1
call fcn.00450900
mov eax, dword [ebp - 0xc0]
mov byte [ebp - 4], 2
test eax, eax
je 0x462325
push eax
call fcn.0041c490
add esp, 4
mov dword [ebp - 4], 0xffffffff
imul ecx, dword [esi + 0x49e8], 0x68
mov eax, dword [esi + 0x49f4]
mov edx, dword [ebx + 0x14]
add ecx, 0xffffff98
add eax, ecx
mov ecx, dword [ebp - 0x1c]
mov dword [edi + 0xc], eax
mov dword [ebp - 0x18], eax
mov dword [eax], ecx
mov ecx, edx
mov eax, dword [edi + 0xc]
add eax, 0x10
test edx, 0xe000
mov dword [edi + 0x160], eax
mov dword [eax], 0
mov dword [eax + 4], 1
sete al
mov byte [edi + 0x1e2], al
test ecx, 0xe000
jne 0x46239b
test edx, 0x1000000
jne 0x462394
mov ecx, dword [ebp - 0x3c]
mov eax, 0x8000
test byte [ecx + 0xc], 0x40
je 0x462399
mov eax, 0x2000
or edx, eax
mov eax, edx
mov ecx, edx
or ecx, 0x40000
and eax, 0xe000
cmp eax, 0x4000
mov eax, dword [ebp - 0x3c]
cmovne ecx, edx
mov edx, ecx
or edx, 0x200
mov eax, dword [eax + 0x300]
test cl, 1
cmove edx, ecx
mov ecx, edx
and ecx, 0xfffcffff
test edx, 0x3000000
cmove ecx, edx
mov edx, ecx
and edx, 0xfffff7ff
test ecx, 0x1000
cmove edx, ecx
mov ecx, edx
or ecx, 0x10
test dl, 0xf
cmovne ecx, edx
mov edx, ecx
or edx, 0x10
test dword [eax + 0xc], 0x100
mov eax, dword [edi + 0x3c]
cmove edx, ecx
mov dword [ebp - 0x40], edx
cmp eax, dword [esi + 0x3de0]
je 0x46241c
mov dword [ebp - 0x2c], 0
jmp 0x462424
movsx eax, word [edi + 0x4c]
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x20]
movss xmm3, dword [ebx + 0x1c]
mov dword [edi], eax
mov dword [edi + 4], edx
mov eax, dword [esi + 0x3de0]
mov esi, dword [ebp - 0x18]
mov dword [edi + 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x150], eax
mov dword [edi + 0x14c], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x40], eax
mov byte [edi + 0x1d6], 0
movss dword [edi + 0xa0], xmm3
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 8], eax
mov eax, esi
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x2c]
mov word [edi + 0x4c], ax
test eax, eax
jle 0x462565
cmp dword [edi + 0x174], eax
jge 0x46253b
lea ecx, [ebp - 0xf8]
call fcn.00461710
mov ecx, dword [edi + 0x174]
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x178]
cmp ecx, eax
jne 0x46251d
inc ecx
test eax, eax
je 0x4624be
cdq
sub eax, edx
mov edx, dword [edi + 0x178]
sar eax, 1
add eax, edx
jmp 0x4624c9
mov edx, dword [edi + 0x178]
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov dword [ebp - 0x20], ecx
cmp ecx, edx
jle 0x46251d
mov eax, ecx
shl eax, 4
push eax
call fcn.0041c460
mov esi, eax
add esp, 4
mov eax, dword [edi + 0x17c]
test eax, eax
je 0x46250e
mov ecx, dword [edi + 0x174]
shl ecx, 4
push ecx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
push dword [edi + 0x17c]
call fcn.0041c490
add esp, 0x10
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x17c], esi
mov dword [edi + 0x178], eax
mov eax, dword [edi + 0x174]
mov ecx, dword [ebp - 0x14]
shl eax, 4
add eax, dword [edi + 0x17c]
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
inc dword [edi + 0x174]
push dword [ebp - 0x50]
push 0
push 0x4aa8a0
call fcn.004159b0
push eax
push dword [ebp - 0x2c]
call fcn.00415950
movss xmm3, dword [ebx + 0x1c]
add esp, 0x14
mov edx, dword [ebp - 0x40]
mov esi, eax
mov dword [ebp - 0x14], eax
jmp 0x46256b
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x14], esi
movsx ecx, word [edi + 0x4c]
test ecx, ecx
jne 0x46257b
lea eax, [edi + 0x164]
jmp 0x462589
mov eax, dword [edi + 0x17c]
shl ecx, 4
add eax, 0xfffffff0
add eax, ecx
cmp dword [ebp - 0x44], 0
mov dword [eax], esi
mov esi, dword [ebp - 0x54]
je 0x46270f
movss xmm0, dword [0x49640c]
mov eax, edx
and eax, 0x3000000
movaps xmm2, xmm0
movaps xmm1, xmm0
cmp eax, 0x1000000
jne 0x4625bc
movss xmm1, dword [0x4aae34]
test edx, 0x1000000
je 0x4625e6
xorps xmm4, xmm4
comiss xmm3, xmm4
jbe 0x4625e6
ucomiss xmm3, xmm0
movaps xmm2, xmm3
lahf
test ah, 0x44
jnp 0x4625e6
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x4625ef
xorps xmm1, xmm1
jmp 0x4625ef
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x462611
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x4625fb
xorps xmm2, xmm2
lea eax, [ebp - 0x24]
movss dword [ebp - 0x24], xmm2
push eax
movss dword [ebp - 0x20], xmm1
call fcn.00426910
add esp, 4
test dword [ebp - 0x34], 0x3000000
jne 0x462634
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0
push eax
mov dword [ebp - 0x20], 0
call fcn.004269e0
add esp, 4
movss xmm0, dword [ebp - 0x60]
subss xmm0, dword [ebp - 0x68]
mov eax, dword [ebp - 0x40]
shr eax, 0xd
and eax, 0x800
push eax
movss dword [ebp - 0x24], xmm0
lea eax, [ebp - 0x24]
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [ebp - 0x64]
push 0
push eax
push dword [ebp - 0x14]
push dword [ebp - 0x48]
movss dword [ebp - 0x20], xmm0
call fcn.0040b5e0
mov eax, dword [esi + 0x3e40]
add esp, 0x14
cmp dword [ebp - 0x2c], 0
mov dword [edi + 0x150], eax
movups xmm0, xmmword [eax + 0x1f0]
movups xmmword [edi + 0xdc], xmm0
movss xmm2, dword [eax + 0x14]
movss xmm0, dword [eax + 0x1c]
movss xmm3, dword [eax + 0x18]
movss xmm1, dword [eax + 0x20]
movss dword [edi + 0xbc], xmm2
addss xmm2, xmm0
movss dword [edi + 0xc0], xmm3
addss xmm3, xmm1
movss dword [edi + 0xc4], xmm2
movss dword [edi + 0xc8], xmm3
movups xmm0, xmmword [eax + 0x1d0]
movups xmmword [edi + 0xcc], xmm0
jne 0x4626ef
mov al, byte [edi + 0x1e3]
mov byte [edi + 0x1e4], al
mov byte [edi + 0x1e3], 0
mov eax, dword [edi + 0x150]
movss xmm0, dword [eax + 0x84]
comiss xmm0, dword [0x496318]
seta al
or byte [edi + 0x1e3], al
jmp 0x462736
movups xmm0, xmmword [ebp - 0x68]
movups xmmword [edi + 0xcc], xmm0
movups xmm0, xmmword [edi + 0xcc]
movups xmmword [edi + 0xbc], xmm0
movups xmm0, xmmword [edi + 0xcc]
movups xmmword [edi + 0xdc], xmm0
push dword [ebp - 0x50]
call fcn.00421dc0
add esp, 4
cmp dword [ebp - 0x2c], 0
jle 0x462752
push dword [ebp - 0x14]
call fcn.00421dc0
add esp, 4
mov edx, dword [edi + 0x150]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x44], edx
mov eax, dword [edx + 0x134]
mov dword [edi + 0x84], eax
movups xmm0, xmmword [edx + 0x210]
movups xmmword [edi + 0x12c], xmm0
mov al, byte [edx + 0xaf]
mov byte [edi + 0x1e6], al
movups xmm0, xmmword [edx + 0x1f0]
mov eax, dword [ebp - 0x3c]
movups xmmword [esi + 0x24], xmm0
movups xmm0, xmmword [edx + 0x200]
movups xmmword [esi + 0x34], xmm0
mov eax, dword [eax + 0x138]
mov dword [esi + 0x5c], eax
mov eax, dword [edx + 0x120]
mov ecx, dword [edx + 0x124]
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], ecx
mov eax, dword [edx + 0x118]
mov ecx, dword [edx + 0x11c]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], ecx
mov eax, dword [edx + 0x108]
mov ecx, dword [edx + 0x10c]
mov dword [esi + 0x58], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [esi + 0x54], eax
mov eax, dword [ecx + 0x1a0]
mov dword [esi + 0x60], eax
mov eax, dword [ecx + 0x1a8]
mov dword [esi + 0x64], eax
mov eax, dword [ebp - 0x40]
mov dword [edx + 0x118], 0
mov dword [edx + 0x11c], 0
mov dword [edx + 0x120], 0
mov dword [edx + 0x124], 0
test eax, 0x400000
je 0x462827
xor cl, cl
jmp 0x46283a
test eax, 0x200000
je 0x462832
mov cl, 1
jmp 0x46283a
mov ecx, eax
shr ecx, 0xa
and cl, 1
mov esi, dword [ebp - 0x40]
movss xmm5, dword [0x492964]
shr eax, 0x17
not al
and al, 1
and esi, 0x200
mov dword [ebp - 0x20], esi
je 0x46285c
movaps xmm3, xmm5
jmp 0x46285f
xorps xmm3, xmm3
mov esi, dword [ebp - 0x54]
test al, al
je 0x4628bd
cmp dword [ebp - 0x20], 0
jne 0x4628bd
movss xmm1, dword [esi + 0x37fc]
xorps xmm2, xmm2
movaps xmm0, xmm1
movss dword [edi + 0x9c], xmm1
addss xmm0, xmm3
movss dword [edi + 0x90], xmm2
movss dword [edi + 0x98], xmm0
mov eax, dword [esi + 0x3800]
mov dword [edi + 0x94], eax
mov eax, dword [ebp - 0x40]
test eax, 0x400
jne 0x4628af
xorps xmm5, xmm5
test cl, cl
je 0x4628d9
movss xmm0, dword [esi + 0x37fc]
jmp 0x4628dc
xorps xmm1, xmm1
movss dword [ebp - 0x48], xmm1
test al, al
je 0x462874
cmp dword [ebp - 0x20], 0
je 0x462874
movss xmm2, dword [esi + 0x37fc]
jmp 0x462877
xorps xmm0, xmm0
addss xmm0, xmm5
mov dword [edi + 0x48], 0xffffffff
xor ecx, ecx
mov dword [edi + 0x44], 0xffffffff
mov word [edi + 0x66], cx
lea ecx, [edi + 0xdc]
mov dword [edi + 0x68], 0
subss xmm0, xmm2
movss dword [edi + 0x8c], xmm0
cmp edx, dword [ebp - 0x3c]
je 0x462918
lea ecx, [edx + 0x210]
movups xmm0, xmmword [ecx]
movups xmmword [edi + 0xec], xmm0
movss xmm3, dword [edi + 0xec]
movss xmm4, dword [edi + 0xf0]
maxss xmm4, dword [edi + 0xe0]
maxss xmm3, dword [edi + 0xdc]
movss dword [edi + 0xf0], xmm4
movss dword [edi + 0xec], xmm3
movss xmm1, dword [edi + 0xf4]
movss xmm0, dword [edi + 0xf8]
minss xmm1, dword [edi + 0xe4]
minss xmm0, dword [edi + 0xe8]
movss dword [edi + 0xf4], xmm1
movss dword [edi + 0xf8], xmm0
movss xmm2, dword [edi + 0x130]
comiss xmm2, xmm4
movss xmm1, dword [edi + 0x134]
ja 0x4629a3
movss xmm2, dword [edi + 0x138]
minss xmm2, xmm4
movss xmm0, dword [edi + 0x12c]
comiss xmm0, xmm3
jbe 0x4629b5
movaps xmm1, xmm0
jmp 0x4629b9
minss xmm1, xmm3
movss dword [edi + 0xec], xmm1
movss dword [edi + 0xf0], xmm2
movss xmm2, dword [edi + 0xf8]
movss xmm1, dword [edi + 0x130]
comiss xmm1, xmm2
ja 0x4629ea
movss xmm1, dword [edi + 0x138]
minss xmm1, xmm2
movss xmm2, dword [edi + 0xf4]
comiss xmm0, xmm2
ja 0x462a03
movss xmm0, dword [edi + 0x134]
minss xmm0, xmm2
movss dword [edi + 0xf4], xmm0
movss dword [edi + 0xf8], xmm1
test eax, 0x20000
je 0x462a27
movaps xmm0, xmm1
minss xmm0, dword [edx + 0x1fc]
jmp 0x462a2f
movss xmm0, dword [edx + 0x21c]
push ecx
xor eax, eax
movss dword [edi + 0xf8], xmm0
movss xmm0, dword [edi + 0xe0]
mov dword [esp], 0x3f800000
push 0x2b
movss dword [edi + 0x54], xmm0
movss dword [edi + 0x50], xmm0
mov dword [edi + 0x5c], 0
mov dword [edi + 0x1c6], eax
mov dword [edi + 0x1ca], eax
mov byte [edi + 0x1e1], 1
mov word [edi + 0x1aa], ax
call fcn.00415080
add esp, 4
mov dword [edi + 0x74], eax
mov dword [esp], 0x3f800000
push 0x2c
call fcn.00415080
mov ecx, dword [ebp - 0x3c]
add esp, 8
mov edx, dword [ebp - 0x1c]
mov dword [edi + 0x78], eax
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x49e4], edi
mov dword [ecx + 0x194], edx
cmp eax, ecx
je 0x462ab4
mov dword [eax + 0x194], edx
test byte [ebp - 0x34], 2
je 0x462ac7
test byte [ebp - 0x40], 2
jne 0x462ac7
mov byte [edi + 0x1e0], 1
cmp edx, dword [esi + 0x4a18]
jl 0x462b9d
mov eax, dword [esi + 0x4a1c]
lea ecx, [edx + 1]
mov dword [ebp - 0x20], 0xbf800000
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jle 0x462b68
test eax, eax
je 0x462afd
cdq
sub eax, edx
mov edx, dword [esi + 0x4a1c]
sar eax, 1
add eax, edx
jmp 0x462b08
mov edx, dword [esi + 0x4a1c]
mov eax, 8
cmp eax, ecx
mov edi, ecx
cmovg edi, eax
mov eax, edi
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x28]
cmp eax, edx
jle 0x462b68
shl eax, 2
push eax
call fcn.0041c460
mov edx, dword [esi + 0x4a20]
add esp, 4
mov dword [ebp - 0x48], eax
test edx, edx
je 0x462b56
mov ecx, dword [esi + 0x4a18]
shl ecx, 2
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
push dword [esi + 0x4a20]
call fcn.0041c490
mov eax, dword [ebp - 0x48]
add esp, 0x10
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0x4a20], eax
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x4a1c], eax
mov edx, dword [esi + 0x4a18]
cmp ecx, edx
jle 0x462b94
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
nop dword [eax + eax]
mov ecx, dword [esi + 0x4a20]
mov dword [ecx + edx*4], eax
inc edx
cmp edx, edi
jl 0x462b80
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov dword [esi + 0x4a18], ecx
movsd xmm0, qword [esi + 0x3dd8]
mov eax, dword [esi + 0x4a20]
cvtpd2ps xmm0, xmm0
movss dword [eax + edx*4], xmm0
movsd xmm0, qword [esi + 0x3dd8]
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx + 0x10]
cvtpd2ps xmm0, xmm0
movss dword [eax + 4], xmm0
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x14], eax
mov eax, 0x92492493
mov byte [edi + 0x1e5], 0
mov ecx, dword [edi + 0x14]
sub ecx, dword [edi + 0x10]
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x2c], eax
je 0x462c0f
cmp eax, esi
je 0x462c0f
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x14], eax
mov dword [edi + 8], 0
cmp dword [edi + 8], 0
jne 0x462cce
imul edi, esi, 0x70
lea edx, [esi + 0x1f]
lea ecx, [esi*8]
sar edx, 3
and edx, 0xfffffffc
mov dword [ebp - 0x18], edx
lea eax, [edi + 3]
and eax, 0xfffffffc
mov dword [ebp - 0x48], eax
lea eax, [eax + esi*2]
add eax, 3
and eax, 0xfffffffc
mov dword [ebp - 0x20], eax
add eax, ecx
mov dword [ebp - 0x1c], eax
lea esi, [eax + edx*2]
add esi, edx
push esi
call fcn.0041c460
mov ecx, dword [ebp - 0x28]
push esi
push 0
push eax
mov dword [ecx + 8], eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebp - 0x28]
add esp, 0x10
mov edx, dword [ebp - 0x48]
mov esi, dword [ebx + 0x10]
mov ecx, dword [eax + 8]
mov dword [eax + 0x10], ecx
lea eax, [edi + ecx]
mov edi, dword [ebp - 0x28]
mov dword [edi + 0x14], eax
lea eax, [ecx + edx]
mov dword [edi + 0x18], eax
lea eax, [ecx + esi*2]
add eax, edx
mov edx, dword [ebp - 0x20]
mov dword [edi + 0x1c], eax
lea eax, [ecx + edx]
mov dword [edi + 0x20], eax
lea eax, [ecx + edx]
lea edx, [esi*8]
mov esi, dword [ebp - 0x18]
add eax, edx
mov edx, dword [ebp - 0x1c]
mov dword [edi + 0x24], eax
mov byte [edi + 0x1dc], 1
mov byte [edi + 0x1d8], 1
lea eax, [ecx + edx]
mov dword [edi + 0x28], eax
lea eax, [ecx + esi]
add eax, edx
mov dword [edi + 0x2c], eax
lea eax, [edx + esi*2]
add eax, ecx
mov dword [edi + 0x30], eax
cmp byte [edi + 0x1df], 0
je 0x462cf5
mov word [edi + 0x1dc], pe_nt_image_headers32
mov byte [edi + 0x1d8], 1
mov byte [edi + 0x1df], 0
mov dword [edi + 0x34], 0
cmp byte [edi + 0x1d8], 0
je 0x462e51
or eax, 0xffffffff
mov dword [edi + 0x38], 0xffffffff
xor esi, esi
mov byte [edi + 0x1d9], 1
mov word [edi + 0x4e], ax
mov word [edi + 0x1c4], ax
mov word [edi + 0x1b4], ax
mov word [edi + 0x1b2], ax
mov word [edi + 0x1b8], ax
mov word [edi + 0x1b0], ax
mov word [edi + 0x1ae], ax
mov word [edi + 0x1ac], ax
mov dword [ebp - 0x20], esi
cmp dword [ebx + 0x10], esi
jle 0x462e51
xor eax, eax
mov dword [ebp - 0x1c], eax
nop dword [eax + eax]
mov edx, dword [edi + 0x10]
mov ecx, dword [ebp - 0x34]
add edx, eax
mov dword [ebp - 0x48], edx
test ecx, ecx
je 0x462d85
cmp esi, dword [ebp - 0x2c]
jge 0x462d85
lea esi, [eax + ecx]
mov edi, edx
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
jmp 0x462e27
movss xmm0, dword [edx + 0x14]
lea eax, [ebp - 0xe8]
push 0x70
push 0
push eax
movss dword [ebp - 0x18], xmm0
call sub.VCRUNTIME140.dll_memset
mov edx, dword [ebp - 0x48]
lea esi, [ebp - 0xe8]
movss xmm0, dword [ebp - 0x18]
or eax, 0xffffffff
mov word [ebp - 0x98], ax
add esp, 0xc
and byte [ebp - 0x7b], 0xfc
mov ecx, 0x1c
mov word [ebp - 0x94], ax
mov edi, edx
mov word [ebp - 0x96], ax
mov word [ebp - 0x90], ax
mov word [ebp - 0x92], ax
mov word [ebp - 0x8e], ax
mov eax, 0xff
mov dword [ebp - 0xd8], 0xbf800000
mov dword [ebp - 0xd0], 0xbf800000
mov dword [ebp - 0x8a], 0xff00ff
mov word [ebp - 0x8c], ax
rep movsd dword es:[edi], dword [esi]
movss dword [edx + 0x14], xmm0
mov byte [edx + 0x69], 1
mov word [edx + 0x63], 0x101
mov byte [edx + 0x62], 1
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x20]
movzx ecx, si
mov eax, dword [edi + 0x18]
mov word [eax + esi*2], cx
inc esi
mov eax, dword [ebp - 0x1c]
add eax, 0x70
mov word [edx + 0x52], cx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], eax
cmp esi, dword [ebx + 0x10]
jl 0x462d60
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x462e61
push eax
call fcn.0041c490
add esp, 4
cmp byte [edi + 0x1dc], 0
je 0x462e73
push edi
call fcn.004673d0
add esp, 4
movss xmm0, dword [edi + 0xb8]
ucomiss xmm0, dword [0x496318]
mov eax, dword [ebp - 0x54]
movss xmm2, dword [eax + 0x3bd0]
lahf
test ah, 0x44
jnp 0x462f5b
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x462f5b
mov edx, dword [ebx + 0x10]
movaps xmm1, xmm2
xor eax, eax
divss xmm1, xmm0
cmp edx, 4
jl 0x462f38
lea esi, [edx - 4]
xor ecx, ecx
shr esi, 2
inc esi
lea eax, [esi*4]
mov dword [ebp - 0x48], eax
nop dword [eax]
mov eax, dword [edi + 0x10]
movaps xmm0, xmm1
lea ecx, [ecx + 0x1c0]
mulss xmm0, dword [eax + ecx - 0x1b0]
movss dword [eax + ecx - 0x1b0], xmm0
movaps xmm0, xmm1
mov eax, dword [edi + 0x10]
mulss xmm0, dword [eax + ecx - 0x140]
movss dword [eax + ecx - 0x140], xmm0
movaps xmm0, xmm1
mov eax, dword [edi + 0x10]
mulss xmm0, dword [eax + ecx - 0xd0]
movss dword [eax + ecx - 0xd0], xmm0
movaps xmm0, xmm1
mov eax, dword [edi + 0x10]
mulss xmm0, dword [eax + ecx - 0x60]
movss dword [eax + ecx - 0x60], xmm0
sub esi, 1
jne 0x462ed0
mov eax, dword [ebp - 0x48]
cmp eax, edx
jge 0x462f5b
imul ecx, eax, 0x70
sub edx, eax
mov eax, dword [edi + 0x10]
movaps xmm0, xmm1
lea ecx, [ecx + 0x70]
mulss xmm0, dword [ecx + eax - 0x60]
movss dword [ecx + eax - 0x60], xmm0
sub edx, 1
jne 0x462f41
mov eax, dword [ebp - 0x44]
lea ecx, [edi + 0x154]
movss dword [edi + 0xb8], xmm2
mov byte [eax + 0xaf], 1
cmp dword [ecx], 0
jle 0x462f7f
push 0
call fcn.00431230
push edi
call fcn.00464ea0
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret