Function at 0x429700
Capabilities:
Authenticate hmac
Check if file exists
Copy file
Delete file
Encrypt data using rc4 ksa
Get file attributes

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 0x59f657
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1278
call fcn.004ffc70
mov eax, dword [0x62bcc0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov dword [ebp - 0x1048], edi
mov dword [ebp - 0x104c], ecx
xor eax, eax
xorps xmm0, xmm0
push 0x104
push eax
mov dword [ebp - 0xfb0], eax
mov dword [ebp - 0xf9c], eax
mov dword [ebp - 0x1074], eax
mov dword [ebp - 0xf8c], eax
lea eax, [ebp - 0x120]
push eax
movsd qword [ebp - 0x1198], xmm0
movsd qword [ebp - 0xfc0], xmm0
call fcn.00501660
add esp, 0xc
lea ecx, [ebp - 0x1200]
call fcn.0042f800
mov dword [ebp - 4], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1138], 0
movlpd qword [ebp - 0x1130], xmm0
mov dword [ebp - 0x1128], 0
mov dword [ebp - 0x1124], 0
mov dword [ebp - 0x1120], 0
mov dword [ebp - 0x111c], 0
mov dword [ebp - 0x1118], 0
movlpd qword [ebp - 0x1110], xmm0
mov dword [ebp - 0x1108], 0
movlpd qword [ebp - 0x1100], xmm0
mov dword [ebp - 0x10f8], 0
mov dword [ebp - 0x10f4], 0
mov dword [ebp - 0x10f0], 0
mov dword [ebp - 0x10ec], 0
mov dword [ebp - 0x10e8], 0
movlpd qword [ebp - 0x10e0], xmm0
mov dword [ebp - 0x10d8], 0
movlpd qword [ebp - 0x10d0], xmm0
mov dword [ebp - 0x10c8], 0
mov dword [ebp - 0x10c4], 0
mov dword [ebp - 0x10c0], 0
mov dword [ebp - 0x10bc], 0
mov dword [ebp - 0x10b8], 0
movlpd qword [ebp - 0x10b0], xmm0
mov dword [ebp - 0x10a8], 0
movlpd qword [ebp - 0x10a0], xmm0
mov dword [ebp - 0x1098], 0
mov dword [ebp - 0x1094], 0
mov dword [ebp - 0x1090], 0
mov dword [ebp - 0x108c], 0
mov dword [ebp - 0x1088], 0
movlpd qword [ebp - 0x1080], xmm0
lea ecx, [ebp - 0xf48]
mov byte [ebp - 4], 4
call fcn.00407220
mov byte [ebp - 4], 5
cmp dword [edi], 0
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xfa8], 0
jne 0x42990c
mov edi, 1
jmp 0x42c620
mov esi, dword [edi + 4]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [ebp - 0x1008], esi
mov esi, dword [ebp - 0x104c]
call edi
push eax
push esi
push str._s_08X.tmp
lea eax, [ebp - 0x120]
push 0x104
push eax
call fcn.00407c20
add esp, 0x14
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x429921
mov esi, dword [ebp - 0x1008]
push 0
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0xb4]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x1f]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
shl eax, 2
imul ecx, eax
mov dword [ebp - 0x11a4], eax
lea eax, [ebp - 0x120]
add ecx, 0x36
push ecx
push 1
push eax
lea ecx, [ebp - 0x1200]
call fcn.0042f880
test eax, eax
je 0x4299af
mov edi, 0x2c
mov dword [ebp - 0xf8c], edi
jmp 0x42c44d
push dword [esi + 0xb4]
mov edx, dword [esi + 0xb0]
lea ecx, [ebp - 0x1200]
call fcn.00427500
add esp, 4
test eax, eax
je 0x4299dd
mov edi, 0x2d
mov dword [ebp - 0xf8c], edi
jmp 0x42c44d
mov edi, dword [ebp - 0x1048]
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0x40]
mov dword [ebp - 0xff4], ecx
mov edi, dword [edi]
imul eax, edi
cmp byte [0x635512], 0
mov dword [ebp - 0x119c], eax
je 0x429a15
mov byte [ebp - 0xf4a], 1
cmp ecx, 0x12c
jne 0x429a1c
mov byte [ebp - 0xf4a], 0
mov eax, dword [0x917090]
xor edx, edx
cmp dword [0x911954], 7
mov ecx, dword [0x917098]
mov dword [ebp - 0x1004], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0x1044], edx
mov dword [ebp - 0x1040], edx
mov dword [ebp - 0x1024], ecx
jg 0x429a7d
cmp dword [ebx + 0xc], edx
jne 0x429a7d
cmp dword [esi + 0xb0], ecx
cmove edx, dword [0x91f0a0]
xor ecx, ecx
cmp eax, dword [ebp - 0x1004]
mov dword [ebp - 0x1044], edx
cmove ecx, dword [0x91f0a4]
mov dword [ebp - 0x1040], ecx
movsd xmm2, qword [0x6182c8]
xor ecx, ecx
movsd xmm4, qword [0x617fc8]
movsd xmm3, qword [0x617f58]
movaps xmm1, xmm2
call fcn.00407120
movsd xmm1, qword [0x618030]
addsd xmm2, xmm3
addsd xmm0, xmm1
mulsd xmm0, xmm4
movsd qword [ebp + ecx*8 - 0xa30], xmm0
inc ecx
cmp ecx, 0x100
jle 0x429a97
xor edx, edx
mov dword [ebp - 0x1008], edx
test edi, edi
jle 0x42c44b
mov eax, dword [ebp - 0xff4]
mov ecx, 0x6167c8
cmp eax, 0x12c
mov esi, 0x6167a4
cmovne ecx, esi
mov dword [ebp - 0xf90], ecx
mov dword [ebp - 0xfe8], ecx
mov ecx, dword [ebp - 0x1048]
mov edi, 0xff
imul esi, edx, 0xf26a8
add esi, dword [ecx + 4]
xor cl, cl
mov dword [ebp - 0xf5c], esi
mov byte [ebp - 0x1010], cl
cmp eax, 0x12c
je 0x429b3f
movsd xmm0, qword [esi + 0x128]
comisd xmm0, xmm1
movzx eax, cl
mov ecx, 1
cmova eax, ecx
mov byte [ebp - 0x1010], al
lea eax, [ebp - 0x11d0]
push eax
lea ecx, [esi + 0x5c]
lea edx, [ebp - 0x11d8]
call fcn.00405e50
movzx eax, byte [esi + 0x56c]
add esp, 4
mov dword [ebp - 0x11c0], eax
movzx eax, byte [esi + 0x56d]
mov dword [ebp - 0x115c], eax
movzx eax, byte [esi + 0x56e]
mov dword [ebp - 0x1160], eax
movzx eax, byte [esi + 0xf2594]
mov dword [ebp - 0xfcc], eax
movzx eax, byte [esi + 0xf2595]
mov dword [ebp - 0xfc8], eax
movzx eax, byte [esi + 0xf2596]
mov dword [ebp - 0xfc4], eax
movzx eax, byte [esi + 0x560]
mov dword [ebp - 0x1054], eax
movzx eax, byte [esi + 0x561]
mov dword [ebp - 0x1058], eax
movzx eax, byte [esi + 0x562]
mov dword [ebp - 0x105c], eax
movzx eax, byte [esi + 0x564]
mov dword [ebp - 0x1168], eax
movzx eax, byte [esi + 0x565]
mov dword [ebp - 0x116c], eax
movzx eax, byte [esi + 0x566]
mov dword [ebp - 0x1170], eax
movsx eax, byte [esi + 0x552]
imul ecx, eax, 0xff
mov eax, 0x51eb851f
movsd xmm0, qword [esi + 0x98]
mulsd xmm0, qword [0x6182c0]
movsd xmm1, qword [0x618030]
imul ecx
movsd xmm3, qword [0x618178]
movaps xmm2, xmm1
movsd qword [esi + 0x98], xmm0
mov ecx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
movsx eax, byte [esi + 0x56a]
mov dword [ebp - 0x11b4], ecx
imul ecx, eax, 0xff
mov eax, 0x51eb851f
imul ecx
mov ecx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
movsx eax, byte [esi + 0x559]
mov dword [ebp - 0x1164], ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsx eax, byte [esi + 0x55a]
divsd xmm0, qword [0x618218]
addsd xmm0, xmm1
movsd qword [ebp - 0x1250], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsx eax, byte [esi + 0x55b]
divsd xmm0, xmm3
subsd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsx eax, byte [esi + 0x55c]
movsd qword [ebp - 0x1240], xmm2
movaps xmm2, xmm1
divsd xmm0, xmm3
subsd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm2, xmm2
movsd qword [ebp - 0x1258], xmm2
divsd xmm0, xmm3
movsx eax, byte [esi + 0x554]
mov ecx, 0x64
sub ecx, eax
movsx eax, byte [esi + 0x553]
movaps xmm2, xmm1
movsd qword [ebp - 0x1248], xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x6180f8]
movsd qword [ebp - 0x1220], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsx eax, byte [esi + 0x570]
divsd xmm0, xmm3
movsd qword [ebp - 0x1228], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsx eax, byte [esi + 0x571]
divsd xmm0, xmm3
subsd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsx eax, byte [esi + 0x569]
movsd qword [ebp - 0x11e8], xmm2
movaps xmm2, xmm1
divsd xmm0, xmm3
subsd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsx eax, byte [esi + 0x551]
movsd qword [ebp - 0x1288], xmm2
divsd xmm0, xmm3
movsd qword [ebp - 0x1238], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsx eax, byte [esi + 0x582]
divsd xmm0, xmm3
divsd xmm0, qword [0x6181b0]
movsd qword [ebp - 0x1218], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movzx eax, byte [esi + 0x583]
divsd xmm0, xmm3
movsd qword [ebp - 0x11e0], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, dword [0x635530]
divsd xmm0, xmm3
movsd qword [ebp - 0x1188], xmm0
test eax, eax
jne 0x429dfd
mulsd xmm0, qword [0x617fc8]
jmp 0x429e0a
cmp eax, 2
jne 0x429e12
mulsd xmm0, qword [0x618050]
movsd qword [ebp - 0x1188], xmm0
movsx eax, byte [esi + 0x56b]
mov cl, byte [esi + 0x581]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, dword [esi + 0x44]
imul eax, dword [esi + 0x40]
divsd xmm0, xmm3
lea eax, [eax + eax*2]
cdq
mov dword [ebp - 0xf50], edx
mov edi, eax
movsx eax, cl
mov dword [ebp - 0xf70], edi
movsd qword [ebp - 0x1268], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
test cl, cl
jle 0x429e71
divsd xmm0, qword [0x618120]
addsd xmm0, xmm1
movsd xmm1, qword [0x618078]
jmp 0x429e81
addsd xmm0, qword [0x618180]
movsd xmm1, qword [0x618198]
cmp byte [esi + 0x48], 0
divsd xmm1, xmm0
mov byte [ebp - 0xf65], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x1190], xmm1
movlpd qword [ebp - 0xfd8], xmm0
movlpd qword [ebp - 0xfe0], xmm0
je 0x429fff
mov esi, dword [esi + 0x4c]
test esi, esi
jne 0x429ec3
mov esi, dword [ebp - 0xf5c]
mov esi, dword [esi + 0x6c]
jmp 0x429ec4
dec esi
push dword [ebp - 0xf50]
mov eax, esi
cdq
push edi
push edx
push eax
call fcn.004ffca0
mov dword [ebp - 0x1050], eax
mov eax, dword [ebp - 0xf5c]
mov dword [ebp - 0x1070], edx
cmp byte [eax + 0x54], 0
je 0x429ff7
push dword [ebp - 0xf50]
lea ecx, [esi + 1]
mov byte [ebp - 0xf65], 1
xor eax, eax
cmp ecx, 0xb
push edi
cmovle eax, ecx
cdq
push edx
push eax
call fcn.004ffca0
mov esi, dword [ebp - 0xf5c]
mov dword [ebp - 0x1038], eax
mov dword [ebp - 0x1034], edx
mov eax, dword [esi + 0x50]
test eax, eax
jne 0x429fdc
mov esi, dword [esi + 0x70]
add esi, 0x76c
mov eax, esi
and eax, reloc.WSOCK32.dll_closesocket
jns 0x429f48
dec eax
or eax, 0xfffffffc
add eax, 1
jne 0x429f64
mov eax, 0x51eb851f
mov ecx, esi
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
jne 0x429f84
mov eax, 0x51eb851f
imul esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x190
sub esi, eax
mov eax, 0x1c
jne 0x429f89
mov eax, 0x1d
mov esi, dword [ebp - 0xf5c]
mov dword [0x90effc], eax
mov eax, dword [esi + 0x68]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
lea eax, [eax + ecx*8]
add eax, 0xffffffe8
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, dword [esi + 0x60]
lea eax, [eax + ecx*4]
movd xmm1, eax
mov eax, dword [esi + 0x6c]
cvtdq2pd xmm1, xmm1
imul eax, dword [eax*4 + 0x90eff8], 0x5a0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [ebp - 0x1180], xmm1
jmp 0x42a02f
dec eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x618140]
movsd qword [ebp - 0x1180], xmm0
jmp 0x42a02f
mov esi, dword [ebp - 0xf5c]
jmp 0x42a017
mov eax, dword [ebp - 0xfd4]
mov dword [ebp - 0x1070], eax
mov eax, dword [ebp - 0xfd8]
mov dword [ebp - 0x1050], eax
mov eax, dword [ebp - 0xfdc]
mov dword [ebp - 0x1034], eax
mov eax, dword [ebp - 0xfe0]
mov dword [ebp - 0x1038], eax
push 0x6167a4
push dword [esi + 0x40]
lea eax, [ebp - 0x228]
push str.Urban
push 0x911ff9
push str._s_s__d._s
push 0x104
push eax
call fcn.00407c20
add esp, 0x1c
cmp byte [ebp - 0xf4a], 0
je 0x42a077
mov esi, 0x100
mov dword [ebp - 0x101c], 0
jmp 0x42a102
mov eax, edi
mov ecx, 0xaaaaaaab
mul ecx
mov esi, edx
mov dword [ebp - 0x1158], eax
mov eax, edi
mov edx, 0xaaaaaaaa
mul edx
mov edi, eax
mov dword [ebp - 0xfd0], edx
mov eax, dword [ebp - 0xf50]
mul ecx
mov ecx, eax
mov dword [ebp - 0xfb4], edx
mov eax, dword [ebp - 0xf50]
mov edx, 0xaaaaaaaa
mul edx
add ecx, esi
mov dword [ebp - 0xf60], edx
mov edx, dword [ebp - 0xfb4]
adc edx, 0
mov dword [ebp - 0xfac], eax
mov esi, eax
add edi, ecx
mov ecx, dword [ebp - 0xfd0]
adc ecx, 0
mov dword [ebp - 0x1158], edi
mov edi, dword [ebp - 0xf70]
xor eax, eax
add edx, ecx
mov ecx, dword [ebp - 0xf60]
adc eax, eax
add esi, edx
adc ecx, eax
shrd esi, ecx, 1
shr ecx, 1
mov dword [ebp - 0x101c], ecx
push esi
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x10d8]
call fcn.00406770
mov esi, dword [ebp - 0xf5c]
mov dword [ebp - 0x11b0], eax
mov byte [ebp - 0xf52], 0
cmp byte [esi + 0x580], 0
je 0x42a21e
push dword [ebp - 0xfe8]
lea eax, [ebp - 0x228]
push 0x6167a8
push 0x911734
push str._s_s._s
push 0x104
push eax
call fcn.00407c20
mov eax, dword [ebp - 0xfe8]
lea ecx, [ebp - 0x228]
mov dword [ebp - 0xf90], eax
xor edx, edx
lea eax, [ebp - 0x1144]
push eax
call fcn.00428590
add esp, 0x1c
cmp eax, 0xffffffff
je 0x42a21e
mov ecx, dword [ebp - 0x113c]
mov edx, dword [ebp - 0xfe8]
mov dword [ebp - 0xf90], edx
test ecx, ecx
je 0x42a21a
mov eax, dword [ebp - 0x1140]
mov dword [ebp - 0xf90], edx
test eax, eax
je 0x42a21a
cmp byte [ebp - 0xf4a], 0
je 0x42a1bd
mov eax, 0x100
jmp 0x42a1c0
imul eax, ecx
push eax
lea eax, [ebp - 0x228]
mov dword [ebp - 0xf90], edx
push eax
lea ecx, [ebp - 0x10a8]
call fcn.00406770
test eax, eax
jne 0x42a21e
movd xmm1, dword [ebp - 0x1140]
movd xmm0, dword [esi + 0x40]
cvtdq2pd xmm1, xmm1
mov eax, dword [ebp - 0xfe8]
mov byte [ebp - 0xf52], 1
mov byte [ebp - 0x11b8], 1
mov dword [ebp - 0xf90], eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [ebp - 0x1230], xmm1
jmp 0x42a224
mov eax, edx
jmp 0x42a224
mov eax, dword [ebp - 0xf90]
push eax
push esi
push 0x911ff9
push str._s_s._s
lea eax, [ebp - 0x228]
push 0x104
push eax
call fcn.00407c20
mov esi, dword [ebp - 0xf50]
add esp, 0x18
cmp byte [ebp - 0xf4a], 0
je 0x42a264
mov eax, 0x100
mov dword [ebp - 0x101c], 0
jmp 0x42a26c
mov eax, edi
mov dword [ebp - 0x101c], esi
push eax
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x1138]
call fcn.00406770
test eax, eax
jne 0x42c421
cmp byte [ebp - 0xf65], al
je 0x42a2c5
cmp byte [ebp - 0xf4a], al
je 0x42a2a4
mov edi, 0x100
mov dword [ebp - 0x101c], eax
jmp 0x42a2aa
mov dword [ebp - 0x101c], esi
push edi
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x1108]
call fcn.00406770
test eax, eax
jne 0x42c421
mov esi, dword [ebp - 0xf5c]
movd xmm1, dword [0x917098]
cvtdq2pd xmm1, xmm1
mov al, byte [esi + 0xf2591]
movd xmm0, dword [esi + 0xb0]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movd xmm0, dword [esi + 0xb4]
movsd qword [ebp - 0x11c8], xmm1
movd xmm1, dword [0x917090]
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [ebp - 0x1020], xmm1
test al, al
je 0x42a32d
cmp byte [esi + 0xf2590], 0
mov byte [ebp - 0xf51], 0
jne 0x42a334
mov byte [ebp - 0xf51], 1
cmp al, 2
jne 0x42a368
cmp byte [esi + 0xf2590], 1
jne 0x42a368
lea edx, [esi + 0xf2599]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42a350
sub ecx, esi
lea edi, [edx - 3]
add edi, ecx
cmp edi, edx
jae 0x42a3d5
mov esi, dword [ebp - 0xf5c]
mov byte [ebp - 0xf49], 0
cmp byte [esi + 0xf2590], 1
jne 0x42a814
cmp byte [esi + 0xf269e], 0
je 0x42a814
cmp byte [esi + 0xf269f], 0
je 0x42a814
cmp byte [esi + 0xf26a0], 0
je 0x42a814
lea eax, [ebp - 0x1078]
mov ecx, esi
push eax
lea eax, [ebp - 0x11a0]
push eax
lea eax, [ebp - 0xfa8]
push eax
lea edx, [ebp - 0x103c]
call fcn.004064f0
add esp, 0xc
mov byte [ebp - 0xf66], al
mov dl, al
jmp 0x42a81c
push 0x615418
push edi
call fcn.00505203
xor ecx, ecx
test eax, eax
push 0x61541c
sete cl
push edi
lea ecx, [ecx*2 + 1]
mov dword [ebp - 0xfb4], ecx
call fcn.00505203
mov esi, dword [ebp - 0xfb4]
test eax, eax
mov eax, 2
push 0x615420
push edi
cmove esi, eax
call fcn.00505203
mov edi, dword [ebp - 0xf5c]
lea ecx, [ebp - 0xf48]
add esp, 0x18
test eax, eax
mov eax, 4
cmove esi, eax
add edi, 0xf2599
push esi
push edi
call fcn.004878c0
push esi
push edi
lea ecx, [ebp - 0xf48]
call fcn.004878c0
mov byte [ebp - 0xf49], al
test al, al
je 0x42a809
lea ecx, [ebp - 0xf48]
call fcn.00486490
lea ecx, [ebp - 0xf48]
mov dword [ebp - 0xfa4], eax
call fcn.00486350
mov esi, dword [ebp - 0xf5c]
mov edi, eax
mov dword [ebp - 0x100c], edi
movsx ecx, byte [esi + 0xf2598]
cmp ecx, 4
ja case.default.0x42a495
jmp dword [ecx*4 + 0x42c850]
mov ecx, dword [esi + 0xe0]
mov eax, dword [esi + 0xd8]
movd xmm3, dword [ebp - 0xfa4]
mov edx, dword [esi + 0xe4]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0xf98], ecx
sub ecx, eax
mov dword [ebp - 0xf88], eax
mov eax, dword [esi + 0xdc]
mov dword [ebp - 0xf78], edx
sub edx, eax
mov dword [ebp - 0xf74], eax
lea eax, [ecx + 1]
cvtdq2pd xmm3, xmm3
movd xmm1, eax
lea eax, [edx + 1]
divsd xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
comisd xmm3, xmm1
jbe 0x42a6ac
mov eax, dword [ebp - 0xf88]
add eax, dword [ebp - 0xf98]
movd xmm1, edx
cvtdq2pd xmm1, xmm1
movd xmm2, eax
cvtdq2pd xmm2, xmm2
mulsd xmm1, xmm3
mulsd xmm2, qword [0x617fc8]
mulsd xmm1, qword [0x617fc8]
movaps xmm0, xmm2
subsd xmm0, xmm1
addsd xmm2, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0xf88], eax
cvttsd2si eax, xmm2
mov dword [ebp - 0xf98], eax
mov ecx, dword [ebp - 0xf78]
mov eax, dword [ebp - 0xf74]
mov edx, dword [ebp - 0xf98]
sub ecx, eax
sub edx, dword [ebp - 0xf88]
inc ecx
inc edx
mov dword [ebp - 0x11ac], ecx
cmp byte [esi + 0xf269d], 0
mov dword [ebp - 0x11a8], edx
je 0x42a7dc
push 0
call fcn.0050e3e0
mov ecx, eax
mov dword [ebp - 0x1154], edx
add ecx, dword [0x917094]
add esp, 4
and ecx, 0x80000fff
jns 0x42a5b8
dec ecx
or ecx, 0xfffff000
inc ecx
mov eax, ecx
and eax, 0x80000fff
jns 0x42a5c8
dec eax
or eax, 0xfffff000
inc eax
movd xmm0, dword [ebp - 0xfa4]
movsd xmm1, qword [0x618030]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [eax*8 + 0x9170a0]
subsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x1028], eax
lea eax, [ecx + 1]
and eax, 0x80000fff
jns 0x42a604
dec eax
or eax, 0xfffff000
inc eax
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [eax*8 + 0x9170a0]
subsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0x102c], eax
lea eax, [ecx + 2]
mov dword [0x917094], eax
mov al, byte [ebp - 0xf49]
mov byte [ebp - 0xf49], al
jmp 0x42a36f
mov ecx, dword [esi + 0xe0]
mov eax, dword [esi + 0xd8]
movd xmm3, dword [ebp - 0xfa4]
mov edx, dword [esi + 0xe4]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0xf98], ecx
sub ecx, eax
mov dword [ebp - 0xf88], eax
mov eax, dword [esi + 0xdc]
mov dword [ebp - 0xf78], edx
sub edx, eax
mov dword [ebp - 0xf74], eax
lea eax, [ecx + 1]
cvtdq2pd xmm3, xmm3
movd xmm1, eax
lea eax, [edx + 1]
divsd xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
comisd xmm3, xmm1
jbe 0x42a50c
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mov eax, dword [ebp - 0xf74]
add eax, dword [ebp - 0xf78]
movd xmm2, eax
divsd xmm1, xmm3
cvtdq2pd xmm2, xmm2
mulsd xmm1, qword [0x617fc8]
mulsd xmm2, qword [0x617fc8]
movaps xmm0, xmm2
addsd xmm2, xmm1
subsd xmm0, xmm1
cvttsd2si ecx, xmm2
cvttsd2si eax, xmm0
mov dword [ebp - 0xf78], ecx
mov dword [ebp - 0xf74], eax
jmp 0x42a567
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xe0]
mov dword [ebp - 0xf88], eax
mov eax, dword [esi + 0xdc]
mov dword [ebp - 0xf98], ecx
mov ecx, dword [esi + 0xe4]
mov dword [ebp - 0xf74], eax
mov dword [ebp - 0xf78], ecx
jmp 0x42a567
movd xmm1, dword [ebp - 0xfa4]
movsd xmm4, qword [0x617fc8]
cvtdq2pd xmm1, xmm1
mov eax, dword [esi + 0xe0]
add eax, dword [esi + 0xd8]
movd xmm2, eax
mulsd xmm1, xmm4
cvtdq2pd xmm2, xmm2
divsd xmm1, qword [ebp - 0x11c8]
mulsd xmm2, xmm4
movaps xmm0, xmm2
subsd xmm0, xmm1
addsd xmm1, xmm2
cvttsd2si eax, xmm0
mov dword [ebp - 0xf88], eax
cvttsd2si eax, xmm1
movd xmm1, edi
cvtdq2pd xmm1, xmm1
mov dword [ebp - 0xf98], eax
mov eax, dword [esi + 0xe4]
add eax, dword [esi + 0xdc]
mulsd xmm1, xmm4
movd xmm2, eax
cvtdq2pd xmm2, xmm2
divsd xmm1, qword [ebp - 0x1020]
mulsd xmm2, xmm4
movaps xmm0, xmm2
subsd xmm0, xmm1
addsd xmm1, xmm2
cvttsd2si eax, xmm0
cvttsd2si ecx, xmm1
mov dword [ebp - 0xf74], eax
mov dword [ebp - 0xf78], ecx
jmp 0x42a567
mov edx, dword [esi + 0xd8]
mov al, byte [ebp - 0xf49]
neg edx
mov dword [ebp - 0x1028], edx
mov edx, dword [esi + 0xdc]
neg edx
mov byte [ebp - 0xf49], al
mov dword [ebp - 0x102c], edx
jmp 0x42a36f
mov esi, dword [ebp - 0xf5c]
jmp 0x42a36f
xor dl, dl
mov byte [ebp - 0xf66], dl
xor ecx, ecx
mov dword [ebp - 0xf94], ecx
cmp dword [esi + 0xb4], ecx
jle 0x42c246
movsd xmm0, qword [0x618030]
subsd xmm0, qword [ebp - 0x1180]
mov eax, dword [ebp - 0x1004]
mov edi, dword [0x916c3c]
dec eax
mov dword [ebp - 0x1174], eax
movsd qword [ebp - 0x1158], xmm0
nop dword [eax + eax]
mov eax, dword [ebp - 0x1040]
add eax, ecx
mov dword [ebp - 0xfd0], eax
jns 0x42a87c
add eax, dword [ebp - 0x1004]
mov dword [ebp - 0xfd0], eax
cmp eax, dword [ebp - 0x1174]
jle 0x42a890
sub eax, dword [ebp - 0x1004]
mov dword [ebp - 0xfd0], eax
test dl, dl
je 0x42a925
mov eax, dword [0x917094]
add eax, ecx
and eax, 0x80000fff
jns 0x42a8ad
dec eax
or eax, 0xfffff000
inc eax
mov dword [0x917094], eax
mov eax, ecx
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov dword [ebp - 0x106c], eax
cmp eax, dword [ebp - 0x1078]
je 0x42a925
mov ecx, dword [ebp - 0x103c]
mov edi, dword [ebp - 0xfa8]
shl ecx, 9
push ecx
mov ecx, dword [ebp - 0x103c]
shl ecx, 8
add ecx, edi
push ecx
push edi
call fcn.005010e0
movss xmm3, dword [ebp - 0x11a0]
add esp, 0xc
mov edx, edi
mov ecx, 2
push dword [ebp - 0x103c]
call fcn.00406350
mov eax, dword [ebp - 0x106c]
add esp, 4
mov edi, dword [0x916c3c]
mov ecx, dword [ebp - 0xf94]
mov dword [ebp - 0x1078], eax
cmp dword [ebp - 0xff4], 0x12c
je 0x42a96f
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
jne 0x42a96f
mov edi, dword [ebp - 0x1074]
imul eax, edi, 0x64
cdq
idiv dword [ebp - 0x119c]
mov ecx, eax
call fcn.004215e0
add edi, 0x64
mov dword [ebp - 0x1074], edi
mov edi, dword [0x916c3c]
xor edx, edx
mov dword [ebp - 0xfac], edx
cmp dword [esi + 0xb0], edx
jle 0x42c227
cmp edx, dword [esi + 0xd8]
jl 0x42c214
cmp edx, dword [esi + 0xe0]
jg 0x42c214
mov eax, dword [ebp - 0xf94]
cmp eax, dword [esi + 0xdc]
jl 0x42c214
cmp eax, dword [esi + 0xe4]
jg 0x42c214
mov ecx, dword [ebp - 0x1044]
add ecx, edx
mov eax, dword [ebp - 0x1024]
jns 0x42a9cb
add ecx, eax
dec eax
cmp ecx, eax
jle 0x42a9d6
sub ecx, dword [ebp - 0x1024]
mov eax, dword [esi + 0xb4]
lea ecx, [ecx + ecx*2]
sub eax, dword [ebp - 0xfd0]
add ecx, 0x36
dec eax
imul eax, dword [ebp - 0x11a4]
add eax, dword [ebp - 0x1200]
add ecx, eax
cmp byte [ebp - 0xf49], 0
mov dword [ebp - 0xfb4], ecx
je 0x42abe9
cmp edx, dword [ebp - 0xf88]
jl 0x42abe0
cmp edx, dword [ebp - 0xf98]
jge 0x42abe0
mov eax, dword [ebp - 0xf94]
cmp eax, dword [ebp - 0xf74]
jl 0x42abe0
cmp eax, dword [ebp - 0xf78]
jge 0x42abe0
movsx eax, byte [esi + 0xf2598]
cmp eax, 4
ja case.default.0x42aa51
jmp dword [eax*4 + 0x42c864]
movd xmm0, dword [ebp - 0x11a8]
mov eax, edx
sub eax, dword [ebp - 0xf88]
imul eax, dword [ebp - 0xfa4]
mov ecx, dword [ebp - 0x100c]
cvtdq2pd xmm0, xmm0
push 0
push 2
push 2
sub esp, 8
movd xmm2, eax
mov eax, dword [ebp - 0xf94]
sub eax, dword [ebp - 0xf74]
imul eax, ecx
cvtdq2pd xmm2, xmm2
divsd xmm2, xmm0
movd xmm0, dword [ebp - 0x11ac]
cvtdq2pd xmm0, xmm0
movd xmm1, eax
lea eax, [ecx - 1]
cvtdq2pd xmm1, xmm1
lea ecx, [ebp - 0xf48]
divsd xmm1, xmm0
movd xmm0, eax
lea eax, [ebp - 0x125c]
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
cvtpd2ps xmm0, xmm2
movss dword [esp], xmm0
push eax
call fcn.0048c0a0
mov edi, dword [0x916c3c]
mov eax, dword [eax]
mov dword [ebp - 0x1030], eax
jmp 0x42abb4
mov eax, dword [ebp - 0x1028]
add eax, edx
cmp dword [ebp - 0xff4], 0x12c
jne 0x42ab4d
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x11c8]
cvttsd2si eax, xmm0
cdq
idiv dword [ebp - 0xfa4]
mov eax, dword [ebp - 0xf94]
add eax, dword [ebp - 0x102c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x1020]
cvttsd2si eax, xmm0
jmp 0x42ab60
cdq
idiv dword [ebp - 0xfa4]
mov eax, dword [ebp - 0xf94]
add eax, dword [ebp - 0x102c]
mov ecx, edx
cdq
idiv dword [ebp - 0x100c]
mov eax, dword [ebp - 0x100c]
dec eax
push 1
movd xmm0, edx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
push ecx
lea eax, [ebp - 0x120c]
push eax
lea ecx, [ebp - 0xf48]
call fcn.00485b30
mov edi, dword [0x916c3c]
mov eax, dword [eax]
mov dword [ebp - 0x1030], eax
jmp 0x42abb4
mov eax, dword [ebp - 0x1030]
movzx ecx, al
mov dword [ebp - 0xfc4], ecx
mov ecx, eax
shr ecx, 8
movzx edx, cl
shr eax, 0x10
movzx ecx, al
mov dword [ebp - 0xfc8], edx
mov dword [ebp - 0xfcc], ecx
mov byte [ebp - 0xf51], 0
jmp 0x42ac0f
mov byte [ebp - 0xf51], 1
jmp 0x42abf2
cmp byte [ebp - 0xf51], 0
je 0x42ac0f
movzx eax, byte [ecx]
mov dword [ebp - 0xfc4], eax
movzx eax, byte [ecx + 1]
mov dword [ebp - 0xfc8], eax
movzx eax, byte [ecx + 2]
mov dword [ebp - 0xfcc], eax
mov al, byte [esi + 0x550]
mov byte [ebp - 0xf9d], al
test al, al
jne 0x42ac3f
cmp byte [esi + 0x568], al
jne 0x42ac3f
movsd xmm3, qword [0x618030]
xorps xmm0, xmm0
movsd qword [ebp - 0x1150], xmm0
jmp 0x42bfd6
mov edx, dword [ebp - 0xf94]
lea eax, [ebp - 0x1150]
mov ecx, dword [ebp - 0xfac]
push eax
push esi
lea eax, [ebp - 0x1270]
push eax
lea eax, [ebp - 0x1278]
push eax
lea eax, [ebp - 0x1280]
push eax
lea eax, [ebp - 0x1208]
push eax
call fcn.00428de0
movsd xmm3, qword [ebp - 0x1270]
xorps xmm6, xmm6
movsd xmm4, qword [0x916c40]
add esp, 0x18
comisd xmm3, xmm6
mov byte [ebp - 0xf67], al
movsd xmm7, qword [0x618410]
movaps xmm0, xmm3
movsd qword [ebp - 0xfe0], xmm3
jae 0x42acac
xorps xmm0, xmm7
divsd xmm0, xmm4
mov ecx, dword [esi + 0x578]
movsd xmm5, qword [0x618030]
xorps xmm1, xmm1
cvttsd2si eax, xmm0
movaps xmm0, xmm5
cdq
idiv dword [0x916c38]
mov eax, dword [esi + 0x57c]
sub eax, ecx
movsd xmm2, qword [edi + edx*8]
subsd xmm0, xmm2
movsd xmm2, qword [0x617fc8]
cvtsi2sd xmm1, eax
mulsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
mov ecx, dword [0x916c38]
addsd xmm1, xmm0
divsd xmm1, qword [0x618208]
mulsd xmm1, xmm2
movaps xmm0, xmm1
addsd xmm0, xmm5
mulsd xmm0, qword [0x6180a0]
mulsd xmm0, xmm2
comisd xmm0, xmm6
jae 0x42ad29
xorps xmm0, xmm7
divsd xmm0, xmm4
mulsd xmm1, qword [0x618090]
cvttsd2si eax, xmm0
cdq
idiv ecx
movsd xmm0, qword [edi + edx*8]
movsd qword [ebp - 0xff0], xmm0
movaps xmm0, xmm5
subsd xmm0, xmm1
mulsd xmm0, qword [0x6180a0]
mulsd xmm0, xmm2
comisd xmm0, xmm6
jae 0x42ad65
xorps xmm0, xmm7
divsd xmm0, xmm4
movsd xmm1, qword [ebp - 0x1278]
cvttsd2si eax, xmm0
movsd qword [ebp - 0x1068], xmm1
movaps xmm2, xmm1
cdq
idiv ecx
movsd xmm1, qword [ebp - 0x11d8]
movsd xmm0, qword [edi + edx*8]
movsd qword [ebp - 0x1018], xmm0
movsd xmm0, qword [ebp - 0x11d0]
call fcn.00428be0
movsd qword [ebp - 0x1000], xmm0
call fcn.00516f40
cmp byte [ebp - 0xf9d], 0
addsd xmm0, xmm0
movsd xmm3, qword [0x618030]
movaps xmm1, xmm3
divsd xmm0, qword [0x618098]
subsd xmm1, xmm0
movsd qword [ebp - 0xfd8], xmm1
je 0x42ae47
cmp byte [esi + 0x568], 0
je 0x42ae7d
movsd xmm1, qword [ebp - 0xff0]
movsd xmm2, qword [ebp - 0x1000]
comisd xmm1, xmm2
jb 0x42ae0c
xorps xmm4, xmm4
movsd qword [ebp - 0xfc0], xmm4
movsd xmm0, qword [ebp - 0x1018]
comisd xmm2, xmm0
jb 0x42ae22
movsd qword [ebp - 0xfc0], xmm3
comisd xmm2, xmm1
jbe 0x42ae85
comisd xmm0, xmm2
jbe 0x42ae85
movaps xmm4, xmm2
subsd xmm0, xmm1
subsd xmm4, xmm1
divsd xmm4, xmm0
movsd qword [ebp - 0xfc0], xmm4
jmp 0x42ae85
cmp byte [esi + 0x568], 0
je 0x42ae7d
xorps xmm0, xmm0
movsd qword [ebp - 0x11e8], xmm3
movsd qword [ebp - 0xfc0], xmm0
movsd xmm0, qword [0x6182c0]
movsd qword [ebp - 0x1000], xmm0
movsd qword [ebp - 0xfd8], xmm0
jmp 0x42ae85
movsd qword [ebp - 0xfc0], xmm3
cmp byte [ebp - 0xf67], 0
je 0x42bfce
push dword [ebp - 0x1010]
movsd xmm0, qword [ebp - 0x1280]
lea eax, [ebp - 0xf84]
mov edx, dword [esi + 0x40]
lea ecx, [ebp - 0x1138]
push 3
push eax
lea eax, [ebp - 0xf80]
movsd qword [ebp - 0x1018], xmm0
push eax
lea eax, [ebp - 0xf7c]
movaps xmm3, xmm0
movsd xmm0, qword [ebp - 0x1208]
push eax
push dword [esi + 0x44]
movaps xmm2, xmm0
movsd qword [ebp - 0xff0], xmm0
push dword [ebp - 0x1070]
push dword [ebp - 0x1050]
call fcn.00428690
mov eax, dword [ebp - 0xf7c]
add esp, 0x20
cmp byte [ebp - 0xf65], 0
mov edi, dword [ebp - 0xf80]
mov dword [ebp - 0xf60], eax
mov eax, dword [ebp - 0xf84]
mov dword [ebp - 0xf70], edi
mov dword [ebp - 0xf50], eax
je 0x42b14c
push dword [ebp - 0x1010]
mov edx, dword [esi + 0x40]
lea eax, [ebp - 0xf64]
movsd xmm3, qword [ebp - 0x1018]
lea ecx, [ebp - 0x1108]
movsd xmm2, qword [ebp - 0xff0]
push 3
push eax
lea eax, [ebp - 0xf58]
push eax
lea eax, [ebp - 0xf6c]
push eax
push dword [esi + 0x44]
push dword [ebp - 0x1034]
push dword [ebp - 0x1038]
call fcn.00428690
mov eax, dword [esi + 0x58]
add esp, 0x20
movsd xmm7, qword [ebp - 0x1158]
mov esi, dword [ebp - 0xf58]
movaps xmm2, xmm7
mov edi, dword [ebp - 0xf64]
mov ecx, dword [ebp - 0xf6c]
test eax, eax
jle 0x42b0c6
cmp eax, 1
je 0x42b014
movd xmm0, dword [ebp - 0xf60]
movd xmm1, dword [ebp - 0xf50]
movsd xmm3, qword [0x618048]
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm3
comisd xmm1, xmm0
jbe 0x42afe0
movd xmm0, dword [ebp - 0xf70]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
comisd xmm1, xmm0
ja 0x42b014
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movd xmm1, edi
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm3
comisd xmm1, xmm0
jbe 0x42b0c6
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm3
comisd xmm1, xmm0
jbe 0x42b0c6
movsd xmm1, qword [ebp - 0x1018]
movsd xmm0, qword [ebp - 0xff0]
call fcn.00428a90
movzx eax, al
movsd xmm2, qword [ebp - 0x1180]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x6181b0]
comisd xmm0, xmm2
jb 0x42b0aa
ucomisd xmm0, qword [0x617eb0]
lahf
test ah, 0x44
jp 0x42b060
movsd xmm0, qword [0x617eb8]
movsd xmm1, qword [0x618030]
ucomisd xmm2, xmm1
lahf
test ah, 0x44
jnp 0x42b081
movaps xmm1, xmm0
subsd xmm1, xmm2
divsd xmm1, xmm7
divsd xmm1, xmm0
comisd xmm2, xmmword [0x618008]
jbe 0x42b0ad
xorps xmm1, xmm1
movaps xmm0, xmm7
ucomisd xmm1, xmm0
ja 0x42b0a0
sqrtsd xmm0, xmm0
movaps xmm1, xmm0
jmp 0x42b0ad
call fcn.00515850
movaps xmm1, xmm0
jmp 0x42b0ad
xorps xmm1, xmm1
movsd xmm2, qword [0x618030]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0xf6c]
maxsd xmm0, xmm1
minsd xmm2, xmm0
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm0, dword [ebp - 0xf7c]
cvtsi2sd xmm1, ecx
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, esi
mov esi, dword [ebp - 0xf5c]
cvttsd2si eax, xmm0
xorps xmm0, xmm0
mov dword [ebp - 0xf7c], eax
mov eax, dword [ebp - 0xf80]
cvtsi2sd xmm0, eax
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, edi
cvttsd2si eax, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [ebp - 0xf84]
mov dword [ebp - 0xf80], eax
mov edi, dword [ebp - 0xf80]
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0xf84], eax
cmp dword [ebp - 0x11b0], 0
jne 0x42b19c
push dword [ebp - 0x1010]
mov edx, dword [esi + 0x40]
lea eax, [ebp - 0xf9c]
movsd xmm3, qword [ebp - 0x1018]
lea ecx, [ebp - 0x10d8]
movsd xmm2, qword [ebp - 0xff0]
push 1
push eax
push 0
push 0
push dword [esi + 0x44]
push 0
push 0
call fcn.00428690
mov eax, dword [ebp - 0xf9c]
add esp, 0x20
mov dword [ebp - 0xfb0], eax
movsd xmm0, qword [ebp - 0xfc0]
comisd xmm0, xmmword [0x617eb0]
jbe 0x42b441
mov eax, dword [ebp - 0xf7c]
lea edx, [ebp - 0xf58]
mov dword [ebp - 0xf6c], eax
lea ecx, [ebp - 0xf6c]
mov eax, dword [ebp - 0xf84]
mov dword [ebp - 0xf64], eax
movzx eax, byte [esi + 0x555]
push eax
movzx eax, byte [esi + 0x556]
push eax
movzx eax, byte [esi + 0x557]
push eax
lea eax, [ebp - 0xf64]
mov dword [ebp - 0xf58], edi
push eax
call fcn.004294b0
mov ecx, dword [ebp - 0x11b4]
add esp, 0x10
movsd xmm1, qword [0x6181b8]
movd xmm3, eax
mov eax, dword [ebp - 0xfb0]
sub eax, ecx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movd xmm2, eax
cvtdq2pd xmm2, xmm2
subsd xmm1, xmm0
cvtdq2pd xmm3, xmm3
divsd xmm2, xmm1
mulsd xmm2, qword [0x6181b0]
cvttsd2si eax, xmm2
mov dword [ebp - 0xfb0], eax
mov dword [ebp - 0xf9c], eax
test eax, eax
jns 0x42b393
xor eax, eax
mov dword [ebp - 0xfb0], eax
mov dword [ebp - 0xf9c], eax
mov edi, dword [ebp - 0xf58]
mov esi, dword [ebp - 0xf64]
movsd xmm0, qword [ebp - 0x1000]
comisd xmm0, xmmword [0x617eb0]
jbe 0x42b459
mov eax, dword [ebp - 0xf5c]
cmp byte [eax + 0x553], 0
jle 0x42b459
movd xmm0, dword [ebp - 0xf60]
movd xmm1, dword [ebp - 0xf50]
movsd xmm2, qword [0x618048]
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm2
comisd xmm1, xmm0
jbe 0x42b459
movd xmm0, dword [ebp - 0xf70]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
comisd xmm1, xmm0
jbe 0x42b459
movsd xmm0, qword [ebp - 0xfd8]
movsd xmm1, qword [ebp - 0x1220]
call fcn.00514b30
movaps xmm1, xmm0
movsd xmm2, qword [0x6181a0]
movsd xmm0, qword [ebp - 0x1228]
mulsd xmm0, qword [0x618000]
mulsd xmm1, xmm0
movsd xmm0, qword [0x6181b0]
mulsd xmm1, xmm0
minsd xmm2, xmm1
movaps xmm1, xmm0
subsd xmm1, xmm2
divsd xmm1, xmm0
movd xmm0, dword [ebp - 0xf6c]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm0, xmm2
cvttsd2si eax, xmm0
movd xmm0, edi
cvtdq2pd xmm0, xmm0
movzx ecx, al
mov dword [ebp - 0xf6c], ecx
mulsd xmm0, xmm1
addsd xmm0, xmm2
cvttsd2si eax, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
movzx eax, al
mov dword [ebp - 0xf58], eax
mulsd xmm0, xmm1
addsd xmm0, xmm2
cvttsd2si eax, xmm0
movzx edi, al
mov dword [ebp - 0xf64], edi
jmp 0x42b45f
je 0x42b267
cmp byte [esi + 0x551], 0
je 0x42b267
cmp byte [ebp - 0xf52], 0
movd xmm2, eax
cvtdq2pd xmm2, xmm2
mulsd xmm2, qword [ebp - 0x1218]
je 0x42b3d3
movsd xmm0, qword [0x618030]
subsd xmm0, qword [ebp - 0x1198]
mulsd xmm2, xmm0
xorps xmm1, xmm1
movaps xmm0, xmm3
cvtsi2sd xmm1, dword [ebp - 0xf6c]
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0xf58]
cvttsd2si eax, xmm0
movaps xmm0, xmm3
subsd xmm0, xmm1
mov dword [ebp - 0xf6c], eax
mulsd xmm0, xmm2
addsd xmm0, xmm1
cvttsd2si edi, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [ebp - 0xf64]
mov dword [ebp - 0xf58], edi
subsd xmm3, xmm0
mulsd xmm3, xmm2
addsd xmm3, xmm0
cvttsd2si esi, xmm3
mov dword [ebp - 0xf64], esi
jmp 0x42b273
xor edi, edi
xor esi, esi
mov dword [ebp - 0xf64], edi
mov dword [ebp - 0xf58], esi
mov dword [ebp - 0xf6c], esi
jmp 0x42b465
mov edi, dword [ebp - 0xf64]
mov esi, dword [ebp - 0xf58]
cmp byte [ebp - 0xf52], 0
je 0x42b909
push dword [ebp - 0x11b8]
movsd xmm0, qword [ebp - 0x1018]
lea eax, [ebp - 0xfe4]
movsd xmm1, qword [ebp - 0xff0]
lea ecx, [ebp - 0x10a8]
mulsd xmm0, qword [ebp - 0x1230]
mov edx, dword [ebp - 0x1140]
mulsd xmm1, qword [ebp - 0x1230]
push 1
push eax
push 0
push 0
push dword [ebp - 0x113c]
movaps xmm3, xmm0
movsd qword [ebp - 0x1018], xmm0
push 0
push 0
movaps xmm2, xmm1
movsd qword [ebp - 0xff0], xmm1
call fcn.00428690
mov eax, dword [ebp - 0xf5c]
add esp, 0x20
cmp byte [eax + 0x583], 0
jbe 0x42b7ee
movsd xmm1, qword [ebp - 0x1068]
subsd xmm1, qword [ebp - 0x11d0]
movsd xmm2, qword [0x618098]
movsd xmm0, qword [0x6180d8]
comisd xmm1, xmm2
movsd qword [ebp - 0x1068], xmm1
jbe 0x42b526
subsd xmm1, xmm0
movsd qword [ebp - 0x1068], xmm1
movsd xmm3, qword [0x6182d8]
comisd xmm3, xmm1
jbe 0x42b540
addsd xmm1, xmm0
movsd qword [ebp - 0x1068], xmm1
movsd xmm0, qword [ebp - 0xfe0]
subsd xmm0, qword [ebp - 0x11d8]
comisd xmm0, xmmword [0x618060]
movsd qword [ebp - 0xfe0], xmm0
jbe 0x42b56e
subsd xmm0, xmm2
movsd qword [ebp - 0xfe0], xmm0
movsd xmm3, qword [0x6182c8]
comisd xmm3, xmm0
jbe 0x42b588
addsd xmm0, xmm2
movsd qword [ebp - 0xfe0], xmm0
movaps xmm2, xmm0
mulsd xmm2, xmm0
movaps xmm0, xmm1
mulsd xmm0, xmm1
xorps xmm1, xmm1
addsd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x42b5a9
sqrtsd xmm0, xmm0
jmp 0x42b5ae
call fcn.00515850
movsd xmm1, qword [ebp - 0x1068]
divsd xmm1, xmm0
movaps xmm0, xmm1
call fcn.00516f40
xorps xmm1, xmm1
comisd xmm1, xmmword [ebp - 0xfe0]
jbe 0x42b5d7
mulsd xmm0, qword [0x6182c0]
movsd xmm1, qword [ebp - 0x11e0]
lea eax, [ebp - 0x11bc]
mov esi, dword [ebp - 0xfe4]
lea ecx, [ebp - 0x10a8]
mov edx, dword [ebp - 0x1140]
sub esp, 0x18
movsd xmm2, qword [ebp - 0x1018]
movsd qword [esp + 0x10], xmm1
movsd xmm1, qword [ebp - 0x1190]
movsd qword [esp + 8], xmm1
movsd xmm1, qword [ebp - 0x1188]
movsd qword [esp], xmm1
movsd xmm1, qword [ebp - 0xff0]
push eax
push esi
sub esp, 8
movsd qword [esp], xmm0
push dword [ebp - 0x113c]
call fcn.00411fd0
movd xmm1, esi
add esp, 0x2c
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
subsd xmm1, qword [0x618188]
cvttsd2si edx, xmm1
test edx, edx
jns 0x42b66b
xor edx, edx
jmp 0x42b679
cmp edx, 0xff
mov eax, 0xff
cmovg edx, eax
mov esi, dword [ebp - 0xf58]
xorps xmm2, xmm2
imul eax, dword [ebp - 0xf6c], 0x12b
xorps xmm0, xmm0
imul ecx, esi, 0x24b
xorps xmm1, xmm1
cvtsi2sd xmm0, dword [ebp - 0x11bc]
mov dword [ebp - 0xfe4], edx
add ecx, eax
movsd xmm5, qword [0x6181b0]
imul eax, edi, 0x72
divsd xmm0, xmm5
add ecx, eax
movsd xmm3, qword [0x618030]
cvtsi2sd xmm2, ecx
cvtsi2sd xmm1, dword [ebp - 0xf6c]
minsd xmm3, xmm0
imul ecx, dword [ebp - 0xf80], 0x24b
divsd xmm2, qword [0x618218]
movaps xmm0, xmm1
divsd xmm2, xmm5
mulsd xmm0, xmm2
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, esi
cvttsd2si eax, xmm0
movaps xmm0, xmm1
mulsd xmm0, xmm2
mov dword [ebp - 0xf6c], eax
imul eax, dword [ebp - 0xf7c], 0x12b
subsd xmm0, xmm1
add ecx, eax
imul eax, dword [ebp - 0xf84], 0x72
mulsd xmm0, xmm3
add ecx, eax
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, edi
cvttsd2si esi, xmm0
movaps xmm0, xmm1
mulsd xmm0, xmm2
xorps xmm2, xmm2
mov dword [ebp - 0xf58], esi
cvtsi2sd xmm2, ecx
subsd xmm0, xmm1
divsd xmm2, qword [0x618218]
mulsd xmm0, xmm3
divsd xmm2, xmm5
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0xf7c]
cvttsd2si edi, xmm0
movaps xmm0, xmm1
mulsd xmm0, xmm2
mov dword [ebp - 0xf64], edi
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0xf80]
cvttsd2si eax, xmm0
movaps xmm0, xmm1
mulsd xmm0, xmm2
mov dword [ebp - 0xf7c], eax
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0xf84]
cvttsd2si eax, xmm0
movaps xmm0, xmm1
mulsd xmm0, xmm2
mov dword [ebp - 0xf80], eax
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0xf84], eax
jmp 0x42b7fc
mov edx, dword [ebp - 0xfe4]
movsd xmm5, qword [0x6181b0]
test edx, edx
jle 0x42b909
xorps xmm0, xmm0
movsd xmm1, qword [ebp - 0x1190]
cvtsi2sd xmm0, edx
divsd xmm0, xmm5
call fcn.00514b30
movsd xmm5, qword [0x6181b0]
movaps xmm3, xmm0
mulsd xmm3, qword [ebp - 0x11e0]
xorps xmm2, xmm2
cvtsi2sd xmm2, dword [ebp - 0xf6c]
movaps xmm1, xmm5
movaps xmm0, xmm5
subsd xmm1, xmm2
movsd qword [ebp - 0x1198], xmm3
mulsd xmm1, xmm3
addsd xmm1, xmm2
cvttsd2si eax, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, esi
mov dword [ebp - 0xf6c], eax
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, edi
cvttsd2si eax, xmm0
movaps xmm0, xmm5
subsd xmm0, xmm1
mov dword [ebp - 0xf58], eax
mulsd xmm0, xmm3
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0xf7c]
cvttsd2si eax, xmm0
movaps xmm0, xmm5
subsd xmm0, xmm1
mov dword [ebp - 0xf64], eax
mulsd xmm0, xmm3
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0xf80]
cvttsd2si edx, xmm0
movaps xmm0, xmm5
subsd xmm0, xmm1
mov dword [ebp - 0xf7c], edx
mulsd xmm0, xmm3
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0xf84]
cvttsd2si ecx, xmm0
movaps xmm0, xmm5
subsd xmm0, xmm1
mov dword [ebp - 0xf80], ecx
mulsd xmm0, xmm3
addsd xmm0, xmm1
cvttsd2si esi, xmm0
mov dword [ebp - 0xf84], esi
jmp 0x42b91b
mov esi, dword [ebp - 0xf84]
mov edx, dword [ebp - 0xf7c]
mov ecx, dword [ebp - 0xf80]
movsd xmm4, qword [0x618030]
movsd xmm0, qword [ebp - 0xfc0]
comisd xmm4, xmm0
jbe 0x42bd07
lea eax, [ecx + esi]
movd xmm0, dword [ebp - 0x11c0]
lea eax, [eax + ecx*4]
movsd xmm3, qword [ebp - 0x1268]
lea eax, [eax + edx*2]
movd xmm1, edx
movd xmm2, eax
lea edx, [ebp - 0xf50]
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
divsd xmm2, qword [0x618228]
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm2
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm0, xmm1
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
lea ecx, [ebp - 0xf9c]
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x115c]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0xf9c], eax
mulsd xmm0, xmm2
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm0, xmm1
movd xmm1, esi
mov esi, dword [ebp - 0xf5c]
cvtdq2pd xmm1, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0x1160]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0xf50], eax
mulsd xmm0, xmm2
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0xf60], eax
movzx eax, byte [esi + 0x572]
push eax
movzx eax, byte [esi + 0x573]
push eax
movzx eax, byte [esi + 0x574]
push eax
lea eax, [ebp - 0xf60]
push eax
call fcn.004294b0
xorps xmm0, xmm0
add esp, 0x10
comisd xmm0, xmmword [ebp - 0x1000]
jbe 0x42bacc
cmp byte [esi + 0x570], 0
jle 0x42bacc
movsd xmm1, qword [ebp - 0x1288]
movsd xmm0, qword [ebp - 0xfd8]
addsd xmm1, xmm1
xorps xmm0, xmmword [0x618410]
addsd xmm1, qword [0x618030]
call fcn.00514b30
movsd xmm4, qword [0x618030]
movaps xmm1, xmm4
subsd xmm1, xmm0
movaps xmm0, xmm4
subsd xmm0, qword [ebp - 0x11e8]
mulsd xmm1, xmm0
movd xmm0, dword [ebp - 0xf9c]
cvtdq2pd xmm0, xmm0
addsd xmm1, qword [ebp - 0x11e8]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0xf50]
cvtdq2pd xmm0, xmm0
movzx edx, al
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0xf60]
cvtdq2pd xmm0, xmm0
movzx esi, al
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
movzx edi, al
jmp 0x42bae6
mov edx, dword [ebp - 0xf9c]
mov esi, dword [ebp - 0xf50]
mov edi, dword [ebp - 0xf60]
movsd xmm4, qword [0x618030]
mov ecx, dword [ebp - 0x1164]
mov eax, dword [ebp - 0xfb0]
movsd xmm1, qword [0x6181b8]
sub eax, ecx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movd xmm2, eax
cvtdq2pd xmm2, xmm2
subsd xmm1, xmm0
divsd xmm2, xmm1
mulsd xmm2, qword [0x6181b0]
cvttsd2si ecx, xmm2
mov dword [ebp - 0xfb0], ecx
mov dword [ebp - 0xf9c], ecx
test ecx, ecx
jle 0x42bbfe
mov eax, dword [ebp - 0xf5c]
cmp byte [eax + 0x569], 0
je 0x42bbfe
cmp byte [ebp - 0xf52], 0
movaps xmm1, xmm4
subsd xmm1, qword [ebp - 0xfc0]
movaps xmm2, xmm1
mulsd xmm2, qword [ebp - 0x1238]
je 0x42bb75
movaps xmm0, xmm4
subsd xmm0, qword [ebp - 0x1198]
mulsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
mulsd xmm0, xmm1
mulsd xmm0, xmm1
mulsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, edx
cvttsd2si ecx, xmm0
xorps xmm0, xmm0
movzx eax, byte [ecx + ecx*2 + 0x616db8]
cvtsi2sd xmm0, eax
movzx eax, byte [ecx + ecx*2 + 0x616db9]
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, esi
cvttsd2si edx, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movzx eax, byte [ecx + ecx*2 + 0x616dba]
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, edi
cvttsd2si esi, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
cvttsd2si edi, xmm0
movsd xmm0, qword [ebp - 0xfc0]
mulsd xmm0, qword [0x618318]
lea eax, [ebp - 0xa30]
movd xmm1, edx
cvtdq2pd xmm1, xmm1
cvttsd2si ecx, xmm0
movd xmm0, dword [ebp - 0xf6c]
cvtdq2pd xmm0, xmm0
shl ecx, 3
sub eax, ecx
movsd xmm3, qword [ebp - 0x1150]
movsd xmm2, qword [eax]
subsd xmm0, xmm1
movsd xmm6, qword [ebp - 0x1000]
movsd qword [ebp - 0xfc0], xmm2
mulsd xmm0, xmm2
addsd xmm0, xmm1
movd xmm1, esi
cvtdq2pd xmm1, xmm1
mov esi, dword [ebp - 0xf5c]
cvttsd2si eax, xmm0
movd xmm0, dword [ebp - 0xf58]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0xf70], eax
mov al, byte [esi + 0x558]
mov byte [ebp - 0xf67], al
test al, al
mov eax, dword [ebp - 0xf70]
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
movd xmm1, edi
cvtdq2pd xmm1, xmm1
cvttsd2si ecx, xmm0
movd xmm0, dword [ebp - 0xf64]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0xf50], ecx
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
cvttsd2si edx, xmm0
mov dword [ebp - 0xf60], edx
je 0x42be1e
movsd xmm5, qword [ebp - 0x1240]
comisd xmm3, xmm5
jbe 0x42be1e
xorps xmm2, xmm2
movaps xmm1, xmm6
comisd xmm6, xmm2
jbe 0x42bd12
mulsd xmm1, qword [0x617fc8]
addsd xmm1, qword [0x617fc8]
jmp 0x42bd22
xor edi, edi
xor esi, esi
xor edx, edx
jmp 0x42bc06
addsd xmm1, xmm4
mulsd xmm1, xmm1
mulsd xmm1, qword [0x617fc8]
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [ebp - 0x1168]
subsd xmm0, xmm2
mulsd xmm0, xmm1
addsd xmm0, xmm2
cvttsd2si eax, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [ebp - 0x116c]
mov dword [ebp - 0xf7c], eax
subsd xmm0, xmm2
mulsd xmm0, xmm1
addsd xmm0, xmm2
cvttsd2si ecx, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [ebp - 0x1170]
mov dword [ebp - 0xf80], ecx
subsd xmm0, xmm2
mulsd xmm0, xmm1
movaps xmm1, xmm4
subsd xmm1, xmm3
addsd xmm0, xmm2
movaps xmm2, xmm4
cvttsd2si edx, xmm0
movaps xmm0, xmm4
subsd xmm0, xmm5
mov dword [ebp - 0xf84], edx
divsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
subsd xmm2, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0xf70]
mulsd xmm2, qword [ebp - 0x1248]
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0xf50]
cvttsd2si eax, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
mov dword [ebp - 0xf70], eax
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0xf60]
cvttsd2si ecx, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, edx
mov dword [ebp - 0xf50], ecx
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
cvttsd2si edx, xmm0
mov dword [ebp - 0xf60], edx
movsd xmm0, qword [0x618010]
comisd xmm3, xmm0
jbe 0x42bfb7
comisd xmm4, xmm3
jb 0x42bfb7
test byte [ebp - 0xf67], 1
subsd xmm3, xmm0
xorps xmm4, xmm4
xorps xmm5, xmm5
cvtsi2sd xmm4, dword [ebp - 0xfc8]
divsd xmm3, qword [0x617f80]
cvtsi2sd xmm5, dword [ebp - 0xfc4]
movaps xmm2, xmm3
xorps xmm0, xmm0
mulsd xmm2, xmm3
mulsd xmm2, xmm3
mulsd xmm2, xmm3
mulsd xmm2, xmm3
xorps xmm3, xmm3
cvtsi2sd xmm3, dword [ebp - 0xfcc]
movsd qword [ebp - 0x1150], xmm2
je 0x42bf70
cvtsi2sd xmm0, dword [ebp - 0x1054]
movaps xmm1, xmm6
mulsd xmm1, qword [0x617fc8]
subsd xmm0, xmm3
addsd xmm1, qword [0x617fc8]
mulsd xmm0, xmm1
addsd xmm0, xmm3
cvttsd2si eax, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [ebp - 0x1058]
mov dword [ebp - 0xf7c], eax
subsd xmm0, xmm4
mulsd xmm0, xmm1
addsd xmm0, xmm4
cvttsd2si ecx, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [ebp - 0x105c]
mov dword [ebp - 0xf80], ecx
subsd xmm0, xmm5
mulsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0xf70]
addsd xmm0, xmm5
cvttsd2si edx, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mov dword [ebp - 0xf84], edx
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0xf50]
cvttsd2si eax, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0xf60]
cvttsd2si ecx, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, edx
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
cvttsd2si edx, xmm0
jmp 0x42c1ec
cvtsi2sd xmm0, eax
subsd xmm3, xmm0
mulsd xmm3, xmm2
addsd xmm3, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
cvttsd2si eax, xmm3
subsd xmm4, xmm0
mulsd xmm4, xmm2
addsd xmm4, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, edx
cvttsd2si ecx, xmm4
subsd xmm5, xmm0
mulsd xmm5, xmm2
addsd xmm5, xmm0
cvttsd2si edx, xmm5
jmp 0x42c1ec
mov edx, dword [ebp - 0xf60]
mov ecx, dword [ebp - 0xf50]
mov eax, dword [ebp - 0xf70]
jmp 0x42c1ec
movsd xmm0, qword [ebp - 0x1150]
cmp byte [ebp - 0xf66], 0
mov dl, byte [ebp - 0xfc4]
mov cl, byte [ebp - 0xfc8]
mov al, byte [ebp - 0xfcc]
movsd qword [ebp - 0xfd8], xmm0
mov dword [ebp - 0xf60], edx
mov dword [ebp - 0xf50], ecx
mov dword [ebp - 0xf70], eax
je 0x42c0ec
push dword [ebp - 0x103c]
mov edx, dword [ebp - 0xf94]
push dword [ebp - 0xfa8]
mov ecx, dword [ebp - 0xfac]
push dword [ebp - 0x106c]
call fcn.00406620
movsx eax, byte [esi + 0xf269f]
add esp, 0xc
movsd xmm3, qword [0x618030]
movsd xmm4, qword [0x6181b0]
movaps xmm2, xmm3
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mov eax, dword [ebp - 0xfc4]
movzx eax, al
mulsd xmm0, xmm1
xorps xmm1, xmm1
divsd xmm0, qword [0x618178]
maxsd xmm1, xmm0
movaps xmm0, xmm4
minsd xmm2, xmm1
movd xmm1, eax
mov eax, dword [ebp - 0xfc8]
cvtdq2pd xmm1, xmm1
movzx eax, al
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
movd xmm1, eax
mov eax, dword [ebp - 0xfcc]
cvtdq2pd xmm1, xmm1
movzx eax, al
cvttsd2si edx, xmm0
movaps xmm0, xmm4
subsd xmm0, xmm1
mov dword [ebp - 0xf60], edx
mulsd xmm0, xmm2
addsd xmm0, xmm1
movd xmm1, eax
cvtdq2pd xmm1, xmm1
cvttsd2si ecx, xmm0
movaps xmm0, xmm4
subsd xmm0, xmm1
mov dword [ebp - 0xf50], ecx
mulsd xmm0, xmm2
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [ebp - 0xf70], eax
cmp byte [esi + 0x558], 0
je 0x42c1ec
movsd xmm1, qword [ebp - 0xfd8]
comisd xmm1, xmm3
jbe 0x42c1ec
movsd xmm4, qword [ebp - 0x1250]
comisd xmm4, xmm1
jb 0x42c1ec
movsd xmm0, qword [ebp - 0x1000]
subsd xmm1, xmm3
mulsd xmm0, qword [0x617fc8]
addsd xmm0, qword [0x617fc8]
movsd qword [ebp - 0xfd8], xmm0
movaps xmm0, xmm4
subsd xmm0, xmm3
divsd xmm1, xmm0
movaps xmm0, xmm3
subsd xmm0, xmm1
movsd xmm1, qword [ebp - 0x1258]
call fcn.00514b30
mov eax, dword [ebp - 0xf60]
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0x105c]
movzx eax, al
movaps xmm3, xmm0
xorps xmm2, xmm2
mulsd xmm3, qword [ebp - 0xfd8]
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [ebp - 0x1058]
cvtsi2sd xmm2, eax
mov eax, dword [ebp - 0xf50]
movzx eax, al
subsd xmm1, xmm2
mulsd xmm1, xmm3
addsd xmm1, xmm2
cvttsd2si edx, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
mov eax, dword [ebp - 0xf70]
movzx eax, al
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
cvttsd2si ecx, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [ebp - 0x1054]
subsd xmm0, xmm1
mulsd xmm0, xmm3
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov edi, dword [ebp - 0xfb4]
mov byte [edi], dl
mov edx, edi
mov edi, dword [0x916c3c]
mov byte [edx + 2], al
mov eax, dword [ebx + 8]
mov byte [edx + 1], cl
cmp byte [eax], 0
jne 0x42c42e
mov edx, dword [ebp - 0xfac]
inc edx
mov dword [ebp - 0xfac], edx
cmp edx, dword [esi + 0xb0]
jl 0x42a983
mov ecx, dword [ebp - 0xf94]
mov dl, byte [ebp - 0xf66]
inc ecx
mov dword [ebp - 0xf94], ecx
cmp ecx, dword [esi + 0xb4]
jl 0x42a860
mov eax, dword [ebp - 0xfa8]
test eax, eax
je 0x42c259
push eax
call fcn.00504903
add esp, 4
mov eax, dword [ebp - 0x1124]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xfa8], 0
test eax, eax
je 0x42c276
push eax
call edi
mov eax, dword [ebp - 0x1118]
mov dword [ebp - 0x1124], 0
test eax, eax
je 0x42c293
push eax
call fcn.00504903
add esp, 4
mov eax, dword [ebp - 0x10f4]
mov dword [ebp - 0x1118], 0
mov dword [ebp - 0x1138], 0
mov dword [ebp - 0x1110], 0xffffffff
mov dword [ebp - 0x110c], 0xffffffff
test eax, eax
je 0x42c2c8
push eax
call edi
mov eax, dword [ebp - 0x10e8]
mov dword [ebp - 0x10f4], 0
test eax, eax
je 0x42c2e5
push eax
call fcn.00504903
add esp, 4
mov eax, dword [ebp - 0x10c4]
mov dword [ebp - 0x10e8], 0
mov dword [ebp - 0x1108], 0
mov dword [ebp - 0x10e0], 0xffffffff
mov dword [ebp - 0x10dc], 0xffffffff
test eax, eax
je 0x42c31a
push eax
call edi
mov eax, dword [ebp - 0x10b8]
mov dword [ebp - 0x10c4], 0
test eax, eax
je 0x42c337
push eax
call fcn.00504903
add esp, 4
mov eax, dword [ebp - 0x1094]
mov dword [ebp - 0x10b8], 0
mov dword [ebp - 0x10d8], 0
mov dword [ebp - 0x10b0], 0xffffffff
mov dword [ebp - 0x10ac], 0xffffffff
test eax, eax
je 0x42c36c
push eax
call edi
mov eax, dword [ebp - 0x1088]
mov dword [ebp - 0x1094], 0
test eax, eax
je 0x42c389
push eax
call fcn.00504903
add esp, 4
mov dword [ebp - 0x1088], 0
mov dword [ebp - 0x10a8], 0
mov dword [ebp - 0x1080], 0xffffffff
mov dword [ebp - 0x107c], 0xffffffff
cmp byte [esi + 0x584], 0
je 0x42c3f1
cmp dword [esi + 0x588], 0
jle 0x42c3f1
mov eax, dword [ebx + 8]
cmp byte [eax], 0
jne 0x42c3f1
push dword [ebp - 0x1040]
mov ecx, dword [ebp - 0x1200]
mov edx, esi
push dword [ebp - 0x1044]
call fcn.0040c5c0
mov edi, eax
add esp, 8
mov dword [ebp - 0xf8c], edi
jmp 0x42c3f7
mov edi, dword [ebp - 0xf8c]
mov edx, dword [ebp - 0x1008]
mov eax, dword [ebp - 0x1048]
inc edx
mov dword [ebp - 0x1008], edx
cmp edx, dword [eax]
jge 0x42c44d
movsd xmm1, qword [0x618030]
mov eax, dword [ebp - 0xff4]
jmp 0x429af9
mov edi, 0x2b
mov dword [ebp - 0xf8c], edi
jmp 0x42c44d
xor edi, edi
mov dword [ebp - 0xf8c], edi
mov eax, dword [ebp - 0xfa8]
test eax, eax
je 0x42c44d
push eax
call fcn.00504903
add esp, 4
jmp 0x42c44d
xor edi, edi
mov ecx, 0x64
call fcn.004215e0
mov eax, dword [ebp - 0x1124]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x42c46a
push eax
call esi
mov eax, dword [ebp - 0x1118]
mov dword [ebp - 0x1124], 0
test eax, eax
je 0x42c487
push eax
call fcn.00504903
add esp, 4
mov eax, dword [ebp - 0x10f4]
mov dword [ebp - 0x1118], 0
mov dword [ebp - 0x1138], 0
mov dword [ebp - 0x1110], 0xffffffff
mov dword [ebp - 0x110c], 0xffffffff
test eax, eax
je 0x42c4bc
push eax
call esi
mov eax, dword [ebp - 0x10e8]
mov dword [ebp - 0x10f4], 0
test eax, eax
je 0x42c4d9
push eax
call fcn.00504903
add esp, 4
mov eax, dword [ebp - 0x10c4]
mov dword [ebp - 0x10e8], 0
mov dword [ebp - 0x1108], 0
mov dword [ebp - 0x10e0], 0xffffffff
mov dword [ebp - 0x10dc], 0xffffffff
test eax, eax
je 0x42c50e
push eax
call esi
mov eax, dword [ebp - 0x10b8]
mov dword [ebp - 0x10c4], 0
test eax, eax
je 0x42c52b
push eax
call fcn.00504903
add esp, 4
mov eax, dword [ebp - 0x1094]
mov dword [ebp - 0x10b8], 0
mov dword [ebp - 0x10d8], 0
mov dword [ebp - 0x10b0], 0xffffffff
mov dword [ebp - 0x10ac], 0xffffffff
test eax, eax
je 0x42c560
push eax
call esi
mov eax, dword [ebp - 0x1088]
mov dword [ebp - 0x1094], 0
test eax, eax
je 0x42c57d
push eax
call fcn.00504903
add esp, 4
lea ecx, [ebp - 0x1200]
mov dword [ebp - 0x1088], 0
mov dword [ebp - 0x10a8], 0
mov dword [ebp - 0x1080], 0xffffffff
mov dword [ebp - 0x107c], 0xffffffff
call fcn.0042f9b0
test edi, edi
jne 0x42c604
mov eax, dword [ebx + 8]
cmp byte [eax], 0
jne 0x42c604
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [ebp - 0x120]
xor esi, esi
push esi
push dword [ebp - 0x104c]
push eax
call edi
test eax, eax
jne 0x42c5fe
cmp esi, 0x3c
jge 0x42c5fe
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push dword [ebp - 0x104c]
lea eax, [ebp - 0x120]
inc esi
push eax
call edi
test eax, eax
je 0x42c5d8
mov edi, dword [ebp - 0xf8c]
cmp byte [ebp - 0x120], 0
je 0x42c61a
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xa40]
mov dword [ebp - method.CImage.virtual_0], vtable.CImage.0
mov dword [ebp - 0xa44], 0
mov dword [ebp - 0xa38], 0
test eax, eax
je 0x42c65a
cmp byte [ebp - 0xa34], 0
jne 0x42c65a
push eax
call fcn.00504903
add esp, 4
mov dword [ebp - 0xa40], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xf48]
mov dword [ebp - method.CxImage.virtual_0], vtable.CxImage.0
call fcn.00489220
lea ecx, [ebp - 0xf48]
call fcn.00489160
mov eax, dword [ebp - 0x1094]
test eax, eax
je 0x42c695
push eax
call esi
mov ecx, dword [ebp - 0x1088]
xor eax, eax
mov dword [ebp - 0x1094], eax
test ecx, ecx
je 0x42c6b6
push ecx
call fcn.00504903
mov eax, dword [ebp - 0x1094]
add esp, 4
mov dword [ebp - 0x1088], 0
mov dword [ebp - 0x10a8], 0
mov dword [ebp - 0x1080], 0xffffffff
mov dword [ebp - 0x107c], 0xffffffff
test eax, eax
je 0x42c6e5
push eax
call esi
mov eax, dword [ebp - 0x10c4]
mov dword [ebp - 0x1094], 0
test eax, eax
je 0x42c6fc
push eax
call esi
mov ecx, dword [ebp - 0x10b8]
xor eax, eax
mov dword [ebp - 0x10c4], eax
test ecx, ecx
je 0x42c71d
push ecx
call fcn.00504903
mov eax, dword [ebp - 0x10c4]
add esp, 4
mov dword [ebp - 0x10b8], 0
mov dword [ebp - 0x10d8], 0
mov dword [ebp - 0x10b0], 0xffffffff
mov dword [ebp - 0x10ac], 0xffffffff
test eax, eax
je 0x42c74c
push eax
call esi
mov eax, dword [ebp - 0x10f4]
mov dword [ebp - 0x10c4], 0
test eax, eax
je 0x42c763
push eax
call esi
mov ecx, dword [ebp - 0x10e8]
xor eax, eax
mov dword [ebp - 0x10f4], eax
test ecx, ecx
je 0x42c784
push ecx
call fcn.00504903
mov eax, dword [ebp - 0x10f4]
add esp, 4
mov dword [ebp - 0x10e8], 0
mov dword [ebp - 0x1108], 0
mov dword [ebp - 0x10e0], 0xffffffff
mov dword [ebp - 0x10dc], 0xffffffff
test eax, eax
je 0x42c7b3
push eax
call esi
mov eax, dword [ebp - 0x1124]
mov dword [ebp - 0x10f4], 0
test eax, eax
je 0x42c7ca
push eax
call esi
mov ecx, dword [ebp - 0x1118]
xor eax, eax
mov dword [ebp - 0x1124], eax
test ecx, ecx
je 0x42c7eb
push ecx
call fcn.00504903
mov eax, dword [ebp - 0x1124]
add esp, 4
mov dword [ebp - 0x1118], 0
mov dword [ebp - 0x1138], 0
mov dword [ebp - 0x1110], 0xffffffff
mov dword [ebp - 0x110c], 0xffffffff
test eax, eax
je 0x42c81a
push eax
call esi
lea ecx, [ebp - 0x1200]
mov dword [ebp - 0x1124], 0
call fcn.0042f830
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004ff23c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret