Function at 0x42a0e0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x108
mov ecx, dword [0x46ed48]
push esi
push edi
mov eax, dword [ecx + 0x1a08]
mov byte [eax + 0x7c], 1
mov eax, dword [ecx + 0x1a08]
mov dword [ebp - 0x34], eax
cmp byte [eax + 0x7f], 0
je 0x42a128
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov esi, dword [0x46ed48]
mov dword [ebp - 0x30], esi
call fcn.0040a470
fstp dword [ebp - 0xa8]
call fcn.00407210
test byte [ebx + 0x10], 0x10
fstp dword [ebp - 0xac]
je 0x42a152
xorps xmm0, xmm0
jmp 0x42a162
movss xmm0, dword [ebp - 0xa8]
addss xmm0, dword [esi + 0x1568]
movss xmm1, dword [ebp - 0xac]
mov edi, dword [ebx + 8]
subss xmm1, xmm0
push 0
push edi
movss dword [ebp - 0x94], xmm0
movss dword [ebp - 0x8c], xmm1
call fcn.004099f0
mov dword [ebp - 0x98], eax
mov dword [esi + 0x1ae8], 0
call fcn.00406c50
push edi
call fcn.00411030
mov ecx, dword [ebx + 0x10]
add esp, 0xc
mov dword [ebp - 0x90], ecx
test cl, 0x20
je 0x42a1c4
and ecx, 0xff9fffff
or ecx, 0x100008
mov dword [ebx + 0x10], ecx
mov edi, dword [ebx + 0xc]
test cl, 8
jne 0x42a1d9
push ecx
push edi
call fcn.0042b230
mov ecx, dword [ebx + 0x10]
add esp, 8
mov edx, dword [esi + 0x2d4c]
test ecx, 0x700000
jne 0x42a1f0
mov eax, edx
and eax, 0x700000
or ecx, eax
test ecx, 0x1800000
jne 0x42a201
mov eax, edx
and eax, 0x1800000
or ecx, eax
test ecx, 0x6000000
jne 0x42a212
mov eax, edx
and eax, 0x6000000
or ecx, eax
test ecx, 0x18000000
jne 0x42a223
mov eax, edx
and eax, 0x18000000
or ecx, eax
movss xmm1, dword [edi + 4]
and edx, 0xe00fffff
movss xmm2, dword [edi]
or ecx, edx
movss xmm3, dword [edi + 8]
mov edx, ecx
movss xmm7, dword [0x45b844]
mov eax, ecx
shr eax, 0x13
shr edx, 1
and eax, 0xffffff01
not dl
mov dword [ebp - 0x40], eax
and edx, 0xffffff01
mov dword [ebx + 0x10], ecx
movzx eax, dl
add eax, 3
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x3c], eax
lea eax, [edi + 4]
mov dword [ebp - 0xc0], eax
lea eax, [edi + 8]
movss dword [ebp - 0x2c], xmm2
movss dword [ebp - 0x28], xmm1
mov dword [ebp - 0xbc], eax
movss dword [ebp - 0x24], xmm3
test dl, dl
je 0x42a29a
movss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x20], xmm0
jmp 0x42a2a1
mov dword [ebp - 0x20], 0x3f800000
mov eax, ecx
and eax, 0x10100000
mov dword [ebp - 0xb8], eax
cmp eax, 0x10100000
jne 0x42a31b
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
call fcn.004080e0
add esp, 0x18
mov ecx, dword [ebx + 0x10]
movss xmm7, dword [0x45b844]
movss xmm2, dword [ebp - 0x2c]
movss xmm1, dword [ebp - 0x28]
movss xmm3, dword [ebp - 0x24]
xorps xmm0, xmm0
comiss xmm2, xmm0
movss xmm5, dword [0x45f5b0]
movss xmm4, dword [0x45b81c]
jb 0x42a3cd
movaps xmm0, xmm4
jmp 0x42a3d0
mov eax, ecx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x42a2f7
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
call fcn.00408250
mov eax, dword [esi + 0x2d58]
add esp, 0x18
cmp eax, dword [edi]
jne 0x42a2dd
mov eax, dword [esi + 0x2d5c]
cmp eax, dword [edi + 4]
jne 0x42a2dd
mov eax, dword [esi + 0x2d60]
cmp eax, dword [edi + 8]
jne 0x42a2dd
movss xmm1, dword [ebp - 0x28]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x42a399
movss xmm2, dword [esi + 0x2d50]
movss dword [ebp - 0x2c], xmm2
jmp 0x42a39e
movss xmm2, dword [ebp - 0x2c]
movss xmm3, dword [ebp - 0x24]
movss xmm7, dword [0x45b844]
mov ecx, dword [ebx + 0x10]
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x42a2fa
movss xmm1, dword [esi + 0x2d54]
movss dword [ebp - 0x28], xmm1
jmp 0x42a2fa
movaps xmm0, xmm5
movss xmm6, dword [0x45b88c]
mulss xmm2, xmm6
addss xmm2, xmm0
cvttss2si eax, xmm2
xorps xmm2, xmm2
comiss xmm1, xmm2
mov dword [ebp - 0x50], eax
jb 0x42a3f4
movaps xmm0, xmm4
jmp 0x42a3f7
movaps xmm0, xmm5
comiss xmm3, xmm2
mulss xmm1, xmm6
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x4c], eax
jb 0x42a410
movaps xmm0, xmm4
jmp 0x42a413
movaps xmm0, xmm5
mulss xmm3, xmm6
addss xmm3, xmm0
movss xmm0, dword [ebp - 0x20]
comiss xmm0, xmm2
cvttss2si eax, xmm3
mov dword [ebp - 0x48], eax
jae 0x42a42f
movaps xmm4, xmm5
movss xmm0, dword [ebp - 0x20]
mov edx, dword [ebp - 0x34]
mulss xmm0, xmm6
mov byte [ebp - 1], 0
mov byte [ebp - 0x1c], 0
addss xmm0, xmm4
cvttss2si eax, xmm0
mov dword [ebp - 0x44], eax
cmp dword [esi + 0x1598], 0
movss xmm3, dword [edx + 0xc8]
movss xmm4, dword [edx + 0xcc]
movss dword [ebp - 0x54], xmm3
movss dword [ebp - 0x58], xmm4
jne 0x42a47b
movss xmm1, dword [ebp - 0x94]
jmp 0x42a47e
xorps xmm1, xmm1
movaps xmm0, xmm3
mov eax, ecx
addss xmm0, xmm1
and eax, 0x20
movss dword [edx + 0xc8], xmm0
test ecx, 0x300000
je 0x42a7e2
test eax, eax
jne 0x42a7e2
mov edx, dword [ebp - 0x3c]
movss xmm2, dword [esi + 0x1568]
movss xmm1, dword [ebp - 0x8c]
lea eax, [edx - 1]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movaps xmm0, xmm3
mulss xmm0, xmm2
subss xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvttss2si eax, xmm1
movaps xmm1, xmm7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm1, xmm0
movss xmm0, dword [ebp - 0x8c]
movss dword [ebp - 0xa4], xmm1
addss xmm1, xmm2
mulss xmm1, xmm3
subss xmm0, xmm1
movaps xmm1, xmm7
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, ecx
cvtdq2ps xmm0, xmm0
and eax, 0x1000000
mov dword [ebp - 0xb4], eax
maxss xmm1, xmm0
movss dword [ebp - 0xb0], xmm1
je 0x42a57b
mov byte [ebp - 0x15], 0x77
mov al, 0x3a
xor al, byte [ebp - 0x15]
mov dl, 0x47
mov ch, dl
mov byte [ebp - 0x14], al
mov al, byte [ebp - 0x15]
mov ah, 0x59
mov dh, ch
mov byte [ebp - 2], ch
xor dl, al
mov byte [ebp - 0xd], 0
xor ah, al
mov byte [ebp - 0x12], dl
xor ch, al
mov byte [ebp - 0x11], ah
xor dh, al
mov byte [ebp - 0x10], ch
mov cl, 0x4d
mov byte [ebp - 0xf], dh
xor cl, al
mov byte [ebp - 0xd], 0
mov al, byte [ebp - 2]
xor al, byte [ebp - 0x15]
mov byte [ebp - 0xe], al
lea eax, [ebp - 0x14]
mov byte [ebp - 0x13], cl
jmp 0x42a5ae
mov dh, 0x2e
mov byte [ebp - 5], 0
mov dl, 0x1e
mov byte [ebp - 0xb], dh
mov ah, dl
mov byte [ebp - 5], 0
mov al, 0x63
mov ch, ah
mov cl, 0x14
xor al, dh
xor ah, dh
mov byte [ebp - 0xa], al
xor cl, dh
mov byte [ebp - 7], ah
xor dl, dh
mov byte [ebp - 9], cl
xor ch, dh
mov byte [ebp - 8], dl
mov byte [ebp - 6], ch
lea eax, [ebp - 0xa]
push ecx
mov dword [esp], 0xbf800000
push 0
push 0
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00407480
mov ecx, dword [0x46f280]
add esp, 0x14
movss xmm0, dword [eax]
comiss xmm0, dword [ebp - 0xa4]
mov eax, dword fs:[0x2c]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x46ed88]
setae byte [ebp - 2]
cmp eax, dword [esi + 4]
jg 0x42b0c7
mov eax, dword [0x46edbc]
cmp eax, dword [esi + 4]
jg 0x42b113
mov eax, dword [0x46edf0]
cmp eax, dword [esi + 4]
jg 0x42b19f
cmp byte [ebp - 2], 0
mov eax, dword [ebx + 0x10]
je 0x42a628
xor esi, esi
jmp 0x42a637
mov esi, eax
and esi, 0x200000
neg esi
sbb esi, esi
neg esi
inc esi
xor edi, edi
cmp dword [ebp - 0x3c], edi
jbe 0x42aad0
and eax, 8
shl esi, 4
mov dword [ebp - 0x84], eax
nop
test edi, edi
je 0x42a677
mov eax, dword [ebp - 0x30]
sub esp, 8
movss xmm0, dword [eax + 0x1568]
movss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.00413630
add esp, 8
lea eax, [edi + 1]
mov dword [ebp - 8], eax
cmp eax, dword [ebp - 0x3c]
jge 0x42a68c
movss xmm0, dword [ebp - 0xa4]
jmp 0x42a694
movss xmm0, dword [ebp - 0xb0]
push ecx
movss dword [esp], xmm0
call fcn.00414010
add esp, 4
cmp dword [ebp - 0xb4], 0
je 0x42a719
cmp byte [ebp - 0x40], 0
je 0x42a6b6
xorps xmm0, xmm0
jmp 0x42a6be
movss xmm0, dword [0x45b844]
push ecx
mov dword [esp], 0x3f800000
lea eax, [ebp - 0x9c]
push dword [esi + 0x46edc0]
movss dword [ebp - 0x9c], xmm0
push eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0
push eax
push ecx
lea eax, [ebp - 0x2c]
mov dword [esp], 0x3b808081
lea eax, [eax + edi*4]
push eax
push 8
push dword [edi*4 + 0x46ed78]
call fcn.0042eb90
mov cl, byte [ebp - 1]
add esp, 0x20
or cl, al
or byte [ebp - 0x1c], cl
mov byte [ebp - 1], cl
jmp 0x42a771
xor ecx, ecx
mov eax, 0xff
cmp byte [ebp - 0x40], cl
push ecx
mov dword [esp], 0x3f800000
cmovne eax, ecx
push dword [esi + 0x46ed8c]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x9c], ecx
push eax
push ecx
lea eax, [ebp - 0x50]
mov dword [esp], 0x3f800000
lea eax, [eax + edi*4]
push eax
push 4
push dword [edi*4 + 0x46ed78]
call fcn.0042eb90
add esp, 0x20
or byte [ebp - 1], al
cmp dword [ebp - 0x84], 0
jne 0x42a7ce
mov byte [ebp - 0x15], 0x35
mov al, 0x56
xor al, byte [ebp - 0x15]
mov ah, 0x41
mov byte [ebp - 0x14], al
mov cl, 0x5a
mov al, byte [ebp - 0x15]
mov dl, 0x5b
mov byte [ebp - 2], ah
xor cl, al
xor dl, al
mov byte [ebp - 0xd], 0
xor ah, al
mov byte [ebp - 0x13], cl
mov ch, 0x50
mov byte [ebp - 0x11], ah
xor ch, al
mov byte [ebp - 0x12], dl
mov dh, 0x4d
mov byte [ebp - 0x10], ch
xor dh, al
mov byte [ebp - 0xd], 0
mov al, byte [ebp - 2]
xor al, byte [ebp - 0x15]
mov byte [ebp - 0xe], al
lea eax, [ebp - 0x14]
push 1
push eax
mov byte [ebp - 0xf], dh
call fcn.00410a60
add esp, 8
mov edi, dword [ebp - 8]
add esi, 4
cmp edi, dword [ebp - 0x3c]
jl 0x42a650
jmp 0x42aad0
mov esi, eax
test ecx, 0x400000
je 0x42aae2
test eax, eax
jne 0x42aae2
cmp byte [ebp - 0x5c], al
je 0x42a895
mov eax, dword [ebp - 0x44]
mov ecx, 0xff
test eax, eax
jns 0x42a812
mov dword [ebp - 0x40], esi
jmp 0x42a81d
cmp eax, 0xff
cmovg eax, ecx
mov dword [ebp - 0x40], eax
mov edi, dword [ebp - 0x48]
test edi, edi
jns 0x42a828
xor edi, edi
jmp 0x42a82d
cmp edi, ecx
cmovg edi, ecx
mov esi, dword [ebp - 0x4c]
test esi, esi
jns 0x42a838
xor esi, esi
jmp 0x42a83d
cmp esi, ecx
cmovg esi, ecx
mov edx, dword [ebp - 0x50]
test edx, edx
jns 0x42a848
xor edx, edx
jmp 0x42a84d
cmp edx, ecx
cmovg edx, ecx
movaps xmm0, xmmword [0x45f660]
xor ecx, ecx
movups xmmword [ebp - 0x80], xmm0
mov word [ebp - 0x70], 0x1872
mov byte [ebp - 0x6e], 0
mov al, byte [ebp - 0x80]
xor byte [ebp + ecx - 0x7f], al
inc ecx
cmp ecx, 0x11
jb 0x42a864
push dword [ebp - 0x40]
lea eax, [ebp - 0x7f]
mov byte [ebp - 0x6e], 0
push edi
push esi
push edx
push eax
lea eax, [ebp - 0x100]
push 0x40
push eax
call fcn.0040b090
add esp, 0x1c
jmp 0x42a91b
mov edi, dword [ebp - 0x48]
mov eax, 0xff
test edi, edi
jns 0x42a8a5
xor edi, edi
jmp 0x42a8aa
cmp edi, eax
cmovg edi, eax
mov esi, dword [ebp - 0x4c]
test esi, esi
jns 0x42a8b5
xor esi, esi
jmp 0x42a8ba
cmp esi, eax
cmovg esi, eax
mov edx, dword [ebp - 0x50]
test edx, edx
jns 0x42a8c5
xor edx, edx
jmp 0x42a8ca
cmp edx, eax
cmovg edx, eax
mov cl, 0x12
mov dword [ebp - 0x1b], 0x22373112
mov dword [ebp - 0x17], 0x22374a20
xor eax, eax
mov dword [ebp - 0x13], 0x22374a20
mov word [ebp - 0xf], 0x4a20
mov byte [ebp - 0xd], 0
nop dword [eax]
xor byte [ebp + eax - 0x1a], cl
inc eax
cmp eax, 0xd
jae 0x42a8ff
mov cl, byte [ebp - 0x1b]
jmp 0x42a8f0
push edi
push esi
push edx
lea eax, [ebp - 0x1a]
mov byte [ebp - 0xd], 0
push eax
lea eax, [ebp - 0x100]
push 0x40
push eax
call fcn.0040b090
add esp, 0x18
movss xmm4, dword [ebp - 0x8c]
push ecx
movss dword [esp], xmm4
call fcn.00414010
mov al, 0x46
mov byte [ebp - 0xc], 0x65
mov cl, al
mov dword [ebp - 0x88], 0
xor al, byte [ebp - 0xc]
xor ah, ah
mov byte [ebp - 0xb], al
mov dl, 0x31
mov al, byte [ebp - 0xc]
mov ch, 0x1d
push 0
mov byte [ebp - 5], ah
xor cl, al
xor ah, al
mov byte [ebp - 0xa], cl
push 0
xor dl, al
mov byte [ebp - 8], ah
xor ch, al
mov byte [ebp - 9], dl
mov dh, 0x11
mov byte [ebp - 7], ch
xor dh, al
mov byte [ebp - 5], 0
push 6
lea eax, [ebp - 0x88]
mov byte [ebp - 6], dh
push eax
push 0x40
lea eax, [ebp - 0x100]
mov dword [ebp - 0x84], 0
push eax
lea eax, [ebp - 0xb]
push 0
push eax
call fcn.0042f6b0
add esp, 0x24
test al, al
je 0x42aa72
mov byte [ebp - 1], 1
lea edx, [ebp - 0x100]
mov al, byte [edx]
cmp al, 0x23
je 0x42a9bf
cmp al, 0x20
je 0x42a9bf
cmp al, 9
jne 0x42a9c2
inc edx
jmp 0x42a9b1
cmp byte [ebp - 0x5c], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x50], 0
je 0x42aa27
movaps xmm0, xmmword [0x45f600]
xor ecx, ecx
movups xmmword [ebp - 0x7f], xmm0
mov word [ebp - 0x6f], 0x7e
mov al, byte [ebp - 0x7f]
xor byte [ebp + ecx - 0x7e], al
inc ecx
cmp ecx, 0x10
jb 0x42a9f7
lea eax, [ebp - 0x44]
mov byte [ebp - 0x6e], 0
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x7e]
push eax
push edx
call fcn.00417360
add esp, 0x18
jmp 0x42aa72
mov cl, 0x70
mov dword [ebp - 0x1a], 0x42405570
mov dword [ebp - 0x16], 0x42405528
xor eax, eax
mov dword [ebp - 0x12], 0x42405528
mov word [ebp - 0xe], 0x28
xor byte [ebp + eax - 0x19], cl
inc eax
cmp eax, 0xc
jae 0x42aa55
mov cl, byte [ebp - 0x1a]
jmp 0x42aa46
lea eax, [ebp - 0x48]
mov byte [ebp - 0xd], 0
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x19]
push eax
push edx
call fcn.00417360
add esp, 0x14
mov ecx, dword [ebx + 0x10]
xor esi, esi
test cl, 8
jne 0x42aad5
mov byte [ebp - 0x15], 0x42
mov al, 0x21
xor al, byte [ebp - 0x15]
mov ah, 0x36
mov byte [ebp - 0x14], al
mov cl, 0x2d
mov al, byte [ebp - 0x15]
mov dl, 0x2c
mov byte [ebp - 2], ah
xor cl, al
xor dl, al
mov byte [ebp - 0xd], 0
xor ah, al
mov byte [ebp - 0x13], cl
mov ch, 0x27
mov byte [ebp - 0x11], ah
xor ch, al
mov byte [ebp - 0x12], dl
mov dh, 0x3a
mov byte [ebp - 0x10], ch
xor dh, al
mov byte [ebp - 0xd], 0
mov al, byte [ebp - 2]
xor al, byte [ebp - 0x15]
mov byte [ebp - 0xe], al
lea eax, [ebp - 0x14]
push 1
push eax
mov byte [ebp - 0xf], dh
call fcn.00410a60
add esp, 8
mov ecx, dword [ebx + 0x10]
xor esi, esi
movss xmm3, dword [ebp - 0x54]
movss xmm4, dword [ebp - 0x58]
mov edx, dword [ebp - 0x34]
xor edi, edi
test cl, 0x10
jne 0x42ae24
test esi, esi
jne 0x42ab0e
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x1598], edi
je 0x42ab0e
movss xmm1, dword [ebp - 0x8c]
addss xmm1, dword [eax + 0x1568]
jmp 0x42ab11
xorps xmm1, xmm1
cmp byte [ebp - 0x5c], 0
movaps xmm0, xmm3
mov eax, dword [ebx + 0xc]
addss xmm0, xmm1
movss dword [edx + 0xcc], xmm4
movss dword [edx + 0xc8], xmm0
je 0x42ab38
movss xmm1, dword [eax + 0xc]
jmp 0x42ab40
movss xmm1, dword [0x45b844]
movss xmm0, dword [eax]
mov dl, 0x2a
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [eax + 8]
xor eax, eax
movss dword [ebp - 0x78], xmm0
movss dword [ebp - 0x74], xmm1
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
mov dword [ebp - 0x1b], 0x6909092a
mov dword [ebp - 0x17], 0x58454645
mov dword [ebp - 0x13], 0x5e5e5f68
mov word [ebp - 0xf], 0x4445
mov byte [ebp - 0xd], 0
nop dword [eax + eax]
xor byte [ebp + eax - 0x1a], dl
inc eax
cmp eax, 0xd
jae 0x42ab9f
mov dl, byte [ebp - 0x1b]
jmp 0x42ab90
push dword [ebp - 8]
lea eax, [ebp - 0x80]
mov byte [ebp - 0xd], 0
push dword [ebp - 0xc]
push ecx
push eax
lea eax, [ebp - 0x1a]
push eax
call fcn.00429b70
add esp, 0x14
test al, al
mov eax, dword [ebx + 0x10]
je 0x42ac72
test al, 4
jne 0x42ac72
mov eax, dword [ebp - 0x30]
mov cl, 0x6c
movups xmm0, xmmword [ebp - 0x80]
mov byte [ebp - 0xc], 5
mov dl, 0x66
mov ch, 0x60
mov byte [ebp - 5], 0
movups xmmword [eax + 0x2d64], xmm0
mov al, 0x75
mov byte [ebp - 5], 0
xor al, byte [ebp - 0xc]
mov ah, 0x6e
mov byte [ebp - 0xb], al
mov dh, 0x77
mov al, byte [ebp - 0xc]
xor ah, al
xor cl, al
xor dl, al
mov byte [ebp - 8], ah
xor ch, al
mov byte [ebp - 0xa], cl
xor dh, al
mov byte [ebp - 9], dl
lea eax, [ebp - 0xb]
mov byte [ebp - 7], ch
push eax
mov byte [ebp - 6], dh
call fcn.00410870
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
movss xmm0, dword [eax + 0x114]
subss xmm0, dword [0x45b844]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [eax + 0x120]
mov eax, dword [ebp - 0x30]
addss xmm0, dword [eax + 0x1564]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x88]
push 0
push eax
movss dword [ebp - 0x84], xmm0
call fcn.00414030
mov eax, dword [ebx + 0x10]
add esp, 0x10
test al, 8
jne 0x42acca
mov byte [ebp - 0x15], 0x2e
mov al, 0x4d
xor al, byte [ebp - 0x15]
mov ah, 0x5a
mov byte [ebp - 0x14], al
mov cl, 0x41
mov al, byte [ebp - 0x15]
mov dl, 0x40
mov byte [ebp - 2], ah
xor cl, al
xor dl, al
mov byte [ebp - 0xd], 0
xor ah, al
mov byte [ebp - 0x13], cl
mov ch, 0x4b
mov byte [ebp - 0x11], ah
xor ch, al
mov byte [ebp - 0x12], dl
mov dh, 0x56
mov byte [ebp - 0x10], ch
xor dh, al
mov byte [ebp - 0xd], 0
mov al, byte [ebp - 2]
xor al, byte [ebp - 0x15]
mov byte [ebp - 0xe], al
lea eax, [ebp - 0x14]
push 1
push eax
mov byte [ebp - 0xf], dh
call fcn.00410a60
add esp, 8
mov byte [ebp - 0xc], 0x31
mov al, 0x41
xor al, byte [ebp - 0xc]
mov ah, 0x5a
mov byte [ebp - 0xb], al
mov cl, 0x58
mov al, byte [ebp - 0xc]
mov dl, 0x52
xor ah, al
mov byte [ebp - 5], 0
mov ch, 0x54
mov byte [ebp - 8], ah
mov dh, 0x43
mov byte [ebp - 5], 0
xor cl, al
xor dl, al
xor ch, al
mov byte [ebp - 0xa], cl
xor dh, al
mov byte [ebp - 9], dl
lea eax, [ebp - 0xb]
mov byte [ebp - 7], ch
push 0
push eax
mov byte [ebp - 6], dh
call fcn.00406d80
add esp, 8
test al, al
je 0x42ae21
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x98]
mov edi, dword [eax + 0x1a08]
mov eax, dword [ebx + 8]
cmp eax, ecx
je 0x42ad7a
push 0
push ecx
push eax
call fcn.00435ba0
mov ecx, dword [0x46ed48]
add esp, 0xc
mov eax, dword [ecx + 0x1a08]
mov byte [eax + 0x7c], 1
mov eax, dword [ecx + 0x1a08]
cmp byte [eax + 0x7f], 0
jne 0x42ad7a
push ecx
lea eax, [ebp - 0xc]
mov dword [esp], 0xbf800000
push eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
call fcn.0040c7e0
add esp, 8
movss xmm0, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x90]
mulss xmm0, dword [0x45b878]
and eax, 0x1f890002
or eax, 0x740080
push ecx
mov dword [ebp - 0x90], eax
movss dword [esp], xmm0
call fcn.00414010
mov al, 0x4a
mov byte [ebp - 0x16], 0x69
mov cl, al
mov byte [ebp - 2], 0xc
xor al, byte [ebp - 0x16]
xor ah, ah
xor cl, byte [ebp - 0x16]
mov dl, 0x19
mov byte [ebp - 0x15], al
mov ch, 0xa
mov al, byte [ebp - 2]
mov dh, 2
mov byte [ebp - 0x14], cl
mov cl, byte [ebp - 0x16]
xor al, cl
mov byte [ebp - 0x35], 0x1b
mov byte [ebp - 0xf], al
xor ah, cl
mov al, byte [ebp - 0x35]
xor dl, cl
xor al, cl
mov byte [ebp - 0x12], ah
mov byte [ebp - 0xe], al
xor ch, cl
mov eax, dword [ebp - 0x30]
xor dh, cl
add eax, 0x2d64
mov byte [ebp - 0x13], dl
push eax
mov eax, dword [ebp - 0x90]
push eax
push dword [ebx + 0xc]
lea eax, [ebp - 0x15]
mov byte [ebp - 0x11], ch
push eax
mov byte [ebp - 0x10], dh
mov byte [ebp - 0xd], 0
call fcn.0042b8b0
or byte [ebp - 1], al
add esp, 0x14
call fcn.004093d0
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 8]
cmp edx, dword [ebp - 0x98]
je 0x42ae90
test cl, cl
js 0x42ae90
test esi, esi
mov esi, dword [ebp - 0x30]
je 0x42ae44
movss xmm0, dword [ebp - 0x94]
jmp 0x42ae54
movss xmm0, dword [ebp - 0xac]
addss xmm0, dword [esi + 0x1568]
movss xmm1, dword [ebp - 0x54]
mov eax, dword [ebp - 0x34]
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x58]
addss xmm0, dword [esi + 0x1554]
push 0
push dword [ebp - 0x98]
movss dword [eax + 0xc8], xmm1
push edx
movss dword [eax + 0xcc], xmm0
call fcn.00435ba0
add esp, 0xc
jmp 0x42ae93
mov esi, dword [ebp - 0x30]
cmp byte [ebp - 1], 0
je 0x42afa6
test edi, edi
jne 0x42afa6
cmp byte [ebp - 0x1c], 0
jne 0x42aebd
movups xmm0, xmmword [ebp - 0x50]
cvtdq2ps xmm0, xmm0
divps xmm0, xmmword [0x45f630]
movups xmmword [ebp - 0x2c], xmm0
mov eax, dword [ebx + 0x10]
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x42af33
movss xmm0, dword [ebp - 0x2c]
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
movss dword [esi + 0x2d50], xmm0
movss xmm0, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
movss dword [esi + 0x2d54], xmm0
movss xmm0, dword [ebp - 0x24]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x28]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x2c]
movss dword [esp], xmm0
call fcn.004080e0
movq xmm0, qword [ebp - 0x2c]
add esp, 0x18
movq qword [esi + 0x2d58], xmm0
mov eax, dword [ebp - 0x24]
mov dword [esi + 0x2d60], eax
cmp dword [ebp - 0xb8], 0x10100000
jne 0x42af76
movss xmm0, dword [ebp - 0x24]
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x28]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x2c]
movss dword [esp], xmm0
call fcn.00408250
add esp, 0x18
cmp byte [ebp - 0x5c], 0
mov eax, dword [ebx + 0xc]
movss xmm0, dword [ebp - 0x2c]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x28]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x24]
movss dword [eax + 8], xmm0
je 0x42afa6
movss xmm0, dword [ebp - 0x20]
movss dword [eax + 0xc], xmm0
call fcn.00410c60
call fcn.00409190
mov ecx, dword [ebp - 0x34]
test byte [ecx + 0x110], 1
je 0x42b08a
test dword [ebx + 0x10], 0x200
jne 0x42b08a
call fcn.00406bc0
test al, al
je 0x42b087
push 0
push 0x45f528
mov byte [ebp - 0x1c], 0
call fcn.00404200
add esp, 8
test eax, eax
je 0x42b00c
mov eax, dword [eax]
mov ecx, dword [ebx + 0xc]
mov byte [ebp - 0x1c], 1
mov byte [ebp - 1], 1
movq xmm0, qword [eax]
movq qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
push 0
push str._COL4F
call fcn.00404200
add esp, 8
test eax, eax
je 0x42b039
mov ecx, dword [ebp - 0x3c]
shl ecx, 2
push ecx
push dword [eax]
push dword [ebx + 0xc]
call fcn.0043e1a0
add esp, 0xc
mov byte [ebp - 1], 1
jmp 0x42b03f
cmp byte [ebp - 0x1c], 0
je 0x42b082
test dword [ebx + 0x10], 0x10000000
je 0x42b082
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebx + 0xc]
push edx
movss xmm0, dword [edx]
push ecx
push eax
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [ecx]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax]
movss dword [esp], xmm0
call fcn.00408250
add esp, 0x18
call fcn.00408ec0
mov ecx, dword [ebp - 0x34]
test edi, edi
je 0x42b0a6
mov eax, dword [esi + 0x1a3c]
test eax, eax
je 0x42b0a6
cmp dword [esi + 0x1a68], edi
jne 0x42b0a6
mov dword [ecx + 0x10c], eax
mov al, byte [ebp - 1]
test al, al
je 0x42b0be
push dword [ecx + 0x10c]
call fcn.0040cd00
mov al, byte [ebp - 1]
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x46ed88
call fcn.0043c88d
add esp, 4
cmp dword [0x46ed88], 0xffffffff
jne 0x42a5f9
lea eax, [ebp - 8]
mov dword [0x46ed78], eax
lea eax, [ebp - 8]
mov dword [0x46ed7c], eax
lea eax, [ebp - 8]
mov dword [0x46ed80], eax
lea eax, [ebp - 8]
push 0x46ed88
mov dword [0x46ed84], eax
call fcn.0043c83c
add esp, 4
jmp 0x42a5f9
push 0x46edbc
call fcn.0043c88d
add esp, 4
cmp dword [0x46edbc], 0xffffffff
jne 0x42a60a
lea eax, [ebp - 8]
mov dword [0x46ed8c], eax
lea eax, [ebp - 8]
mov dword [0x46ed90], eax
lea eax, [ebp - 8]
mov dword [0x46ed94], eax
lea eax, [ebp - 8]
mov dword [0x46ed98], eax
lea eax, [ebp - 0xa]
mov dword [0x46ed9c], eax
lea eax, [ebp - 0xa]
mov dword [0x46eda0], eax
lea eax, [ebp - 0xa]
mov dword [0x46eda4], eax
lea eax, [ebp - 0xa]
mov dword [0x46eda8], eax
lea eax, [ebp - 0xa]
mov dword [0x46edac], eax
lea eax, [ebp - 0xa]
mov dword [0x46edb0], eax
lea eax, [ebp - 0xa]
mov dword [0x46edb4], eax
lea eax, [ebp - 0xa]
push 0x46edbc
mov dword [0x46edb8], eax
call fcn.0043c83c
add esp, 4
jmp 0x42a60a
push 0x46edf0
call fcn.0043c88d
add esp, 4
cmp dword [0x46edf0], 0xffffffff
jne 0x42a61b
lea eax, [ebp - 0xa]
mov dword [0x46edc0], eax
lea eax, [ebp - 0xa]
mov dword [0x46edc4], eax
lea eax, [ebp - 0xa]
mov dword [0x46edc8], eax
lea eax, [ebp - 0xa]
mov dword [0x46edcc], eax
lea eax, [ebp - 0x14]
mov dword [0x46edd0], eax
lea eax, [ebp - 0x14]
mov dword [0x46edd4], eax
lea eax, [ebp - 0x14]
mov dword [0x46edd8], eax
lea eax, [ebp - 0x14]
mov dword [0x46eddc], eax
lea eax, [ebp - 0x14]
mov dword [0x46ede0], eax
lea eax, [ebp - 0x14]
mov dword [0x46ede4], eax
lea eax, [ebp - 0x14]
mov dword [0x46ede8], eax
lea eax, [ebp - 0x14]
push 0x46edf0
mov dword [0x46edec], eax
call fcn.0043c83c
add esp, 4
jmp 0x42a61b