Function at 0x467c1d
Capabilities:
Access peb ldr_data
Check os version
Contain obfuscated stackstrings
Encode data using xor
Get kernel32 base address
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0x220
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
add eax, 0xc
mov eax, dword [eax]
movzx edx, word [eax + 0x2c]
mov ecx, edx
shr ecx, 1
cmp edx, 2
jb 0x467c38
mov edx, dword [eax + 0x30]
add ecx, ecx
mov esi, 0x3f4cd924
xor edi, edi
movsx ebx, byte [edx + edi]
xor ebx, esi
imul esi, ebx, 0x203848b
add edi, 2
cmp ecx, edi
jne 0x467c53
cmp esi, 0x88311ccb
jne 0x467c38
mov eax, dword [eax + 0x18]
test eax, eax
je 0x469857
mov dword [esp + 0x98], eax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [0x481b64], ymm0
mov dword [0x481b5c], 8
mov dword [0x481b60], 0x469935
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov eax, dword [edx + 0x18]
mov ecx, dword [eax + 0x3c]
mov ecx, dword [eax + ecx + 0x78]
test ecx, ecx
je 0x467cac
mov esi, dword [eax + ecx + 0x18]
test esi, esi
je 0x467cac
mov dword [esp + 0x20], edx
mov dword [esp + 0x60], ecx
mov edi, dword [eax + ecx + 0x20]
add edi, eax
lea ecx, [eax + 1]
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + esi*4 - 4]
dec esi
mov dl, byte [eax + ecx]
test dl, dl
je 0x467d08
add ecx, dword [esp + 0x18]
mov ebx, 0x4406784f
movsx edx, dl
xor edx, ebx
imul ebx, edx, 0x203848b
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x467cee
cmp ebx, 0x67ad04d0
je 0x467d12
test esi, esi
jne 0x467cd9
mov edx, dword [esp + 0x20]
jmp 0x467cac
mov edx, dword [esp + 0x60]
mov ecx, dword [eax + edx + 0x1c]
add ecx, eax
mov edx, dword [eax + edx + 0x24]
add edx, eax
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
push 0
vzeroupper
call eax
mov dword [0x481b6c], eax
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
test eax, eax
je 0x467d41
mov esi, dword [ecx + eax + 0x18]
test esi, esi
je 0x467d41
mov dword [esp + 0x20], edx
mov dword [esp + 0x60], eax
mov edi, dword [ecx + eax + 0x20]
add edi, ecx
lea eax, [ecx + 1]
mov dword [esp + 0x18], eax
mov eax, dword [edi + esi*4 - 4]
dec esi
mov dl, byte [ecx + eax]
test dl, dl
je 0x467d9d
add eax, dword [esp + 0x18]
mov ebx, 0x921ce62
movsx edx, dl
xor edx, ebx
imul ebx, edx, 0x203848b
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x467d83
cmp ebx, 0x2f824290
je 0x467da7
test esi, esi
jne 0x467d6e
mov edx, dword [esp + 0x20]
jmp 0x467d41
mov edx, dword [esp + 0x60]
mov eax, dword [ecx + edx + 0x1c]
add eax, ecx
mov edx, dword [ecx + edx + 0x24]
add edx, ecx
movzx edx, word [edx + esi*2]
add ecx, dword [eax + edx*4]
push 0x7f00
push 0
call ecx
mov dword [0x481b70], eax
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
test eax, eax
je 0x467dd8
mov esi, dword [ecx + eax + 0x18]
test esi, esi
je 0x467dd8
mov dword [esp + 0x20], edx
mov dword [esp + 0x60], eax
mov edi, dword [ecx + eax + 0x20]
add edi, ecx
lea eax, [ecx + 1]
mov dword [esp + 0x18], eax
mov eax, dword [edi + esi*4 - 4]
dec esi
mov dl, byte [ecx + eax]
test dl, dl
je 0x467e34
add eax, dword [esp + 0x18]
mov ebx, 0x235a8908
movsx edx, dl
xor edx, ebx
imul ebx, edx, 0x203848b
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x467e1a
cmp ebx, 0x440777e3
je 0x467e3e
test esi, esi
jne 0x467e05
mov edx, dword [esp + 0x20]
jmp 0x467dd8
mov edx, dword [esp + 0x60]
mov eax, dword [ecx + edx + 0x1c]
add eax, ecx
mov edx, dword [ecx + edx + 0x24]
add edx, ecx
movzx edx, word [edx + esi*2]
add ecx, dword [eax + edx*4]
push 0x7f00
push 0
call ecx
mov dword [0x481b74], eax
mov dword [str.helavela], 0x47e026
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
test eax, eax
je 0x467e79
mov esi, dword [ecx + eax + 0x18]
test esi, esi
je 0x467e79
mov dword [esp + 0x20], edx
mov dword [esp + 0x60], eax
mov edi, dword [ecx + eax + 0x20]
add edi, ecx
lea eax, [ecx + 1]
mov dword [esp + 0x18], eax
mov eax, dword [edi + esi*4 - 4]
dec esi
mov dl, byte [ecx + eax]
test dl, dl
je 0x467ed5
add eax, dword [esp + 0x18]
mov ebx, 0x717a088a
movsx edx, dl
xor edx, ebx
imul ebx, edx, 0x203848b
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x467ebb
cmp ebx, 0x20780106
je 0x467edf
test esi, esi
jne 0x467ea6
mov edx, dword [esp + 0x20]
jmp 0x467e79
mov edx, dword [esp + 0x60]
mov eax, dword [ecx + edx + 0x1c]
add eax, ecx
mov edx, dword [ecx + edx + 0x24]
add edx, ecx
movzx edx, word [edx + esi*2]
add ecx, dword [eax + edx*4]
push 0x481b5c
call ecx
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
test eax, eax
je 0x467f09
mov esi, dword [ecx + eax + 0x18]
test esi, esi
je 0x467f09
mov dword [esp + 0x20], edx
mov dword [esp + 0x60], eax
mov edi, dword [ecx + eax + 0x20]
add edi, ecx
lea eax, [ecx + 1]
mov dword [esp + 0x18], eax
mov eax, dword [edi + esi*4 - 4]
dec esi
mov dl, byte [ecx + eax]
test dl, dl
je 0x467f65
add eax, dword [esp + 0x18]
mov ebx, 0x632fe1ee
movsx edx, dl
xor edx, ebx
imul ebx, edx, 0x203848b
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x467f4b
cmp ebx, 0xe56671f2
je 0x467f6f
test esi, esi
jne 0x467f36
mov edx, dword [esp + 0x20]
jmp 0x467f09
mov edx, dword [esp + 0x60]
mov eax, dword [ecx + edx + 0x1c]
add eax, ecx
mov edx, dword [ecx + edx + 0x24]
add edx, ecx
movzx edx, word [edx + esi*2]
add ecx, dword [eax + edx*4]
push 0x40000
push 0
push 0xcf0000
push 0x47e07c
call ecx
mov eax, dword [0x47e088]
mov dword [esp + 0x1c], eax
mov eax, dword [0x47e080]
mov dword [esp + 0xa0], eax
mov eax, dword [0x47e084]
mov dword [esp + 0x38], eax
mov eax, dword [0x47e07c]
mov dword [esp + 0x9c], eax
mov eax, dword fs:[0x30]
mov ecx, dword [eax + 0xc]
add ecx, 0xc
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x18]
mov eax, dword [edx + 0x3c]
mov eax, dword [edx + eax + 0x78]
test eax, eax
je 0x467fcf
mov ebx, dword [edx + eax + 0x18]
test ebx, ebx
je 0x467fcf
mov dword [esp + 0x20], ecx
mov dword [esp + 0x60], eax
mov eax, dword [edx + eax + 0x20]
add eax, edx
lea ecx, [edx + 1]
mov dword [esp + 0x18], ecx
mov esi, dword [eax + ebx*4 - 4]
dec ebx
mov cl, byte [edx + esi]
test cl, cl
je 0x46802b
add esi, dword [esp + 0x18]
mov edi, 0x487d6a2b
movsx ecx, cl
xor ecx, edi
imul edi, ecx, 0x203848b
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x468011
cmp edi, 0x92271193
je 0x468035
test ebx, ebx
jne 0x467ffc
mov ecx, dword [esp + 0x20]
jmp 0x467fcf
mov ecx, dword [esp + 0x60]
mov eax, dword [edx + ecx + 0x24]
add eax, edx
movzx eax, word [eax + ebx*2]
mov ecx, dword [edx + ecx + 0x1c]
add ecx, edx
add edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0x1c]
sub ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x38]
sub esi, dword [esp + 0x9c]
xor ebx, ebx
mov eax, 0x80000000
push ebx
push dword [0x481b6c]
push ebx
push ebx
push ecx
push esi
push eax
push eax
push 0x10cb0000
push str.veli
push dword [0x481b80]
push 0x20
call edx
mov dword [esp + 0x60], eax
test eax, eax
je 0x46992b
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
test eax, eax
je 0x4680a2
mov edi, dword [ecx + eax + 0x18]
test edi, edi
je 0x4680a2
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
mov ebx, dword [ecx + eax + 0x20]
add ebx, ecx
lea eax, [ecx + 1]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + edi*4 - 4]
dec edi
mov dl, byte [ecx + eax]
test dl, dl
je 0x4680fe
add eax, dword [esp + 0x18]
mov esi, 0x7f8d728e
movsx edx, dl
xor edx, esi
imul esi, edx, 0x203848b
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4680e4
cmp esi, 0xef3278b5
je 0x468108
test edi, edi
jne 0x4680cf
mov edx, dword [esp + 0x20]
jmp 0x4680a2
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + edx + 0x1c]
add eax, ecx
mov edx, dword [ecx + edx + 0x24]
add edx, ecx
movzx edx, word [edx + edi*2]
add ecx, dword [eax + edx*4]
push 0xfffffffffffffff0
push dword [esp + 0x64]
call ecx
mov dword [esp + 0x38], eax
mov eax, dword fs:[0x30]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov edx, dword [edx]
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
test eax, eax
je 0x468137
mov ebx, dword [ecx + eax + 0x18]
test ebx, ebx
je 0x468137
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
mov esi, dword [ecx + eax + 0x20]
add esi, ecx
lea eax, [ecx + 1]
mov dword [esp + 0x18], eax
mov eax, dword [esi + ebx*4 - 4]
dec ebx
mov dl, byte [ecx + eax]
test dl, dl
je 0x468193
add eax, dword [esp + 0x18]
mov edi, 0x8190f719
movsx edx, dl
xor edx, edi
imul edi, edx, 0x203848b
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x468179
cmp edi, 0x601bf81a
je 0x46819d
test ebx, ebx
jne 0x468164
mov edx, dword [esp + 0x20]
jmp 0x468137
mov esi, dword [esp + 0x38]
and esi, 0xfffeffff
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + edx + 0x1c]
add eax, ecx
mov edx, dword [ecx + edx + 0x24]
add edx, ecx
movzx edx, word [edx + ebx*2]
add ecx, dword [eax + edx*4]
push esi
push 0xfffffffffffffff0
mov esi, dword [esp + 0x68]
push esi
call ecx
xor eax, eax
mov dword [esp + 0x48], eax
vxorps xmm0, xmm0, xmm0
vmovups xmmword [esp + 0x1b8], xmm0
vmovups xmmword [esp + 0x1ac], xmm0
mov dword [esp + 0x1bc], 0x1c
mov dword [esp + 0x1b4], 0x3c
xor ecx, ecx
inc ecx
mov dword [esp + 0x1b8], ecx
vmovaps xmm0, xmmword [0x47d2e0]
vmovups xmmword [esp + 0x1c8], xmm0
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], eax
vmovups xmm0, xmmword [0x479086]
vmovups xmmword [esp + 0xb2], xmm0
vmovups xmm0, xmmword [0x479078]
vmovups xmmword [esp + 0xa4], xmm0
mov ecx, eax
add cl, 0x34
xor byte [esp + eax + 0xa4], cl
inc eax
cmp eax, 0x1e
jne 0x468253
lea eax, [esp + 0xa4]
push eax
push dword [esp + 0x9c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
sub esp, 0x30
lea eax, [esp + 0x78]
mov dword [esp + 0x28], eax
lea ebx, [esp + 0x1dc]
mov dword [esp + 0x1c], ebx
xor edi, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edi
vmovaps xmm0, xmmword [0x47d2f0]
vmovups xmmword [esp], xmm0
mov dword [esp + 0x2c], 0x481b4c
mov dword [esp + 0x24], 0x481b58
mov dword [esp + 0x20], 0x481b54
mov dword [esp + 0x18], 7
call esi
test eax, eax
jns 0x46831f
sub esp, 0x30
lea eax, [esp + 0x78]
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], ebx
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebx
vmovaps xmm0, xmmword [0x47d300]
vmovups xmmword [esp], xmm0
mov dword [esp + 0x2c], 0x481b4c
mov dword [esp + 0x24], 0x481b58
mov dword [esp + 0x20], 0x481b54
mov dword [esp + 0x18], 7
call esi
test eax, eax
js 0x46992b
push dword [0x47e088]
push dword [0x47e084]
call fcn.0046a0fd
add esp, 8
vmovsd xmm0, qword [0x47e084]
vmovaps xmmword [esp + 0x20], xmm0
mov dword [0x481ae8], 0x80000
mov ecx, dword [0x481b58]
mov dword [0x481aec], 0x20000
mov dword [0x481b08], ecx
mov eax, dword [ecx]
mov dword [esp + 0x18], ecx
push ecx
call dword [eax + 4]
push 0x38ec
push edi
push 0x47e090
call fcn.00478a71
add esp, 0xc
mov eax, 0xffafafaf
mov dword [0x47e224], eax
vmovsd xmm0, qword [0x47d310]
vmovsd qword [0x47e230], xmm0
vmovaps xmm2, xmm0
vxorps xmm1, xmm1, xmm1
vmovups ymmword [0x47e240], ymm1
vmovups ymmword [0x47e260], ymm1
vmovups ymmword [0x47e26c], ymm1
mov dword [0x47e23c], 0xff323232
mov eax, 0xff282828
mov dword [0x47e258], eax
mov edx, 0xff232323
mov dword [0x47e274], edx
mov eax, 0xff414141
mov dword [0x47e28c], eax
vmovaps xmm0, xmmword [0x47d320]
vmovups xmmword [0x47e294], xmm0
mov eax, 0x40000000
mov dword [0x47e2b8], eax
mov dword [0x47e2b4], eax
vxorps xmm0, xmm0, xmm0
vmovups xmmword [0x47e2bc], xmm0
mov ecx, 0x12
mov dword [0x47e2a4], ecx
mov ecx, 0x40800000
mov dword [0x47e2b0], ecx
vbroadcastss xmm0, dword [0x47d1e8]
vmovlps qword [0x47e2a8], xmm0
mov esi, 0x3f800000
mov dword [0x47e290], esi
mov ecx, 0x3f000000
mov dword [0x47e2cc], ecx
vmovups ymmword [0x47e2e4], ymm1
vmovups ymmword [0x47e304], ymm1
vmovups ymmword [0x47e324], ymm1
vmovups ymmword [0x47e344], ymm1
mov dword [0x47e364], edi
mov ebx, 0xff2d2d2d
mov dword [0x47e2e0], ebx
mov ecx, 0xff282828
mov dword [0x47e2fc], ecx
mov dword [0x47e318], edx
mov dword [0x47e330], ebx
vmovaps xmm0, xmmword [0x47d330]
vmovups xmmword [0x47e338], xmm0
mov dword [0x47e35c], eax
mov dword [0x47e358], eax
mov ecx, 0x12
mov dword [0x47e348], ecx
mov dword [0x47e34c], esi
mov dword [0x47e334], esi
mov edx, 0x3f000000
mov dword [0x47e370], edx
mov dword [0x47e408], edi
vmovups ymmword [0x47e3e8], ymm1
vmovups ymmword [0x47e3c8], ymm1
vmovups ymmword [0x47e3a8], ymm1
vmovups ymmword [0x47e388], ymm1
mov dword [0x47e384], ebx
mov dword [0x47e3a0], ebx
mov dword [0x47e3bc], ebx
mov dword [0x47e3d4], ebx
vmovups xmmword [0x47e3dc], xmm0
mov dword [0x47e400], eax
mov dword [0x47e3fc], eax
mov dword [0x47e3ec], ecx
mov dword [0x47e3f8], esi
mov dword [0x47e3f0], esi
mov dword [0x47e3d8], esi
mov dword [0x47e414], edx
mov dword [0x47e5c0], edi
mov dword [0x47e5bc], edi
vmovups ymmword [0x47e59c], ymm1
vmovups ymmword [0x47e57c], ymm1
vmovups ymmword [0x47e55c], ymm1
vmovups ymmword [0x47e53c], ymm1
vmovups ymmword [0x47e51c], ymm1
vmovups ymmword [0x47e4fc], ymm1
mov ecx, 0xff646464
mov dword [0x47e4f8], ecx
mov ecx, 0xff787878
mov dword [0x47e514], ecx
mov dword [0x47e530], ecx
mov dword [0x47e550], ebx
mov dword [0x47e56c], ebx
vmovaps xmm0, xmmword [0x47d340]
vmovups xmmword [0x47e584], xmm0
mov dword [0x47e59c], eax
mov dword [0x47e598], eax
mov edx, 0x40800000
mov dword [0x47e5a8], edx
vmovsd qword [0x47e5b0], xmm2
mov dword [0x47e4f0], edi
mov dword [0x47e4ec], edi
vmovups ymmword [0x47e4cc], ymm1
vmovups ymmword [0x47e4ac], ymm1
vmovups ymmword [0x47e48c], ymm1
vmovups ymmword [0x47e46c], ymm1
vmovups ymmword [0x47e44c], ymm1
vmovups ymmword [0x47e42c], ymm1
mov esi, 0xff646464
mov dword [0x47e428], esi
mov dword [0x47e444], ecx
mov dword [0x47e460], ecx
mov dword [0x47e480], ebx
mov dword [0x47e49c], ebx
vmovups xmmword [0x47e4b4], xmm0
mov ecx, 0x40400000
mov dword [0x47e4cc], ecx
mov dword [0x47e4c8], ecx
mov dword [0x47e4d8], edx
vmovsd qword [0x47e4e0], xmm2
vmovups ymmword [0x47e66c], ymm1
vmovups ymmword [0x47e64c], ymm1
vmovups ymmword [0x47e62c], ymm1
vmovups ymmword [0x47e60c], ymm1
vmovups ymmword [0x47e5ec], ymm1
vmovups ymmword [0x47e5cc], ymm1
mov dword [0x47e5c8], ebx
mov dword [0x47e5e4], ebx
mov dword [0x47e600], ebx
mov ecx, 0xff232323
mov dword [0x47e61c], ecx
mov dword [0x47e638], ecx
mov dword [0x47e654], ecx
vbroadcastss xmm0, dword [0x47d350]
vmovups xmmword [0x47e66c], xmm0
mov ecx, 0xffafafaf
mov dword [0x47e67c], ecx
mov dword [0x47e680], ecx
mov dword [0x47e694], eax
mov dword [0x47e690], eax
mov dword [0x47e6a4], eax
mov dword [0x47e6a0], eax
mov dword [0x47e69c], edi
mov dword [0x47e698], edi
mov dword [0x47e6b0], edi
mov dword [0x47e68c], edi
mov eax, 0x3f800000
mov dword [0x47e6a8], eax
mov ebx, 0x3f000000
mov dword [0x47e6ac], ebx
push 0x23c
push edi
push 0x47e6b4
vzeroupper
call fcn.00478a71
add esp, 0xc
vmovaps xmm0, xmmword [0x47d360]
vmovups xmmword [0x47e714], xmm0
mov eax, 0xff646464
mov dword [0x47e728], eax
mov eax, 0xff787878
mov dword [0x47e744], eax
mov eax, 0xff969696
mov dword [0x47e760], eax
vmovaps xmm0, xmmword [0x47d370]
vmovups xmmword [0x47e8f0], xmm0
vmovaps xmm0, xmmword [0x47d380]
vmovups xmmword [0x47e794], xmm0
vbroadcastss xmm0, dword [0x47d1e0]
vmovups xmmword [0x47e784], xmm0
mov eax, 0x41000000
mov dword [0x47e780], eax
mov dword [0x47e900], edi
mov ecx, 0xff282828
mov dword [0x47e7ac], ecx
mov ecx, 0xff2a2a2a
mov dword [0x47e7c8], ecx
mov ecx, 0xff2c2c2c
mov dword [0x47e7e4], ecx
mov ecx, 0xff414141
mov dword [0x47e7fc], ecx
vmovaps xmm0, xmmword [0x47d390]
vmovups xmmword [0x47e804], xmm0
mov dword [0x47e828], eax
mov dword [0x47e824], eax
mov eax, 0x12
mov dword [0x47e814], eax
mov eax, 0x3f800000
mov dword [0x47e81c], eax
mov dword [0x47e818], eax
mov dword [0x47e800], eax
mov dword [0x47e83c], ebx
mov eax, 0xa4
push eax
push 0x47e7a8
push 0x47e84c
call fcn.00478a4c
add esp, 0xc
vxorps xmm0, xmm0, xmm0
vmovups ymmword [0x47e90c], ymm0
vmovups ymmword [0x47e92c], ymm0
vmovups ymmword [0x47e94c], ymm0
vmovups ymmword [0x47e96c], ymm0
vmovups ymmword [0x47e98c], ymm0
mov dword [0x47e9ac], edi
mov dword [0x47e904], edi
mov ebx, 0xff262626
mov dword [0x47e908], ebx
mov dword [0x47e924], ebx
mov dword [0x47e940], ebx
mov dword [0x47e960], esi
mov esi, 0xff787878
mov dword [0x47e97c], esi
mov eax, 0xff969696
mov dword [0x47e998], eax
mov dword [0x47e9b0], edi
mov eax, 0x40800000
mov dword [0x47e9c8], eax
mov dword [0x47e9c4], eax
vxorps xmm0, xmm0, xmm0
vmovups xmmword [0x47e9b4], xmm0
vmovaps xmm0, xmmword [0x47d310]
vmovups xmmword [0x47e9cc], xmm0
mov dword [0x47e9dc], edi
push 0x214
push edi
push 0x47f1b8
vzeroupper
call fcn.00478a71
add esp, 0xc
mov dword [0x47f1b0], edi
mov eax, 0xff282828
mov dword [0x47f1b4], eax
mov dword [0x47f1d0], eax
mov dword [0x47f1ec], eax
mov ecx, 0xff646464
mov dword [0x47f20c], ecx
mov dword [0x47f228], esi
mov ecx, 0xff969696
mov dword [0x47f244], ecx
vmovaps xmm0, xmmword [0x47d3a0]
vmovups xmmword [0x47f3cc], xmm0
mov dword [0x47f204], eax
mov dword [0x47f25c], eax
mov esi, 0xff282828
vxorps xmm0, xmm0, xmm0
vmovups xmmword [0x47f260], xmm0
vmovaps xmm0, xmmword [0x47d3b0]
vmovups xmmword [0x47f270], xmm0
mov dword [0x47f3dc], edi
mov eax, 0x230
mov ecx, 0x47f3e0
push eax
push 0x47f1b0
push ecx
call fcn.00478a4c
add esp, 0xc
mov dword [0x47f288], esi
mov dword [0x47f2a0], edi
mov eax, 0xff2a2a2a
mov dword [0x47f2a4], eax
mov dword [0x47f2bc], edi
mov eax, 0xff2c2c2c
mov dword [0x47f2c0], eax
mov eax, 0xff414141
mov dword [0x47f2d8], eax
vmovaps xmm0, xmmword [0x47d390]
vmovups xmmword [0x47f2e0], xmm0
mov eax, 0x40800000
mov dword [0x47f304], eax
mov dword [0x47f300], eax
mov dword [0x47f314], edi
mov dword [0x47f310], edi
vmovaps xmm0, xmmword [0x47d3c0]
vmovups xmmword [0x47f2f0], xmm0
mov eax, 0x3f800000
mov dword [0x47f2dc], eax
vmovaps xmm0, xmmword [0x47d3d0]
vmovups xmmword [0x47f318], xmm0
mov eax, 0x47f284
mov esi, 0xa4
push esi
push eax
push 0x47f328
call fcn.00478a4c
add esp, 0xc
push esi
mov eax, 0x47f284
push eax
push 0x47f4b4
call fcn.00478a4c
add esp, 0xc
push esi
mov eax, 0x47f284
push eax
push 0x47f558
call fcn.00478a4c
add esp, 0xc
vxorps xmm0, xmm0, xmm0
vmovups ymmword [0x47ee9c], ymm0
vmovups ymmword [0x47eebc], ymm0
vmovups ymmword [0x47eec8], ymm0
mov dword [0x47ee94], edi
mov dword [0x47ee98], ebx
mov dword [0x47eeb4], ebx
mov dword [0x47eed0], ebx
mov eax, 0xff414141
mov dword [0x47eee8], eax
vmovaps ymm0, ymmword [0x47d3e0]
vmovups ymmword [0x47f11c], ymm0
mov esi, 0xffafafaf
mov dword [0x47f13c], esi
mov dword [0x47f140], ebx
mov dword [0x47f144], ebx
mov eax, 0x230
push eax
mov eax, 0x47f3e0
push eax
push 0x47eeec
vzeroupper
call fcn.00478a4c
add esp, 0xc
vmovaps xmm0, xmmword [0x47d400]
vmovups xmmword [0x47f154], xmm0
mov eax, 0x40800000
mov dword [0x47f150], eax
vmovss xmm0, dword [0x47d1e8]
vmovlps qword [0x47f148], xmm0
vmovsd xmm0, qword [0x47d410]
vmovsd qword [0x47f164], xmm0
mov ecx, 0x3f000000
mov dword [0x47f16c], ecx
vxorps xmm0, xmm0, xmm0
vmovups ymmword [0x47e9e8], ymm0
vmovups ymmword [0x47ea08], ymm0
vmovups ymmword [0x47ea28], ymm0
vmovups ymmword [0x47ea48], ymm0
vxorps xmm1, xmm1, xmm1
mov dword [0x47e9e0], edi
mov dword [0x47e9e4], ebx
mov dword [0x47ea00], ebx
mov dword [0x47ea1c], ebx
vmovaps xmm0, xmmword [0x47d420]
vmovups xmmword [0x47ea34], xmm0
mov dword [0x47ea44], 9
mov edx, 0xa
mov dword [0x47ea48], edx
mov dword [0x47ee88], edi
mov dword [0x47ea58], eax
mov dword [0x47ea54], eax
vmovsd xmm0, qword [0x47d430]
vmovsd qword [0x47ea4c], xmm0
mov dword [0x47ee8c], edi
mov dword [0x47ee90], edi
vmovsd xmm0, qword [0x47d310]
vmovsd qword [0x47ea5c], xmm0
mov dword [0x47ee6c], edi
vmovups ymmword [0x47ee4c], ymm1
vmovups ymmword [0x47ee2c], ymm1
vmovups ymmword [0x47ee0c], ymm1
vmovups ymmword [0x47edec], ymm1
mov dword [0x47ede4], edi
mov dword [0x47ede8], ebx
mov dword [0x47ee04], ebx
mov dword [0x47ee20], ebx
vmovaps xmm0, xmmword [0x47d440]
vmovups xmmword [0x47ee40], xmm0
mov dword [0x47ee74], edi
mov dword [0x47ee70], edi
mov dword [0x47ee7c], edi
mov eax, 0x12
mov dword [0x47ee50], eax
mov eax, 0x3f800000
mov dword [0x47ee54], eax
mov dword [0x47ee3c], eax
mov dword [0x47ee78], ecx
mov dword [0x47ee80], edi
mov dword [0x47ee84], edi
mov eax, 0xa4
push eax
push 0x47ede4
push 0x47ed40
vzeroupper
call fcn.00478a4c
add esp, 0xc
push 0x2cc
push edi
push 0x47ea6c
call fcn.00478a71
add esp, 0xc
mov dword [0x47ea68], ebx
mov dword [0x47ea84], ebx
mov dword [0x47eaa0], ebx
vmovaps ymm0, ymmword [0x47d3e0]
vmovups ymmword [0x47ecec], ymm0
mov dword [0x47ed0c], esi
mov dword [0x47ed10], ebx
mov dword [0x47ed14], ebx
mov eax, 0x41000000
mov dword [0x47ed20], eax
vmovsd xmm1, qword [0x47d310]
vmovsd qword [0x47ed38], xmm1
vxorps xmm0, xmm0, xmm0
vmovups xmmword [0x47f178], xmm0
mov dword [0x47f188], edi
mov dword [0x47f170], edi
mov eax, 0xff787878
mov dword [0x47f174], eax
vmovaps xmm0, xmmword [0x47d450]
vmovups xmmword [0x47f18c], xmm0
vmovaps xmm0, xmmword [0x47d460]
vmovups xmmword [0x47f19c], xmm0
mov ecx, 0x3f000000
mov dword [0x47f1ac], ecx
mov dword [0x47f8f0], edi
mov eax, 0xff2d2d2d
mov dword [0x47f8f4], eax
mov dword [0x47f90c], edi
mov dword [0x47f910], eax
mov dword [0x47f928], edi
mov dword [0x47f92c], eax
mov edx, 0xff2d2d2d
vmovaps xmm0, xmmword [0x47d420]
vmovups xmmword [0x47f944], xmm0
mov eax, 8
mov dword [0x47fa04], eax
mov dword [0x47fa08], eax
mov dword [0x47fa0c], eax
vmovaps xmm0, xmmword [0x47d470]
vmovups xmmword [0x47fa18], xmm0
mov esi, 0x40800000
mov dword [0x47fa28], esi
mov dword [0x47fa2c], edi
vmovss xmm2, dword [0x47d1e8]
vmovlps qword [0x47fa10], xmm2
vmovsd qword [0x47fa30], xmm1
vmovaps xmm0, xmm1
vxorps xmm1, xmm1, xmm1
vmovups ymmword [0x47f968], ymm1
vmovups ymmword [0x47f988], ymm1
vmovups ymmword [0x47f9a8], ymm1
vmovups ymmword [0x47f9c8], ymm1
mov dword [0x47f9e8], edi
mov dword [0x47f960], edi
mov dword [0x47f964], edx
mov dword [0x47f980], edx
mov dword [0x47f99c], edx
vmovaps xmm1, xmmword [0x47d330]
vmovups xmmword [0x47f9bc], xmm1
mov edx, 0x40000000
mov dword [0x47f9dc], edx
mov dword [0x47f9e0], edx
mov dword [0x47f9ec], edi
mov dword [0x47f9f0], edi
mov dword [0x47f9f8], edi
mov edx, 0x12
mov dword [0x47f9cc], edx
mov ebx, 0x3f800000
mov dword [0x47f9d0], ebx
mov dword [0x47f9b8], ebx
mov dword [0x47f9f4], ecx
mov dword [0x47f9fc], edi
mov dword [0x47fa00], edi
mov dword [0x47f610], edi
mov ecx, 0xff282828
mov dword [0x47f614], ecx
mov esi, 0xff414141
mov dword [0x47f62c], esi
mov esi, 0xffafafaf
mov dword [0x47f630], esi
mov esi, 0xa
mov dword [0x47f8c4], esi
mov dword [0x47f8c8], eax
vbroadcastss ymm1, dword [0x47d234]
vmovaps ymmword [esp + 0x60], ymm1
vmovups xmmword [0x47f8d8], xmm1
mov dword [0x47f8d4], 0x41200000
vmovlps qword [0x47f8cc], xmm2
vmovsd qword [0x47f8e8], xmm0
mov dword [0x47f760], edi
vxorps xmm0, xmm0, xmm0
vmovups ymmword [0x47f740], ymm0
vmovups ymmword [0x47f720], ymm0
vmovups ymmword [0x47f700], ymm0
vmovups ymmword [0x47f6e0], ymm0
mov dword [0x47f6d8], edi
mov dword [0x47f6dc], ecx
mov dword [0x47f6f8], ecx
mov dword [0x47f714], ecx
vmovaps xmm0, xmmword [0x47d390]
vmovups xmmword [0x47f734], xmm0
mov eax, 0x40000000
mov dword [0x47f758], eax
mov dword [0x47f754], eax
mov dword [0x47f768], edi
mov dword [0x47f764], edi
mov dword [0x47f770], edi
mov dword [0x47f744], edx
mov dword [0x47f748], ebx
mov dword [0x47f730], ebx
mov eax, 0x3f000000
mov dword [0x47f76c], eax
mov dword [0x47f774], edi
mov dword [0x47f778], edi
mov esi, 0xa4
push esi
push 0x47f6d8
push 0x47f634
vzeroupper
call fcn.00478a4c
add esp, 0xc
vxorps xmm0, xmm0, xmm0
vmovups ymmword [0x47f828], ymm0
vmovups ymmword [0x47f848], ymm0
vmovups ymmword [0x47f888], ymm0
vmovups ymmword [0x47f868], ymm0
mov dword [0x47f8a8], edi
mov dword [0x47f820], edi
mov eax, 0xff2d2d2d
mov dword [0x47f824], eax
mov dword [0x47f840], eax
mov dword [0x47f85c], eax
vmovaps xmm0, xmmword [0x47d390]
vmovups xmmword [0x47f87c], xmm0
mov eax, 0x40000000
mov dword [0x47f8a0], eax
mov dword [0x47f89c], eax
mov dword [0x47f8b0], edi
mov dword [0x47f8ac], edi
mov eax, 0x12
mov dword [0x47f88c], eax
mov dword [0x47f890], ebx
mov dword [0x47f878], ebx
vmovaps xmm0, xmmword [0x47d3d0]
vmovups xmmword [0x47f8b4], xmm0
push esi
push 0x47f820
push 0x47f77c
vzeroupper
call fcn.00478a4c
add esp, 0xc
xor eax, eax
inc eax
mov dword [0x47fbec], eax
mov dword [0x47fa38], edi
mov edx, 0xff282828
mov dword [0x47fa3c], edx
mov dword [0x47fa54], edi
mov dword [0x47fa58], edx
mov dword [0x47fa70], edi
mov dword [0x47fa74], edx
vmovaps xmm0, xmmword [0x47d480]
vmovups xmmword [0x47fbd4], xmm0
mov ecx, 0xffafafaf
mov dword [0x47fbe4], ecx
mov dword [0x47fbe8], ecx
vmovaps ymm3, ymmword [esp + 0x60]
vmovups xmmword [0x47fbf0], xmm3
mov dword [0x47fc04], edi
mov dword [0x47fc00], edi
vxorps xmm0, xmm0, xmm0
vmovups ymmword [0x47fa94], ymm0
vmovups ymmword [0x47fab4], ymm0
vmovups ymmword [0x47fad4], ymm0
vmovups ymmword [0x47faf4], ymm0
vxorps xmm2, xmm2, xmm2
mov dword [0x47fb14], edi
mov dword [0x47fa8c], edi
mov dword [0x47fa90], edx
mov dword [0x47faac], edx
mov dword [0x47fac8], edx
mov esi, 0xff282828
vmovaps xmm1, xmmword [0x47d390]
vmovups xmmword [0x47fae8], xmm1
mov dword [0x47fb1c], edi
mov dword [0x47fb18], edi
mov dword [0x47fb24], edi
mov edx, 0x12
mov dword [0x47faf8], edx
mov dword [0x47fafc], ebx
mov dword [0x47fae4], ebx
mov eax, 0x3f000000
mov dword [0x47fb20], eax
vmovaps xmm0, xmmword [0x47d490]
vmovups xmmword [0x47fb28], xmm0
vmovups ymmword [0x47fb38], ymm2
vmovups ymmword [0x47fb58], ymm2
vmovups ymmword [0x47fb78], ymm2
vmovups ymmword [0x47fb98], ymm2
mov dword [0x47fbb8], edi
mov dword [0x47fb50], esi
mov dword [0x47fb6c], esi
vmovups xmmword [0x47fb8c], xmm1
mov dword [0x47fbbc], edi
mov dword [0x47fbc0], edi
mov dword [0x47fbc8], edi
mov dword [0x47fb9c], edx
mov dword [0x47fba0], ebx
mov dword [0x47fb88], ebx
mov dword [0x47fbc4], eax
mov dword [0x47fbcc], edi
mov dword [0x47fbd0], edi
mov dword [0x47fc08], edi
mov eax, 0xff2d2d2d
mov dword [0x47fc0c], eax
vmovaps ymm0, ymmword [0x47d4a0]
vmovups ymmword [0x47fc24], ymm0
mov dword [0x47fc44], edi
mov dword [0x47fc48], ecx
mov dword [0x47fc80], edi
vmovaps ymm0, ymmword [0x47d4c0]
vmovups ymmword [0x47fc60], ymm0
vmovaps ymm0, ymmword [0x47d4e0]
vmovups ymmword [0x47fc84], ymm0
vmovaps ymm0, ymm3
vmovups ymmword [0x47fca4], ymm3
vmovups xmmword [0x47fcc4], xmm0
mov eax, 1
mov dword [0x481978], eax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [0x480430], ymm0
vmovups ymmword [0x480424], ymm0
vmovups ymmword [0x480404], ymm0
vmovups ymmword [0x4803e4], ymm0
vmovups ymmword [0x4803c4], ymm0
vmovups ymmword [0x4803a4], ymm0
vmovups ymmword [0x480384], ymm0
vpbroadcastq xmm0, qword [0x47d238]
vmovaps xmm2, xmmword [0x47d540]
vmovaps xmm3, xmmword [0x47d550]
vmovaps xmm4, xmmword [0x47d560]
vmovaps xmm5, xmmword [0x47d570]
vmovaps xmm6, xmmword [0x47d580]
vmovd xmm7, edi
vpor xmm7, xmm7, xmm0
vsubsd xmm7, xmm7, qword [0x47d238]
vcvtsd2ss xmm7, xmm7, xmm7
vdivss xmm7, xmm7, dword [0x47d500]
vaddss xmm7, xmm7, xmm7
vmulss xmm7, xmm7, dword [0x47d504]
vmovss xmm1, dword [0x47d508]
vfmadd213ss xmm1, xmm7, dword [0x47d50c]
vblendps xmm1, xmm1, xmmword [0x47d510], 0xe
vbroadcastss xmm7, xmm7
vfmadd213ps xmm1, xmm7, xmmword [0x47d520]
vfmadd213ps xmm1, xmm7, xmmword [0x47d530]
vfmadd213ps xmm1, xmm7, xmm2
vfmadd213ps xmm1, xmm7, xmm3
vfmadd213ps xmm1, xmm7, xmm4
vfmadd213ps xmm1, xmm7, xmm5
vfmadd213ps xmm1, xmm7, xmm6
vmovlps qword [edi*8 + 0x480394], xmm1
inc edi
cmp edi, 0xc
jne 0x46922b
vxorps xmm0, xmm0, xmm0
vmovups ymmword [0x47fcec], ymm0
vmovups ymmword [0x47fcd4], ymm0
xor esi, esi
inc esi
mov dword [0x47fcf0], esi
mov edi, 0x1000
push edi
vzeroupper
call fcn.00478a8f
add esp, 4
mov dword [0x47fcf4], eax
mov dword [0x47fcf8], edi
mov dword [0x47fd0c], edi
mov eax, 0x40000000
mov dword [0x47fcfc], eax
xor ebx, ebx
mov dword [0x47fce4], ebx
mov eax, 0x4708a2
mov dword [0x47fce8], eax
mov ecx, 0x4708b2
mov dword [0x47fcec], ecx
vxorps xmm0, xmm0, xmm0
vmovups ymmword [0x481938], ymm0
mov dword [0x48195c], ebx
mov dword [0x481958], ebx
mov dword [0x48193c], eax
mov dword [0x481940], ecx
mov dword [0x481954], 0x10
mov dword [0x481944], esi
mov dword [0x481934], esi
mov dword [0x47fd18], 0x4704e0
mov dword [0x47fd14], 0x470573
mov dword [0x47fd10], ebx
vmovups ymmword [0x481aa0], ymm0
vmovups ymmword [0x481ab8], ymm0
mov dword [0x481abc], esi
push edi
vzeroupper
call fcn.00478a8f
add esp, 4
mov dword [0x481ac0], eax
mov dword [0x481ac4], edi
mov dword [0x481ad8], edi
mov eax, 0x40000000
mov dword [0x481ac8], eax
mov dword [0x481ab0], ebx
mov eax, 0x4708a2
mov dword [0x481ab4], eax
mov eax, 0x4708b2
mov dword [0x481ab8], eax
mov dword [esp + 0xa4], 3
mov dword [esp + 0xa8], esi
vxorps xmm0, xmm0, xmm0
vmovups xmmword [esp + 0xac], xmm0
vmovaps xmm0, xmmword [0x47d590]
vmovups xmmword [esp + 0xbc], xmm0
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
push 0x481b0c
lea ecx, [esp + 0xa8]
push ecx
push esi
call dword [eax + 0x58]
mov eax, dword [esi]
push 0x481b10
push ebx
push 0x548
push 0x479096
push esi
call dword [eax + 0x30]
mov al, 0x3c
mov byte [esp + 0x5c], al
mov dword [esp + 0x58], 0x7575706c
mov dword [esp + 0x54], 0x7e657a64
mov byte [esp + 0x44], al
mov dword [esp + 0x40], 0x7f687677
mov dword [esp + 0x3c], 0x746e7060
mov word [esp + 0x50], 0x396a
mov dword [esp + 0x4c], 0x787a7a77
mov eax, ebx
add al, 0x34
xor byte [esp + ebx + 0x54], al
inc ebx
cmp ebx, 9
jne 0x469457
lea eax, [esp + 0x54]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 2
vxorps xmm0, xmm0, xmm0
vmovups xmmword [esp + 0xb0], xmm0
xor eax, eax
mov ecx, eax
add cl, 0x34
xor byte [esp + eax + 0x3c], cl
inc eax
cmp eax, 9
jne 0x469495
lea eax, [esp + 0x3c]
mov dword [esp + 0xc0], eax
vmovaps xmm0, xmmword [0x47d5a0]
vmovups xmmword [esp + 0xc4], xmm0
xor eax, eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov ecx, eax
add cl, 0x34
xor byte [esp + eax + 0x4c], cl
inc eax
cmp eax, 6
jne 0x4694d0
lea eax, [esp + 0x4c]
mov dword [esp + 0xdc], eax
vmovaps xmm0, xmmword [0x47d5b0]
vmovups xmmword [esp + 0xe0], xmm0
xor ebx, ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov eax, dword [esi]
push 0x481b14
push 0x548
push 0x479096
push 3
lea ecx, [esp + 0xb4]
push ecx
mov edi, ecx
push esi
call dword [eax + 0x2c]
lea eax, [esp + 0x1f4]
mov dword [eax + 0x14], ebx
vmovaps xmm0, xmmword [0x47d5c0]
vmovups xmmword [eax], xmm0
mov dword [eax + 0x10], ebx
mov edx, eax
lea eax, [esp + 0x1e8]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
vcvtdq2ps xmm4, xmmword [esp + 0x20]
vmovaps xmmword [esp + 0x20], xmm4
vmovss xmm3, dword [0x47d1e0]
vdivss xmm0, xmm3, xmm4
vmovshdup xmm1, xmm4
vxorps xmm2, xmm2, xmm2
vsubss xmm1, xmm2, xmm1
vdivss xmm1, xmm3, xmm1
vmovss dword [esp + 0xa4], xmm0
vsubss xmm0, xmm2, xmm4
vxorps xmm2, xmm2, xmm2
vmovups xmmword [esp + 0xa8], xmm2
vmovss dword [esp + 0xb8], xmm1
vmovups xmmword [esp + 0xbc], xmm2
vmovss xmm1, dword [0x47d274]
vblendps xmm0, xmm0, xmm4, 2
vdivps xmm0, xmm4, xmm0
vmovlhps xmm0, xmm1, xmm0
vmovups xmmword [esp + 0xcc], xmm0
vmovsd xmm0, qword [0x47d5d0]
vmovsd qword [esp + 0xdc], xmm0
mov ecx, dword [esi]
push 0x481b18
push eax
push edx
push esi
call dword [ecx + 0xc]
mov eax, dword [esi]
push 0x481b1c
push ebx
push 0x27c
push str.DXBC
push esi
call dword [eax + 0x3c]
push 0x108
push ebx
push edi
call fcn.00478a71
add esp, 0xc
vmovaps xmm0, xmmword [0x47d5e0]
vmovups xmmword [esp + 0xac], xmm0
mov dword [esp + 0xbc], 6
xor eax, eax
inc eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov byte [esp + 0xc8], 0xf
mov eax, dword [esi]
push 0x481b20
push edi
push esi
call dword [eax + 0x50]
mov dword [esp + 0xb8], ebx
vmovaps xmm0, xmmword [0x47d5f0]
vmovups xmmword [esp + 0xa4], xmm0
mov dword [esp + 0xb4], ebx
mov eax, dword [esi]
push 0x481b28
push ebx
push edi
push esi
call dword [eax + 0xc]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xb4], ebx
vmovaps xmm0, xmmword [0x47d600]
vmovups xmmword [esp + 0xa4], xmm0
mov eax, dword [esi]
push 0x481b24
push ebx
push edi
push esi
call dword [eax + 0xc]
vxorps xmm0, xmm0, xmm0
vmovups xmmword [esp + 0xb8], xmm0
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xc8], ebx
vmovaps xmm0, xmmword [0x47d610]
vmovups xmmword [esp + 0xa4], xmm0
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xbc], 8
vmovsd xmm0, qword [0x47d620]
vmovsd qword [esp + 0xd0], xmm0
mov eax, dword [esi]
push 0x481b30
push edi
push esi
call dword [eax + 0x5c]
vxorps xmm0, xmm0, xmm0
vunpcklpd xmm0, xmm0, xmmword [esp + 0x20]
vmovups xmmword [0x481af0], xmm0
vmovsd xmm0, qword [0x47d630]
vmovsd qword [0x481b00], xmm0
mov dword [0x481b48], 0x47e090
push 0x124
push ebx
push 0x48197c
call fcn.00478a71
add esp, 0xc
mov eax, 0x4708a2
mov dword [0x481998], eax
mov ecx, 0x4708b2
mov dword [0x48199c], ecx
mov dword [0x48198c], eax
mov dword [0x481990], ecx
lea esi, [esp + 0x1e8]
lea edi, [esp + 0x54]
mov ecx, esi
mov edx, edi
call fcn.00471210
mov dword [esp + 0xcc], ebx
mov ecx, dword [esi]
mov dword [esp + 0xa4], ecx
mov edx, dword [edi]
mov dword [esp + 0xa8], edx
vmovaps ymm0, ymmword [0x47d640]
vmovups ymmword [esp + 0xac], ymm0
lea esi, [esp + 0x1f4]
mov dword [esi], eax
shl ecx, 2
mov dword [esi + 4], ecx
mov dword [esi + 8], ebx
mov eax, dword [0x481b08]
mov ecx, dword [eax]
lea edx, [esp + 0x3c]
push edx
push esi
lea edx, [esp + 0xac]
push edx
push eax
vzeroupper
call dword [ecx + 0x14]
mov dword [esi + 0x14], ebx
mov eax, dword [esp + 0xb4]
mov dword [esi], eax
vmovaps xmm0, xmmword [0x47d660]
vmovups xmmword [esi + 4], xmm0
mov eax, dword [0x481b08]
mov ecx, dword [eax]
push 0x481b2c
push esi
push dword [esp + 0x44]
push eax
call dword [ecx + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [0x481b2c]
mov dword [0x481adc], eax
vmovd xmm0, dword [0x4819a0]
vpmovsxwd xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vbroadcastss xmm1, dword [0x47d274]
vaddps xmm0, xmm0, xmm1
vmovsd xmm1, qword [0x481980]
vcvtdq2ps xmm1, xmm1
vdivps xmm0, xmm0, xmm1
vmovlps qword [0x481ae0], xmm0
mov ecx, dword [0x481a94]
test ecx, ecx
je 0x46985e
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x14], eax
mov ecx, dword [ecx]
jmp 0x469849
xor ebx, ebx
jmp 0x46992b
mov dword [0x4819a8], eax
mov dword [0x4819c8], eax
mov dword [0x4819e8], eax
mov dword [0x481a08], eax
mov dword [0x481a28], eax
mov dword [0x481a48], eax
mov dword [0x481a68], eax
mov eax, dword [0x48197c]
mov ecx, dword [0x481994]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0xa4]
push eax
push ecx
call dword [0x48199c]
add esp, 8
mov dword [0x48197c], ebx
mov dword [0x481980], ebx
mov dword [0x481984], ebx
mov dword [0x4819a4], ebx
mov dword [0x4819a0], ebx
mov eax, dword [0x481a90]
test eax, eax
je 0x469921
lea ecx, [eax + 4]
mov dword [0x47e1f8], ecx
mov dword [0x4802f8], 0
mov ecx, dword [0x48196c]
test ecx, ecx
je 0x469921
mov ecx, dword [ecx + 0x8c]
test ecx, ecx
je 0x469921
vmovss xmm0, dword [eax + 8]
vmovss dword [ecx + 0x70], xmm0
vmovss xmm1, dword [0x47d1e0]
vfmadd231ss xmm0, xmm1, dword [0x47e22c]
vmovss dword [ecx + 0x70], xmm0
vfmadd231ss xmm0, xmm1, dword [0x47fc7c]
vmovss dword [ecx + 0x70], xmm0
cmp dword [0x481b48], 0
setne bl
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret