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

Disassembly:
sub esp, 0xa0
lea ecx, [esp + 0xe4]
lea eax, [esp + 0xa4]
mov dword [esp + 0x60], ecx
mov ecx, dword [0xa7e070]
inc ecx
push ebx
mov dword [0xa7e070], ecx
mov ecx, dword [esp + 0xc8]
push ebp
mov dword [esp + 0x64], eax
lea edx, [esp + 0x12c]
push esi
mov eax, ecx
push edi
mov edi, dword [esp + 0x114]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x154]
and eax, 0xff
mov esi, edx
and edi, 0xff
mov ebx, eax
mov ebp, eax
and esi, 0xff
or ebx, edi
and ebp, edi
or ebx, esi
and ebp, esi
mov dword [esp + 0x10], ebp
je 0x5147e5
dec dword [0xa7e070]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
test bl, 0x10
je 0x515121
and eax, 0x10
and edi, 0x10
add eax, edi
and esi, 0x10
add eax, esi
lea esi, [esp + 0x6c]
cdq
and edx, 0xf
mov edi, 3
add eax, edx
lea edx, [esp + 0x80]
sar eax, 4
mov dword [esp + 0x68], eax
xor ebp, ebp
mov ecx, dword [esi]
mov dword [ecx + 0x24], edx
mov bl, byte [ecx + 0x20]
test bl, 0x10
jne 0x514861
fld dword [0x5333e0]
fdiv dword [ecx + 8]
fstp dword [edx + 8]
fld dword [ecx]
fsub dword [0xc311b0]
fld dword [0xc311a4]
fmul dword [ecx + 8]
fdivp st(1)
fstp dword [edx]
fld dword [ecx + 4]
fsub dword [0xc311b4]
fld dword [0xc311a0]
fmul dword [ecx + 8]
fdivp st(1)
fstp dword [edx + 4]
jmp 0x51487b
mov eax, ecx
mov ebx, edx
mov ebp, dword [eax]
mov dword [ebx], ebp
mov ebp, dword [eax + 4]
mov dword [ebx + 4], ebp
xor ebp, ebp
mov eax, dword [eax + 8]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x68]
mov ebx, dword [ecx + 0x10]
mov dword [esp + 0x1c], ebp
shr ebx, 0x10
and ebx, 0xff
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x7c], ebp
fild qword [esp + 0x18]
mov dword [esp + 0x64], ebp
add edx, 0xc
add esi, 4
fstp dword [ecx + 0x28]
mov ebx, dword [ecx + 0x10]
shr ebx, 8
and ebx, 0xff
mov dword [esp + 0x10], ebx
fild qword [esp + 0x10]
fstp dword [ecx + 0x2c]
mov ebx, dword [ecx + 0x10]
and ebx, 0xff
mov dword [esp + 0x78], ebx
fild qword [esp + 0x78]
fstp dword [ecx + 0x30]
mov ebx, dword [ecx + 0x18]
mov dword [ecx + 0x34], ebx
mov ebx, dword [ecx + 0x1c]
mov dword [ecx + 0x38], ebx
mov ebx, dword [ecx + 0x14]
shr ebx, 0x18
mov dword [esp + 0x60], ebx
dec edi
fild qword [esp + 0x60]
fstp dword [ecx + 0x3c]
jne 0x51481a
cmp eax, 2
mov al, byte [esp + 0xd4]
jne 0x514c8f
test al, 0x10
jne 0x514929
lea eax, [esp + 0xb4]
lea edi, [esp + 0xb4]
lea esi, [esp + 0xf4]
lea ecx, [esp + 0x134]
jmp 0x51496d
test byte [esp + 0x114], 0x10
jne 0x514951
lea eax, [esp + 0xf4]
lea edi, [esp + 0xf4]
lea esi, [esp + 0x134]
lea ecx, [esp + 0xb4]
jmp 0x51496d
lea eax, [esp + 0x134]
lea edi, [esp + 0x134]
lea esi, [esp + 0xb4]
lea ecx, [esp + 0xf4]
mov edx, dword [eax + 0x24]
mov ebx, dword [esi + 0x24]
fld dword [0xbcadc0]
fsub dword [edx + 8]
fld dword [ebx + 8]
fsub dword [edx + 8]
fdivp st(1)
fld dword [ebx]
fsub dword [edx]
fmul st(1)
fadd dword [edx]
fstp dword [ebx]
mov edx, dword [esi + 0x24]
mov ebx, dword [eax + 0x24]
fld dword [edx + 4]
fsub dword [ebx + 4]
fmul st(1)
fadd dword [ebx + 4]
fstp dword [edx + 4]
mov edx, dword [esi + 0x24]
mov ebx, dword [eax + 0x24]
fld dword [edx + 8]
fsub dword [ebx + 8]
fmul st(1)
fadd dword [ebx + 8]
fstp dword [edx + 8]
fld dword [esi + 0x28]
fsub dword [eax + 0x28]
fmul st(1)
fadd dword [eax + 0x28]
fstp dword [esi + 0x28]
fld dword [esi + 0x2c]
fsub dword [eax + 0x2c]
fmul st(1)
fadd dword [eax + 0x2c]
fstp dword [esi + 0x2c]
fld dword [esi + 0x30]
fsub dword [eax + 0x30]
fmul st(1)
fadd dword [eax + 0x30]
fstp dword [esi + 0x30]
fld dword [esi + 0x34]
fsub dword [eax + 0x34]
fmul st(1)
fadd dword [eax + 0x34]
fstp dword [esi + 0x34]
fld dword [esi + 0x38]
fsub dword [eax + 0x38]
fmul st(1)
fadd dword [eax + 0x38]
fstp dword [esi + 0x38]
fld dword [esi + 0x3c]
fsub dword [eax + 0x3c]
fmul st(1)
fadd dword [eax + 0x3c]
mov eax, dword [esi + 0x24]
fstp dword [esi + 0x3c]
fstp st(0)
fld dword [0x5333e0]
fdiv dword [eax + 8]
fst dword [esi + 8]
fmul dword [0xc311a4]
fmul dword [eax]
fadd dword [0xc311b0]
fstp dword [esi]
fld dword [0xc311a0]
fmul dword [eax + 4]
fmul dword [esi + 8]
fadd dword [0xc311b4]
fstp dword [esi + 4]
fld dword [esi]
fcomp dword [0xbcabd0]
mov dword [esp + 0x18], 1
fnstsw ax
test ah, 1
jne 0x514a5b
mov dword [esp + 0x18], ebp
fld dword [esi + 4]
fcomp dword [0xbcabd4]
fnstsw ax
test ah, 1
je 0x514a72
mov ebx, 1
jmp 0x514a74
xor ebx, ebx
fld dword [esi]
fcomp dword [0xbcabd8]
fnstsw ax
test ah, 0x41
jne 0x514a8a
mov edx, 1
jmp 0x514a8c
xor edx, edx
fld dword [esi + 4]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x514aa3
mov eax, 1
jmp 0x514aa5
xor eax, eax
shl al, 1
or al, dl
mov dl, byte [esp + 0x18]
shl al, 1
or al, bl
shl al, 1
or al, dl
mov byte [esi + 0x20], al
mov eax, dword [edi + 0x24]
mov edx, dword [ecx + 0x24]
fld dword [0xbcadc0]
fsub dword [eax + 8]
fld dword [edx + 8]
fsub dword [eax + 8]
fdivp st(1)
fld dword [edx]
fsub dword [eax]
fmul st(1)
fadd dword [eax]
fstp dword [edx]
mov eax, dword [ecx + 0x24]
mov edx, dword [edi + 0x24]
fld dword [eax + 4]
fsub dword [edx + 4]
fmul st(1)
fadd dword [edx + 4]
fstp dword [eax + 4]
mov eax, dword [ecx + 0x24]
mov edx, dword [edi + 0x24]
fld dword [eax + 8]
fsub dword [edx + 8]
fmul st(1)
fadd dword [edx + 8]
fstp dword [eax + 8]
fld dword [ecx + 0x28]
fsub dword [edi + 0x28]
mov eax, dword [ecx + 0x24]
fmul st(1)
fadd dword [edi + 0x28]
fstp dword [ecx + 0x28]
fld dword [ecx + 0x2c]
fsub dword [edi + 0x2c]
fmul st(1)
fadd dword [edi + 0x2c]
fstp dword [ecx + 0x2c]
fld dword [ecx + 0x30]
fsub dword [edi + 0x30]
fmul st(1)
fadd dword [edi + 0x30]
fstp dword [ecx + 0x30]
fld dword [ecx + 0x34]
fsub dword [edi + 0x34]
fmul st(1)
fadd dword [edi + 0x34]
fstp dword [ecx + 0x34]
fld dword [ecx + 0x38]
fsub dword [edi + 0x38]
fmul st(1)
fadd dword [edi + 0x38]
fstp dword [ecx + 0x38]
fld dword [ecx + 0x3c]
fsub dword [edi + 0x3c]
fmul st(1)
fadd dword [edi + 0x3c]
fstp dword [ecx + 0x3c]
fstp st(0)
fld dword [0x5333e0]
fdiv dword [eax + 8]
fst dword [ecx + 8]
fmul dword [eax]
mov dword [esp + 0x18], 1
fmul dword [0xc311a4]
fadd dword [0xc311b0]
fstp dword [ecx]
fld dword [eax + 4]
fmul dword [ecx + 8]
fmul dword [0xc311a0]
fadd dword [0xc311b4]
fstp dword [ecx + 4]
fld dword [ecx]
fcomp dword [0xbcabd0]
fnstsw ax
test ah, 1
jne 0x514ba6
mov dword [esp + 0x18], ebp
fld dword [ecx + 4]
fcomp dword [0xbcabd4]
fnstsw ax
test ah, 1
je 0x514bbd
mov ebx, 1
jmp 0x514bbf
xor ebx, ebx
fld dword [ecx]
fcomp dword [0xbcabd8]
fnstsw ax
test ah, 0x41
jne 0x514bd5
mov edx, 1
jmp 0x514bd7
xor edx, edx
fld dword [ecx + 4]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x514bee
mov eax, 1
jmp 0x514bf0
xor eax, eax
shl al, 1
or al, dl
mov dl, byte [esp + 0x18]
shl al, 1
or al, bl
shl al, 1
or al, dl
mov byte [ecx + 0x20], al
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x154]
and eax, 0xff
and edx, 0xff
mov ebx, eax
and ecx, 0xff
or ebx, edx
and eax, edx
or ebx, ecx
and eax, ecx
mov ebp, eax
lea ecx, [esp + 0x6c]
mov edx, 3
mov eax, dword [ecx]
add ecx, 4
dec edx
fld dword [eax + 0x28]
fmul dword [eax + 8]
fstp dword [eax + 0x28]
fld dword [eax + 0x2c]
fmul dword [eax + 8]
fstp dword [eax + 0x2c]
fld dword [eax + 0x30]
fmul dword [eax + 8]
fstp dword [eax + 0x30]
fld dword [eax + 0x34]
fmul dword [eax + 8]
fstp dword [eax + 0x34]
fld dword [eax + 0x38]
fmul dword [eax + 8]
fstp dword [eax + 0x38]
fld dword [eax + 0x3c]
fmul dword [eax + 8]
fstp dword [eax + 0x3c]
jne 0x514c3e
mov edx, dword [esp + 0x154]
mov ecx, dword [esp + 0xd4]
jmp 0x515121
test al, 0x10
je 0x514caa
lea eax, [esp + 0xf4]
lea ebp, [esp + 0x134]
lea edx, [esp + 0xb4]
jmp 0x514ce0
test byte [esp + 0x114], 0x10
je 0x514ccb
lea eax, [esp + 0x134]
lea ebp, [esp + 0xb4]
lea edx, [esp + 0xf4]
jmp 0x514ce0
lea eax, [esp + 0xb4]
lea ebp, [esp + 0xf4]
lea edx, [esp + 0x134]
mov ecx, 0x10
mov esi, edx
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
fld dword [0xbcadc0]
lea ecx, [esp + 0xa4]
mov dword [esp + 0x44], ecx
mov ecx, dword [edx + 0x24]
mov esi, dword [ecx]
mov dword [esp + 0xa4], esi
mov esi, dword [ecx + 4]
mov dword [esp + 0xa8], esi
mov ecx, dword [ecx + 8]
mov dword [esp + 0xac], ecx
mov ecx, dword [eax + 0x24]
mov esi, dword [edx + 0x24]
fsub dword [ecx + 8]
fld dword [esi + 8]
fsub dword [ecx + 8]
fdivp st(1)
fld dword [esi]
fsub dword [ecx]
fmul st(1)
fadd dword [ecx]
fstp dword [esi]
mov ecx, dword [edx + 0x24]
mov esi, dword [eax + 0x24]
fld dword [ecx + 4]
fsub dword [esi + 4]
fmul st(1)
fadd dword [esi + 4]
fstp dword [ecx + 4]
mov ecx, dword [edx + 0x24]
mov esi, dword [eax + 0x24]
fld dword [ecx + 8]
fsub dword [esi + 8]
fmul st(1)
fadd dword [esi + 8]
fstp dword [ecx + 8]
fld dword [edx + 0x28]
fsub dword [eax + 0x28]
fmul st(1)
fadd dword [eax + 0x28]
fstp dword [edx + 0x28]
fld dword [edx + 0x2c]
fsub dword [eax + 0x2c]
fmul st(1)
fadd dword [eax + 0x2c]
fstp dword [edx + 0x2c]
fld dword [edx + 0x30]
fsub dword [eax + 0x30]
fmul st(1)
fadd dword [eax + 0x30]
fstp dword [edx + 0x30]
fld dword [edx + 0x34]
fsub dword [eax + 0x34]
fmul st(1)
fadd dword [eax + 0x34]
fstp dword [edx + 0x34]
fld dword [edx + 0x38]
fsub dword [eax + 0x38]
fmul st(1)
fadd dword [eax + 0x38]
fstp dword [edx + 0x38]
fld dword [edx + 0x3c]
fsub dword [eax + 0x3c]
fmul st(1)
fadd dword [eax + 0x3c]
fstp dword [edx + 0x3c]
fstp st(0)
mov eax, dword [edx + 0x24]
mov dword [esp + 0x18], 1
fld dword [0x5333e0]
fdiv dword [eax + 8]
fst dword [edx + 8]
fmul dword [eax]
fmul dword [0xc311a4]
fadd dword [0xc311b0]
fstp dword [edx]
fld dword [eax + 4]
fmul dword [edx + 8]
fmul dword [0xc311a0]
fadd dword [0xc311b4]
fstp dword [edx + 4]
fld dword [edx]
fcomp dword [0xbcabd0]
fnstsw ax
test ah, 1
jne 0x514e0a
mov dword [esp + 0x18], 0
fld dword [edx + 4]
fcomp dword [0xbcabd4]
fnstsw ax
test ah, 1
je 0x514e21
mov ebx, 1
jmp 0x514e23
xor ebx, ebx
fld dword [edx]
fcomp dword [0xbcabd8]
fnstsw ax
test ah, 0x41
jne 0x514e39
mov ecx, 1
jmp 0x514e3b
xor ecx, ecx
fld dword [edx + 4]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x514e52
mov eax, 1
jmp 0x514e54
xor eax, eax
shl al, 1
or al, cl
mov cl, byte [esp + 0x18]
shl al, 1
or al, bl
shl al, 1
or al, cl
mov byte [edx + 0x20], al
mov eax, dword [ebp + 0x24]
fld dword [0xbcadc0]
fsub dword [eax + 8]
fld dword [esp + 0xac]
fsub dword [eax + 8]
fdivp st(1)
fld dword [esp + 0xa4]
fsub dword [eax]
fmul st(1)
fadd dword [eax]
fstp dword [esp + 0xa4]
mov eax, dword [ebp + 0x24]
fld dword [esp + 0xa8]
fsub dword [eax + 4]
fmul st(1)
fadd dword [eax + 4]
fstp dword [esp + 0xa8]
mov eax, dword [ebp + 0x24]
fld dword [esp + 0xac]
fsub dword [eax + 8]
fmul st(1)
fadd dword [eax + 8]
fstp dword [esp + 0xac]
fld dword [esp + 0x48]
fsub dword [ebp + 0x28]
fmul st(1)
fadd dword [ebp + 0x28]
fstp dword [esp + 0x48]
fld dword [esp + 0x4c]
fsub dword [ebp + 0x2c]
fmul st(1)
fadd dword [ebp + 0x2c]
fstp dword [esp + 0x4c]
fld dword [esp + 0x50]
fsub dword [ebp + 0x30]
fmul st(1)
fadd dword [ebp + 0x30]
fstp dword [esp + 0x50]
fld dword [esp + 0x54]
fsub dword [ebp + 0x34]
fmul st(1)
fadd dword [ebp + 0x34]
fstp dword [esp + 0x54]
fld dword [esp + 0x58]
fsub dword [ebp + 0x38]
fmul st(1)
fadd dword [ebp + 0x38]
fstp dword [esp + 0x58]
fld dword [esp + 0x5c]
fsub dword [ebp + 0x3c]
fmulp st(1)
fadd dword [ebp + 0x3c]
fld dword [0x5333e0]
fdiv dword [esp + 0xac]
fst dword [esp + 0x28]
fmul dword [esp + 0xa4]
fmul dword [0xc311a4]
fadd dword [0xc311b0]
fst dword [esp + 0x20]
fld dword [esp + 0x28]
fmul dword [esp + 0xa8]
fmul dword [0xc311a0]
fadd dword [0xc311b4]
mov dword [esp + 0x18], 1
fst dword [esp + 0x24]
fld st(1)
fcomp dword [0xbcabd0]
fnstsw ax
test ah, 1
jne 0x514f83
mov dword [esp + 0x18], 0
fcomp dword [0xbcabd4]
fnstsw ax
test ah, 1
je 0x514f97
mov ebx, 1
jmp 0x514f99
xor ebx, ebx
fcomp dword [0xbcabd8]
fnstsw ax
test ah, 0x41
jne 0x514fad
mov ecx, 1
jmp 0x514faf
xor ecx, ecx
fld dword [esp + 0x24]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x514fc7
mov eax, 1
jmp 0x514fc9
xor eax, eax
shl al, 1
or al, cl
mov esi, dword [esp + 0x114]
shl al, 1
or al, bl
mov bl, byte [esp + 0x18]
shl al, 1
mov ecx, dword [esp + 0x154]
or al, bl
mov byte [esp + 0x40], al
mov eax, dword [esp + 0xd4]
and eax, 0xff
and esi, 0xff
mov ebx, eax
and ecx, 0xff
or ebx, esi
and eax, esi
or ebx, ecx
and eax, ecx
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x6c]
mov esi, 3
mov eax, dword [ecx]
add ecx, 4
dec esi
fld dword [eax + 8]
fmul dword [eax + 0x28]
fstp dword [eax + 0x28]
fld dword [eax + 8]
fmul dword [eax + 0x2c]
fstp dword [eax + 0x2c]
fld dword [eax + 8]
fmul dword [eax + 0x30]
fstp dword [eax + 0x30]
fld dword [eax + 8]
fmul dword [eax + 0x34]
fstp dword [eax + 0x34]
fld dword [eax + 8]
fmul dword [eax + 0x38]
fstp dword [eax + 0x38]
fld dword [eax + 8]
fmul dword [eax + 0x3c]
fstp dword [eax + 0x3c]
jne 0x51501a
fld dword [esp + 0x28]
fmul dword [esp + 0x48]
mov eax, dword [esp + 0x174]
mov ecx, 0x10
push eax
mov esi, edx
sub esp, 0x40
fstp dword [esp + 0x8c]
fld dword [esp + 0x6c]
fmul dword [esp + 0x90]
mov edi, esp
sub esp, 0x40
rep movsd dword es:[edi], dword [esi]
fstp dword [esp + 0xd0]
fld dword [esp + 0xac]
fmul dword [esp + 0xd4]
fstp dword [esp + 0xd4]
fld dword [esp + 0xac]
fmul dword [esp + 0xd8]
mov ecx, 0x10
lea esi, [esp + 0xa4]
fstp dword [esp + 0xd8]
fld dword [esp + 0xac]
fmul dword [esp + 0xdc]
mov edi, esp
sub esp, 0x40
fstp dword [esp + 0x11c]
fld dword [esp + 0xec]
fmul st(1)
fstp dword [esp + 0x120]
rep movsd dword es:[edi], dword [esi]
fstp st(0)
mov ecx, 0x10
mov esi, ebp
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00514760
mov edx, dword [esp + 0x218]
mov ecx, dword [esp + 0x198]
mov ebp, dword [esp + 0xd4]
add esp, 0xc4
test ebp, ebp
je 0x515136
dec dword [0xa7e070]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
test bl, 1
je 0x5156d5
mov bl, byte [esp + 0x114]
mov al, cl
and eax, 1
and ebx, 1
add eax, ebx
and edx, 1
add eax, edx
cmp eax, 2
jne 0x5153e0
test cl, 1
jne 0x515181
lea eax, [esp + 0xb4]
lea esi, [esp + 0xb4]
lea edi, [esp + 0xf4]
lea ecx, [esp + 0x134]
jmp 0x5151c5
test byte [esp + 0x114], 1
jne 0x5151a9
lea eax, [esp + 0xf4]
lea esi, [esp + 0xf4]
lea edi, [esp + 0x134]
lea ecx, [esp + 0xb4]
jmp 0x5151c5
lea eax, [esp + 0x134]
lea esi, [esp + 0x134]
lea edi, [esp + 0xb4]
lea ecx, [esp + 0xf4]
fld dword [edi]
fsub dword [eax]
fld dword [0xbcabd0]
fsub dword [eax]
fdiv st(1)
fstp dword [esp + 0x10]
fmul dword [esp + 0x10]
fadd dword [eax]
fstp dword [edi]
fld dword [edi + 4]
fsub dword [eax + 4]
fmul dword [esp + 0x10]
fadd dword [eax + 4]
fstp dword [edi + 4]
fld dword [edi + 8]
fsub dword [eax + 8]
fmul dword [esp + 0x10]
fadd dword [eax + 8]
fstp dword [edi + 8]
fld dword [edi + 0x28]
fsub dword [eax + 0x28]
fmul dword [esp + 0x10]
fadd dword [eax + 0x28]
fstp dword [edi + 0x28]
fld dword [edi + 0x2c]
fsub dword [eax + 0x2c]
fmul dword [esp + 0x10]
fadd dword [eax + 0x2c]
fstp dword [edi + 0x2c]
fld dword [edi + 0x30]
fsub dword [eax + 0x30]
fmul dword [esp + 0x10]
fadd dword [eax + 0x30]
fstp dword [edi + 0x30]
fld dword [edi + 0x34]
fsub dword [eax + 0x34]
fmul dword [esp + 0x10]
fadd dword [eax + 0x34]
fstp dword [edi + 0x34]
fld dword [edi + 0x38]
fsub dword [eax + 0x38]
fmul dword [esp + 0x10]
fadd dword [eax + 0x38]
fstp dword [edi + 0x38]
fld dword [edi + 0x3c]
fsub dword [eax + 0x3c]
fmul dword [esp + 0x10]
fadd dword [eax + 0x3c]
fstp dword [edi + 0x3c]
fld dword [edi + 4]
fcomp dword [0xbcabd4]
fnstsw ax
test ah, 1
je 0x515276
mov ebx, 1
jmp 0x515278
xor ebx, ebx
fld dword [edi]
fcomp dword [0xbcabd8]
fnstsw ax
test ah, 0x41
jne 0x51528e
mov edx, 1
jmp 0x515290
xor edx, edx
fld dword [edi + 4]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x5152a7
mov eax, 1
jmp 0x5152a9
xor eax, eax
shl al, 1
or al, dl
shl al, 1
or al, bl
shl al, 1
mov byte [edi + 0x20], al
fld dword [ecx]
fsub dword [esi]
fld dword [0xbcabd0]
fsub dword [esi]
fdiv st(1)
fstp dword [esp + 0x10]
fmul dword [esp + 0x10]
fadd dword [esi]
fstp dword [ecx]
fld dword [ecx + 4]
fsub dword [esi + 4]
fmul dword [esp + 0x10]
fadd dword [esi + 4]
fstp dword [ecx + 4]
fld dword [ecx + 8]
fsub dword [esi + 8]
fmul dword [esp + 0x10]
fadd dword [esi + 8]
fstp dword [ecx + 8]
fld dword [ecx + 0x28]
fsub dword [esi + 0x28]
fmul dword [esp + 0x10]
fadd dword [esi + 0x28]
fstp dword [ecx + 0x28]
fld dword [ecx + 0x2c]
fsub dword [esi + 0x2c]
fmul dword [esp + 0x10]
fadd dword [esi + 0x2c]
fstp dword [ecx + 0x2c]
fld dword [ecx + 0x30]
fsub dword [esi + 0x30]
fmul dword [esp + 0x10]
fadd dword [esi + 0x30]
fstp dword [ecx + 0x30]
fld dword [ecx + 0x34]
fsub dword [esi + 0x34]
fmul dword [esp + 0x10]
fadd dword [esi + 0x34]
fstp dword [ecx + 0x34]
fld dword [ecx + 0x38]
fsub dword [esi + 0x38]
fmul dword [esp + 0x10]
fadd dword [esi + 0x38]
fstp dword [ecx + 0x38]
fld dword [ecx + 0x3c]
fsub dword [esi + 0x3c]
fmul dword [esp + 0x10]
fadd dword [esi + 0x3c]
fstp dword [ecx + 0x3c]
fld dword [ecx + 4]
fcomp dword [0xbcabd4]
fnstsw ax
test ah, 1
je 0x515367
mov ebx, 1
jmp 0x515369
xor ebx, ebx
fld dword [ecx]
fcomp dword [0xbcabd8]
fnstsw ax
test ah, 0x41
jne 0x51537f
mov edx, 1
jmp 0x515381
xor edx, edx
fld dword [ecx + 4]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x515398
mov eax, 1
jmp 0x51539a
xor eax, eax
shl al, 1
or al, dl
shl al, 1
or al, bl
shl al, 1
mov byte [ecx + 0x20], al
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x154]
mov edi, dword [esp + 0x114]
mov eax, ecx
mov esi, edx
and eax, 0xff
and edi, 0xff
mov ebx, eax
and esi, 0xff
or ebx, edi
and eax, edi
or ebx, esi
and eax, esi
jmp 0x5156c0
test cl, 1
je 0x5153fc
lea eax, [esp + 0xf4]
lea edx, [esp + 0x134]
lea ebp, [esp + 0xb4]
jmp 0x515432
test byte [esp + 0x114], 1
je 0x51541d
lea eax, [esp + 0x134]
lea edx, [esp + 0xb4]
lea ebp, [esp + 0xf4]
jmp 0x515432
lea eax, [esp + 0xb4]
lea edx, [esp + 0xf4]
lea ebp, [esp + 0x134]
fld dword [ebp]
fsub dword [eax]
fld dword [0xbcabd0]
fsub dword [eax]
mov ecx, 0x10
mov esi, ebp
lea edi, [esp + 0x20]
fdiv st(1)
rep movsd dword es:[edi], dword [esi]
fstp dword [esp + 0x10]
fmul dword [esp + 0x10]
fadd dword [eax]
fstp dword [ebp]
fld dword [ebp + 4]
fsub dword [eax + 4]
fmul dword [esp + 0x10]
fadd dword [eax + 4]
fstp dword [ebp + 4]
fld dword [ebp + 8]
fsub dword [eax + 8]
fmul dword [esp + 0x10]
fadd dword [eax + 8]
fstp dword [ebp + 8]
fld dword [ebp + 0x28]
fsub dword [eax + 0x28]
fmul dword [esp + 0x10]
fadd dword [eax + 0x28]
fstp dword [ebp + 0x28]
fld dword [ebp + 0x2c]
fsub dword [eax + 0x2c]
fmul dword [esp + 0x10]
fadd dword [eax + 0x2c]
fstp dword [ebp + 0x2c]
fld dword [ebp + 0x30]
fsub dword [eax + 0x30]
fmul dword [esp + 0x10]
fadd dword [eax + 0x30]
fstp dword [ebp + 0x30]
fld dword [ebp + 0x34]
fsub dword [eax + 0x34]
fmul dword [esp + 0x10]
fadd dword [eax + 0x34]
fstp dword [ebp + 0x34]
fld dword [ebp + 0x38]
fsub dword [eax + 0x38]
fmul dword [esp + 0x10]
fadd dword [eax + 0x38]
fstp dword [ebp + 0x38]
fld dword [ebp + 0x3c]
fsub dword [eax + 0x3c]
fmul dword [esp + 0x10]
fadd dword [eax + 0x3c]
fstp dword [ebp + 0x3c]
fld dword [ebp + 4]
fcomp dword [0xbcabd4]
fnstsw ax
test ah, 1
je 0x5154f2
mov ebx, 1
jmp 0x5154f4
xor ebx, ebx
fld dword [ebp]
fcomp dword [0xbcabd8]
fnstsw ax
test ah, 0x41
jne 0x51550b
mov ecx, 1
jmp 0x51550d
xor ecx, ecx
fld dword [ebp + 4]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x515524
mov eax, 1
jmp 0x515526
xor eax, eax
shl al, 1
fld dword [esp + 0x20]
or al, cl
shl al, 1
or al, bl
shl al, 1
mov byte [ebp + 0x20], al
fsub dword [edx]
fld dword [0xbcabd0]
fsub dword [edx]
fdiv st(1)
fstp dword [esp + 0x10]
fmul dword [esp + 0x10]
fadd dword [edx]
fst dword [esp + 0x20]
fld dword [esp + 0x24]
fsub dword [edx + 4]
fmul dword [esp + 0x10]
fadd dword [edx + 4]
fst dword [esp + 0x24]
fld dword [esp + 0x28]
fsub dword [edx + 8]
fmul dword [esp + 0x10]
fadd dword [edx + 8]
fstp dword [esp + 0x28]
fld dword [esp + 0x48]
fsub dword [edx + 0x28]
fmul dword [esp + 0x10]
fadd dword [edx + 0x28]
fstp dword [esp + 0x48]
fld dword [esp + 0x4c]
fsub dword [edx + 0x2c]
fmul dword [esp + 0x10]
fadd dword [edx + 0x2c]
fstp dword [esp + 0x4c]
fld dword [esp + 0x50]
fsub dword [edx + 0x30]
fmul dword [esp + 0x10]
fadd dword [edx + 0x30]
fstp dword [esp + 0x50]
fld dword [esp + 0x54]
fsub dword [edx + 0x34]
fmul dword [esp + 0x10]
fadd dword [edx + 0x34]
fstp dword [esp + 0x54]
fld dword [esp + 0x58]
fsub dword [edx + 0x38]
fmul dword [esp + 0x10]
fadd dword [edx + 0x38]
fstp dword [esp + 0x58]
fld dword [esp + 0x5c]
fsub dword [edx + 0x3c]
fmul dword [esp + 0x10]
fadd dword [edx + 0x3c]
fstp dword [esp + 0x5c]
fcomp dword [0xbcabd4]
fnstsw ax
test ah, 1
je 0x5155f5
mov ebx, 1
jmp 0x5155f7
xor ebx, ebx
fcomp dword [0xbcabd8]
fnstsw ax
test ah, 0x41
jne 0x51560b
mov ecx, 1
jmp 0x51560d
xor ecx, ecx
fld dword [esp + 0x24]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x515625
mov eax, 1
jmp 0x515627
xor eax, eax
shl al, 1
or al, cl
mov esi, dword [esp + 0x114]
shl al, 1
or al, bl
mov ecx, dword [esp + 0x154]
shl al, 1
mov byte [esp + 0x40], al
mov eax, dword [esp + 0xd4]
and eax, 0xff
and esi, 0xff
mov ebx, eax
and ecx, 0xff
or ebx, esi
and eax, esi
or ebx, ecx
and eax, ecx
mov ecx, dword [esp + 0x174]
mov esi, ebp
push ecx
mov ecx, 0x10
sub esp, 0x40
mov dword [esp + 0x54], eax
mov edi, esp
sub esp, 0x40
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x10
lea esi, [esp + 0xa4]
mov edi, esp
sub esp, 0x40
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x10
mov esi, edx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00514760
mov edx, dword [esp + 0x218]
mov ecx, dword [esp + 0x198]
mov eax, dword [esp + 0xd4]
add esp, 0xc4
test eax, eax
je 0x5156d5
dec dword [0xa7e070]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
test bl, 2
je 0x515be5
mov bl, byte [esp + 0x114]
mov al, cl
and eax, 2
and ebx, 2
add eax, ebx
and edx, 2
add eax, edx
cdq
sub eax, edx
sar eax, 1
cmp eax, 2
jne 0x515931
test al, cl
jne 0x515724
lea eax, [esp + 0xb4]
lea esi, [esp + 0xb4]
lea edi, [esp + 0xf4]
lea ecx, [esp + 0x134]
jmp 0x515768
test byte [esp + 0x114], 2
jne 0x51574c
lea eax, [esp + 0xf4]
lea esi, [esp + 0xf4]
lea edi, [esp + 0x134]
lea ecx, [esp + 0xb4]
jmp 0x515768
lea eax, [esp + 0x134]
lea esi, [esp + 0x134]
lea edi, [esp + 0xb4]
lea ecx, [esp + 0xf4]
fld dword [0xbcabd4]
fsub dword [eax + 4]
fld dword [edi + 4]
fsub dword [eax + 4]
fdivp st(1)
fld dword [edi]
fsub dword [eax]
fmul st(1)
fadd dword [eax]
fstp dword [edi]
fld dword [edi + 4]
fsub dword [eax + 4]
fmul st(1)
fadd dword [eax + 4]
fstp dword [edi + 4]
fld dword [edi + 8]
fsub dword [eax + 8]
fmul st(1)
fadd dword [eax + 8]
fstp dword [edi + 8]
fld dword [edi + 0x28]
fsub dword [eax + 0x28]
fmul st(1)
fadd dword [eax + 0x28]
fstp dword [edi + 0x28]
fld dword [edi + 0x2c]
fsub dword [eax + 0x2c]
fmul st(1)
fadd dword [eax + 0x2c]
fstp dword [edi + 0x2c]
fld dword [edi + 0x30]
fsub dword [eax + 0x30]
fmul st(1)
fadd dword [eax + 0x30]
fstp dword [edi + 0x30]
fld dword [edi + 0x34]
fsub dword [eax + 0x34]
fmul st(1)
fadd dword [eax + 0x34]
fstp dword [edi + 0x34]
fld dword [edi + 0x38]
fsub dword [eax + 0x38]
fmul st(1)
fadd dword [eax + 0x38]
fstp dword [edi + 0x38]
fld dword [edi + 0x3c]
fsub dword [eax + 0x3c]
fmul st(1)
fadd dword [eax + 0x3c]
fstp dword [edi + 0x3c]
fstp st(0)
fld dword [edi]
fcomp dword [0xbcabd8]
fnstsw ax
test ah, 0x41
jne 0x51580b
mov edx, 1
jmp 0x51580d
xor edx, edx
fld dword [edi + 4]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x515824
mov eax, 1
jmp 0x515826
xor eax, eax
shl al, 1
or al, dl
shl al, 2
mov byte [edi + 0x20], al
fld dword [0xbcabd4]
fsub dword [esi + 4]
fld dword [ecx + 4]
fsub dword [esi + 4]
fdivp st(1)
fld dword [ecx]
fsub dword [esi]
fmul st(1)
fadd dword [esi]
fstp dword [ecx]
fld dword [ecx + 4]
fsub dword [esi + 4]
fmul st(1)
fadd dword [esi + 4]
fstp dword [ecx + 4]
fld dword [ecx + 8]
fsub dword [esi + 8]
fmul st(1)
fadd dword [esi + 8]
fstp dword [ecx + 8]
fld dword [ecx + 0x28]
fsub dword [esi + 0x28]
fmul st(1)
fadd dword [esi + 0x28]
fstp dword [ecx + 0x28]
fld dword [ecx + 0x2c]
fsub dword [esi + 0x2c]
fmul st(1)
fadd dword [esi + 0x2c]
fstp dword [ecx + 0x2c]
fld dword [ecx + 0x30]
fsub dword [esi + 0x30]
fmul st(1)
fadd dword [esi + 0x30]
fstp dword [ecx + 0x30]
fld dword [ecx + 0x34]
fsub dword [esi + 0x34]
fmul st(1)
fadd dword [esi + 0x34]
fstp dword [ecx + 0x34]
fld dword [ecx + 0x38]
fsub dword [esi + 0x38]
fmul st(1)
fadd dword [esi + 0x38]
fstp dword [ecx + 0x38]
fld dword [ecx + 0x3c]
fsub dword [esi + 0x3c]
fmul st(1)
fadd dword [esi + 0x3c]
fstp dword [ecx + 0x3c]
fstp st(0)
fld dword [ecx]
fcomp dword [0xbcabd8]
fnstsw ax
test ah, 0x41
jne 0x5158d3
mov edx, 1
jmp 0x5158d5
xor edx, edx
fld dword [ecx + 4]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x5158ec
mov eax, 1
jmp 0x5158ee
xor eax, eax
shl al, 1
or al, dl
shl al, 2
mov byte [ecx + 0x20], al
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x154]
mov edi, dword [esp + 0x114]
mov eax, ecx
mov esi, edx
and eax, 0xff
and edi, 0xff
mov ebx, eax
and esi, 0xff
or ebx, edi
and eax, edi
or ebx, esi
and eax, esi
jmp 0x515bd0
test cl, 2
je 0x51594d
lea eax, [esp + 0xf4]
lea edx, [esp + 0x134]
lea ebp, [esp + 0xb4]
jmp 0x515983
test byte [esp + 0x114], 2
je 0x51596e
lea eax, [esp + 0x134]
lea edx, [esp + 0xb4]
lea ebp, [esp + 0xf4]
jmp 0x515983
lea eax, [esp + 0xb4]
lea edx, [esp + 0xf4]
lea ebp, [esp + 0x134]
fld dword [0xbcabd4]
fsub dword [eax + 4]
fld dword [ebp + 4]
fsub dword [eax + 4]
mov ecx, 0x10
mov esi, ebp
fdivp st(1)
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
fld dword [ebp]
fsub dword [eax]
fmul st(1)
fadd dword [eax]
fstp dword [ebp]
fld dword [ebp + 4]
fsub dword [eax + 4]
fmul st(1)
fadd dword [eax + 4]
fstp dword [ebp + 4]
fld dword [ebp + 8]
fsub dword [eax + 8]
fmul st(1)
fadd dword [eax + 8]
fstp dword [ebp + 8]
fld dword [ebp + 0x28]
fsub dword [eax + 0x28]
fmul st(1)
fadd dword [eax + 0x28]
fstp dword [ebp + 0x28]
fld dword [ebp + 0x2c]
fsub dword [eax + 0x2c]
fmul st(1)
fadd dword [eax + 0x2c]
fstp dword [ebp + 0x2c]
fld dword [ebp + 0x30]
fsub dword [eax + 0x30]
fmul st(1)
fadd dword [eax + 0x30]
fstp dword [ebp + 0x30]
fld dword [ebp + 0x34]
fsub dword [eax + 0x34]
fmul st(1)
fadd dword [eax + 0x34]
fstp dword [ebp + 0x34]
fld dword [ebp + 0x38]
fsub dword [eax + 0x38]
fmul st(1)
fadd dword [eax + 0x38]
fstp dword [ebp + 0x38]
fld dword [ebp + 0x3c]
fsub dword [eax + 0x3c]
fmul st(1)
fadd dword [eax + 0x3c]
fstp dword [ebp + 0x3c]
fstp st(0)
fld dword [ebp]
fcomp dword [0xbcabd8]
fnstsw ax
test ah, 0x41
jne 0x515a36
mov ecx, 1
jmp 0x515a38
xor ecx, ecx
fld dword [ebp + 4]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x515a4f
mov eax, 1
jmp 0x515a51
xor eax, eax
fld dword [esp + 0x24]
shl al, 1
or al, cl
shl al, 2
mov byte [ebp + 0x20], al
fsub dword [edx + 4]
fld dword [0xbcabd4]
fsub dword [edx + 4]
fdiv st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x20]
fsub dword [edx]
fmul dword [esp + 0x10]
fadd dword [edx]
fstp dword [esp + 0x20]
fmul dword [esp + 0x10]
fadd dword [edx + 4]
fst dword [esp + 0x24]
fld dword [esp + 0x28]
fsub dword [edx + 8]
fmul dword [esp + 0x10]
fadd dword [edx + 8]
fstp dword [esp + 0x28]
fld dword [esp + 0x48]
fsub dword [edx + 0x28]
fmul dword [esp + 0x10]
fadd dword [edx + 0x28]
fstp dword [esp + 0x48]
fld dword [esp + 0x4c]
fsub dword [edx + 0x2c]
fmul dword [esp + 0x10]
fadd dword [edx + 0x2c]
fstp dword [esp + 0x4c]
fld dword [esp + 0x50]
fsub dword [edx + 0x30]
fmul dword [esp + 0x10]
fadd dword [edx + 0x30]
fstp dword [esp + 0x50]
fld dword [esp + 0x54]
fsub dword [edx + 0x34]
fmul dword [esp + 0x10]
fadd dword [edx + 0x34]
fstp dword [esp + 0x54]
fld dword [esp + 0x58]
fsub dword [edx + 0x38]
fmul dword [esp + 0x10]
fadd dword [edx + 0x38]
fstp dword [esp + 0x58]
fld dword [esp + 0x5c]
fsub dword [edx + 0x3c]
fmul dword [esp + 0x10]
fadd dword [edx + 0x3c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x20]
fcomp dword [0xbcabd8]
fnstsw ax
test ah, 0x41
jne 0x515b22
mov ecx, 1
jmp 0x515b24
xor ecx, ecx
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x515b38
mov eax, 1
jmp 0x515b3a
xor eax, eax
shl al, 1
mov esi, dword [esp + 0x114]
or al, cl
mov ecx, dword [esp + 0x154]
and esi, 0xff
shl al, 2
mov byte [esp + 0x40], al
mov eax, dword [esp + 0xd4]
and eax, 0xff
and ecx, 0xff
mov ebx, eax
and eax, esi
and eax, ecx
or ebx, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x174]
push eax
or ebx, ecx
sub esp, 0x40
mov ecx, 0x10
mov esi, ebp
mov edi, esp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x40
mov ecx, 0x10
lea esi, [esp + 0xa4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x40
mov ecx, 0x10
mov esi, edx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00514760
mov edx, dword [esp + 0x218]
mov ecx, dword [esp + 0x198]
mov eax, dword [esp + 0xd4]
add esp, 0xc4
test eax, eax
je 0x515be5
dec dword [0xa7e070]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
test bl, 4
je 0x5160ae
mov bl, byte [esp + 0x114]
mov al, cl
and eax, 4
and ebx, 4
add eax, ebx
and edx, 4
add eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
cmp eax, 2
jne 0x515e28
test cl, 4
jne 0x515c39
lea eax, [esp + 0xb4]
lea edx, [esp + 0xb4]
lea esi, [esp + 0xf4]
lea ecx, [esp + 0x134]
jmp 0x515c7d
test byte [esp + 0x114], 4
jne 0x515c61
lea eax, [esp + 0xf4]
lea edx, [esp + 0xf4]
lea esi, [esp + 0x134]
lea ecx, [esp + 0xb4]
jmp 0x515c7d
lea eax, [esp + 0x134]
lea edx, [esp + 0x134]
lea esi, [esp + 0xb4]
lea ecx, [esp + 0xf4]
fld dword [esi]
fsub dword [eax]
fld dword [0xbcabd8]
fsub dword [eax]
fdiv st(1)
fstp dword [esp + 0x10]
fmul dword [esp + 0x10]
fadd dword [eax]
fstp dword [esi]
fld dword [esi + 4]
fsub dword [eax + 4]
fmul dword [esp + 0x10]
fadd dword [eax + 4]
fstp dword [esi + 4]
fld dword [esi + 8]
fsub dword [eax + 8]
fmul dword [esp + 0x10]
fadd dword [eax + 8]
fstp dword [esi + 8]
fld dword [esi + 0x28]
fsub dword [eax + 0x28]
fmul dword [esp + 0x10]
fadd dword [eax + 0x28]
fstp dword [esi + 0x28]
fld dword [esi + 0x2c]
fsub dword [eax + 0x2c]
fmul dword [esp + 0x10]
fadd dword [eax + 0x2c]
fstp dword [esi + 0x2c]
fld dword [esi + 0x30]
fsub dword [eax + 0x30]
fmul dword [esp + 0x10]
fadd dword [eax + 0x30]
fstp dword [esi + 0x30]
fld dword [esi + 0x34]
fsub dword [eax + 0x34]
fmul dword [esp + 0x10]
fadd dword [eax + 0x34]
fstp dword [esi + 0x34]
fld dword [esi + 0x38]
fsub dword [eax + 0x38]
fmul dword [esp + 0x10]
fadd dword [eax + 0x38]
fstp dword [esi + 0x38]
fld dword [esi + 0x3c]
fsub dword [eax + 0x3c]
fmul dword [esp + 0x10]
fadd dword [eax + 0x3c]
fstp dword [esi + 0x3c]
fld dword [esi + 4]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x515d2e
mov eax, 1
jmp 0x515d30
xor eax, eax
shl al, 3
mov byte [esi + 0x20], al
fld dword [ecx]
fsub dword [edx]
fld dword [0xbcabd8]
fsub dword [edx]
fdiv st(1)
fstp dword [esp + 0x10]
fmul dword [esp + 0x10]
fadd dword [edx]
fstp dword [ecx]
fld dword [ecx + 4]
fsub dword [edx + 4]
fmul dword [esp + 0x10]
fadd dword [edx + 4]
fstp dword [ecx + 4]
fld dword [ecx + 8]
fsub dword [edx + 8]
fmul dword [esp + 0x10]
fadd dword [edx + 8]
fstp dword [ecx + 8]
fld dword [ecx + 0x28]
fsub dword [edx + 0x28]
fmul dword [esp + 0x10]
fadd dword [edx + 0x28]
fstp dword [ecx + 0x28]
fld dword [ecx + 0x2c]
fsub dword [edx + 0x2c]
fmul dword [esp + 0x10]
fadd dword [edx + 0x2c]
fstp dword [ecx + 0x2c]
fld dword [ecx + 0x30]
fsub dword [edx + 0x30]
fmul dword [esp + 0x10]
fadd dword [edx + 0x30]
fstp dword [ecx + 0x30]
fld dword [ecx + 0x34]
fsub dword [edx + 0x34]
fmul dword [esp + 0x10]
fadd dword [edx + 0x34]
fstp dword [ecx + 0x34]
fld dword [ecx + 0x38]
fsub dword [edx + 0x38]
fmul dword [esp + 0x10]
fadd dword [edx + 0x38]
fstp dword [ecx + 0x38]
fld dword [ecx + 0x3c]
fsub dword [edx + 0x3c]
fmul dword [esp + 0x10]
fadd dword [edx + 0x3c]
fstp dword [ecx + 0x3c]
fld dword [ecx + 4]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x515de7
mov eax, 1
jmp 0x515de9
xor eax, eax
shl al, 3
mov byte [ecx + 0x20], al
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x154]
mov edi, dword [esp + 0x114]
mov eax, ecx
mov esi, edx
and eax, 0xff
and edi, 0xff
mov ebx, eax
and esi, 0xff
or ebx, edi
and eax, edi
or ebx, esi
and eax, esi
jmp 0x516099
test cl, 4
je 0x515e44
lea eax, [esp + 0xf4]
lea ebp, [esp + 0x134]
lea edx, [esp + 0xb4]
jmp 0x515e7a
test byte [esp + 0x114], 4
je 0x515e65
lea eax, [esp + 0x134]
lea ebp, [esp + 0xb4]
lea edx, [esp + 0xf4]
jmp 0x515e7a
lea eax, [esp + 0xb4]
lea ebp, [esp + 0xf4]
lea edx, [esp + 0x134]
fld dword [edx]
fsub dword [eax]
fld dword [0xbcabd8]
fsub dword [eax]
mov ecx, 0x10
mov esi, edx
lea edi, [esp + 0x20]
fdiv st(1)
rep movsd dword es:[edi], dword [esi]
fstp dword [esp + 0x10]
fmul dword [esp + 0x10]
fadd dword [eax]
fstp dword [edx]
fld dword [edx + 4]
fsub dword [eax + 4]
fmul dword [esp + 0x10]
fadd dword [eax + 4]
fstp dword [edx + 4]
fld dword [edx + 8]
fsub dword [eax + 8]
fmul dword [esp + 0x10]
fadd dword [eax + 8]
fstp dword [edx + 8]
fld dword [edx + 0x28]
fsub dword [eax + 0x28]
fmul dword [esp + 0x10]
fadd dword [eax + 0x28]
fstp dword [edx + 0x28]
fld dword [edx + 0x2c]
fsub dword [eax + 0x2c]
fmul dword [esp + 0x10]
fadd dword [eax + 0x2c]
fstp dword [edx + 0x2c]
fld dword [edx + 0x30]
fsub dword [eax + 0x30]
fmul dword [esp + 0x10]
fadd dword [eax + 0x30]
fstp dword [edx + 0x30]
fld dword [edx + 0x34]
fsub dword [eax + 0x34]
fmul dword [esp + 0x10]
fadd dword [eax + 0x34]
fstp dword [edx + 0x34]
fld dword [edx + 0x38]
fsub dword [eax + 0x38]
fmul dword [esp + 0x10]
fadd dword [eax + 0x38]
fstp dword [edx + 0x38]
fld dword [edx + 0x3c]
fsub dword [eax + 0x3c]
fmul dword [esp + 0x10]
fadd dword [eax + 0x3c]
fstp dword [edx + 0x3c]
fld dword [edx + 4]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x515f38
mov eax, 1
jmp 0x515f3a
xor eax, eax
fld dword [esp + 0x20]
shl al, 3
mov byte [edx + 0x20], al
fsub dword [ebp]
fld dword [0xbcabd8]
fsub dword [ebp]
fdiv st(1)
fstp dword [esp + 0x10]
fmul dword [esp + 0x10]
fadd dword [ebp]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fsub dword [ebp + 4]
fmul dword [esp + 0x10]
fadd dword [ebp + 4]
fst dword [esp + 0x24]
fld dword [esp + 0x28]
fsub dword [ebp + 8]
fmul dword [esp + 0x10]
fadd dword [ebp + 8]
fstp dword [esp + 0x28]
fld dword [esp + 0x48]
fsub dword [ebp + 0x28]
fmul dword [esp + 0x10]
fadd dword [ebp + 0x28]
fstp dword [esp + 0x48]
fld dword [esp + 0x4c]
fsub dword [ebp + 0x2c]
fmul dword [esp + 0x10]
fadd dword [ebp + 0x2c]
fstp dword [esp + 0x4c]
fld dword [esp + 0x50]
fsub dword [ebp + 0x30]
fmul dword [esp + 0x10]
fadd dword [ebp + 0x30]
fstp dword [esp + 0x50]
fld dword [esp + 0x54]
fsub dword [ebp + 0x34]
fmul dword [esp + 0x10]
fadd dword [ebp + 0x34]
fstp dword [esp + 0x54]
fld dword [esp + 0x58]
fsub dword [ebp + 0x38]
fmul dword [esp + 0x10]
fadd dword [ebp + 0x38]
fstp dword [esp + 0x58]
fld dword [esp + 0x5c]
fsub dword [ebp + 0x3c]
fmul dword [esp + 0x10]
fadd dword [ebp + 0x3c]
fstp dword [esp + 0x5c]
fcomp dword [0xbcabdc]
fnstsw ax
test ah, 0x41
jne 0x516005
mov eax, 1
jmp 0x516007
xor eax, eax
mov esi, dword [esp + 0x114]
mov ecx, dword [esp + 0x154]
shl al, 3
mov byte [esp + 0x40], al
mov eax, dword [esp + 0xd4]
and eax, 0xff
and esi, 0xff
mov ebx, eax
and ecx, 0xff
or ebx, esi
and eax, esi
or ebx, ecx
and eax, ecx
mov ecx, dword [esp + 0x174]
mov esi, edx
push ecx
mov ecx, 0x10
sub esp, 0x40
mov dword [esp + 0x54], eax
mov edi, esp
sub esp, 0x40
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x10
lea esi, [esp + 0xa4]
mov edi, esp
sub esp, 0x40
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x10
mov esi, ebp
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00514760
mov edx, dword [esp + 0x218]
mov ecx, dword [esp + 0x198]
mov eax, dword [esp + 0xd4]
add esp, 0xc4
test eax, eax
je 0x5160ae
dec dword [0xa7e070]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
test bl, 8
je 0x5164f3
mov bl, byte [esp + 0x114]
mov al, cl
and eax, 8
and ebx, 8
add eax, ebx
and edx, 8
add eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 2
jne 0x516297
test cl, 8
jne 0x516102
lea eax, [esp + 0xb4]
lea ecx, [esp + 0xb4]
lea edx, [esp + 0xf4]
lea esi, [esp + 0x134]
jmp 0x516146
test byte [esp + 0x114], 8
jne 0x51612a
lea eax, [esp + 0xf4]
lea ecx, [esp + 0xf4]
lea edx, [esp + 0x134]
lea esi, [esp + 0xb4]
jmp 0x516146
lea eax, [esp + 0x134]
lea ecx, [esp + 0x134]
lea edx, [esp + 0xb4]
lea esi, [esp + 0xf4]
fld dword [0xbcabdc]
fsub dword [eax + 4]
fld dword [edx + 4]
fsub dword [eax + 4]
fdivp st(1)
fld dword [edx]
fsub dword [eax]
fmul st(1)
fadd dword [eax]
fstp dword [edx]
fld dword [edx + 4]
fsub dword [eax + 4]
fmul st(1)
fadd dword [eax + 4]
fstp dword [edx + 4]
fld dword [edx + 8]
fsub dword [eax + 8]
fmul st(1)
fadd dword [eax + 8]
fstp dword [edx + 8]
fld dword [edx + 0x28]
fsub dword [eax + 0x28]
fmul st(1)
fadd dword [eax + 0x28]
fstp dword [edx + 0x28]
fld dword [edx + 0x2c]
fsub dword [eax + 0x2c]
fmul st(1)
fadd dword [eax + 0x2c]
fstp dword [edx + 0x2c]
fld dword [edx + 0x30]
fsub dword [eax + 0x30]
fmul st(1)
fadd dword [eax + 0x30]
fstp dword [edx + 0x30]
fld dword [edx + 0x34]
fsub dword [eax + 0x34]
fmul st(1)
fadd dword [eax + 0x34]
fstp dword [edx + 0x34]
fld dword [edx + 0x38]
fsub dword [eax + 0x38]
fmul st(1)
fadd dword [eax + 0x38]
fstp dword [edx + 0x38]
fld dword [edx + 0x3c]
fsub dword [eax + 0x3c]
fmul st(1)
fadd dword [eax + 0x3c]
mov byte [edx + 0x20], 0
fstp dword [edx + 0x3c]
fstp st(0)
fld dword [0xbcabdc]
fsub dword [ecx + 4]
fld dword [esi + 4]
fsub dword [ecx + 4]
fdivp st(1)
fld dword [esi]
fsub dword [ecx]
fmul st(1)
fadd dword [ecx]
fstp dword [esi]
fld dword [esi + 4]
fsub dword [ecx + 4]
fmul st(1)
fadd dword [ecx + 4]
fstp dword [esi + 4]
fld dword [esi + 8]
fsub dword [ecx + 8]
fmul st(1)
fadd dword [ecx + 8]
fstp dword [esi + 8]
fld dword [esi + 0x28]
fsub dword [ecx + 0x28]
fmul st(1)
fadd dword [ecx + 0x28]
fstp dword [esi + 0x28]
fld dword [esi + 0x2c]
fsub dword [ecx + 0x2c]
fmul st(1)
fadd dword [ecx + 0x2c]
fstp dword [esi + 0x2c]
fld dword [esi + 0x30]
fsub dword [ecx + 0x30]
fmul st(1)
fadd dword [ecx + 0x30]
fstp dword [esi + 0x30]
fld dword [esi + 0x34]
fsub dword [ecx + 0x34]
fmul st(1)
fadd dword [ecx + 0x34]
fstp dword [esi + 0x34]
fld dword [esi + 0x38]
fsub dword [ecx + 0x38]
fmul st(1)
fadd dword [ecx + 0x38]
fstp dword [esi + 0x38]
fld dword [esi + 0x3c]
fsub dword [ecx + 0x3c]
fmul st(1)
fadd dword [ecx + 0x3c]
mov byte [esi + 0x20], 0
fstp dword [esi + 0x3c]
mov ebp, dword [esp + 0xd4]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x154]
and ebp, 0xff
and edx, 0xff
and eax, 0xff
and ebp, edx
fstp st(0)
and ebp, eax
jmp 0x5164de
test cl, 8
je 0x5162b3
lea edx, [esp + 0xf4]
lea ebx, [esp + 0x134]
lea eax, [esp + 0xb4]
jmp 0x5162e9
test byte [esp + 0x114], 8
je 0x5162d4
lea edx, [esp + 0x134]
lea ebx, [esp + 0xb4]
lea eax, [esp + 0xf4]
jmp 0x5162e9
lea edx, [esp + 0xb4]
lea ebx, [esp + 0xf4]
lea eax, [esp + 0x134]
fld dword [0xbcabdc]
fsub dword [edx + 4]
fld dword [eax + 4]
fsub dword [edx + 4]
mov ecx, 0x10
mov esi, eax
fdivp st(1)
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
fld dword [eax]
fsub dword [edx]
fmul st(1)
fadd dword [edx]
fstp dword [eax]
fld dword [eax + 4]
fsub dword [edx + 4]
fmul st(1)
fadd dword [edx + 4]
fstp dword [eax + 4]
fld dword [eax + 8]
fsub dword [edx + 8]
fmul st(1)
fadd dword [edx + 8]
fstp dword [eax + 8]
fld dword [eax + 0x28]
fsub dword [edx + 0x28]
fmul st(1)
fadd dword [edx + 0x28]
fstp dword [eax + 0x28]
fld dword [eax + 0x2c]
fsub dword [edx + 0x2c]
fmul st(1)
fadd dword [edx + 0x2c]
fstp dword [eax + 0x2c]
fld dword [eax + 0x30]
fsub dword [edx + 0x30]
fmul st(1)
fadd dword [edx + 0x30]
fstp dword [eax + 0x30]
fld dword [eax + 0x34]
fsub dword [edx + 0x34]
fmul st(1)
fadd dword [edx + 0x34]
fstp dword [eax + 0x34]
fld dword [eax + 0x38]
fsub dword [edx + 0x38]
fmul st(1)
fadd dword [edx + 0x38]
fstp dword [eax + 0x38]
fld dword [eax + 0x3c]
fsub dword [edx + 0x3c]
fmul st(1)
fadd dword [edx + 0x3c]
mov byte [eax + 0x20], 0
fstp dword [eax + 0x3c]
fstp st(0)
fld dword [esp + 0x24]
fsub dword [ebx + 4]
fld dword [0xbcabdc]
fsub dword [ebx + 4]
fdiv st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x20]
fsub dword [ebx]
fmul dword [esp + 0x10]
fadd dword [ebx]
fstp dword [esp + 0x20]
fmul dword [esp + 0x10]
fadd dword [ebx + 4]
mov ebp, dword [esp + 0xd4]
mov ecx, dword [esp + 0x114]
and ebp, 0xff
and ecx, 0xff
and ebp, ecx
mov ecx, dword [esp + 0x174]
fstp dword [esp + 0x24]
fld dword [esp + 0x28]
fsub dword [ebx + 8]
push ecx
mov edx, dword [esp + 0x158]
sub esp, 0x40
mov ecx, 0x10
fmul dword [esp + 0x54]
mov esi, eax
mov edi, esp
rep movsd dword es:[edi], dword [esi]
fadd dword [ebx + 8]
fstp dword [esp + 0x6c]
fld dword [esp + 0x8c]
fsub dword [ebx + 0x28]
fmul dword [esp + 0x54]
sub esp, 0x40
mov ecx, 0x10
lea esi, [esp + 0xa4]
mov edi, esp
fadd dword [ebx + 0x28]
mov byte [esp + 0xc4], 0
sub esp, 0x40
and edx, 0xff
and ebp, edx
fstp dword [esp + 0x10c]
fld dword [esp + 0x110]
fsub dword [ebx + 0x2c]
fmul dword [esp + 0xd4]
fadd dword [ebx + 0x2c]
fstp dword [esp + 0x110]
fld dword [esp + 0x114]
fsub dword [ebx + 0x30]
fmul dword [esp + 0xd4]
fadd dword [ebx + 0x30]
fstp dword [esp + 0x114]
fld dword [esp + 0x118]
fsub dword [ebx + 0x34]
fmul dword [esp + 0xd4]
fadd dword [ebx + 0x34]
fstp dword [esp + 0x118]
fld dword [esp + 0x11c]
fsub dword [ebx + 0x38]
fmul dword [esp + 0xd4]
fadd dword [ebx + 0x38]
fstp dword [esp + 0x11c]
fld dword [esp + 0x120]
fsub dword [ebx + 0x3c]
fmul dword [esp + 0xd4]
fadd dword [ebx + 0x3c]
fstp dword [esp + 0x120]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x10
mov esi, ebx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.00514760
add esp, 0xc4
test ebp, ebp
je 0x5164f3
dec dword [0xa7e070]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov ebx, dword [esp + 0x174]
mov dword [esp + 0x68], 3
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
mov eax, dword [ecx]
lea edx, [eax + eax*2]
inc eax
mov dword [ecx], eax
lea eax, [esp + 0x6c]
lea ebp, [esi + edx*2]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
add ebp, 2
mov eax, dword [ecx]
fld dword [eax + 8]
fld dword [0x5333e0]
fdiv st(1)
fstp dword [esp + 0x10]
fld st(0)
fmul dword [0xbcad70]
fstp dword [eax + 0xc]
fmul dword [0xa7f894]
fadd dword [0xa7e074]
fstp dword [eax + 8]
mov edx, dword [ebx + 4]
fld dword [esp + 0x10]
mov cx, word [edx]
add cx, word [ebx + 0x10]
mov word [ebp - 2], cx
mov ecx, dword [ebx + 4]
mov edi, dword [ebx]
mov esi, dword [ecx]
mov edx, esi
shl edx, 5
add edx, edi
inc esi
mov dword [ecx], esi
mov ecx, 8
mov esi, eax
mov edi, edx
rep movsd dword es:[edi], dword [esi]
fmul dword [eax + 0x34]
fstp dword [edx + 0x18]
fld dword [esp + 0x10]
fmul dword [eax + 0x38]
fstp dword [edx + 0x1c]
fld dword [esp + 0x10]
fmul dword [eax + 0x3c]
fistp qword [esp + 0x60]
mov ecx, dword [esp + 0x60]
shl ecx, 0x18
mov dword [edx + 0x14], ecx
fld dword [esp + 0x10]
fmul dword [eax + 0x28]
fistp qword [esp + 0x60]
mov ecx, dword [esp + 0x60]
shl ecx, 8
fld dword [esp + 0x10]
fmul dword [eax + 0x2c]
fistp qword [esp + 0x60]
mov esi, dword [esp + 0x60]
or ecx, esi
shl ecx, 8
fld dword [esp + 0x10]
fmul dword [eax + 0x30]
fistp qword [esp + 0x60]
mov eax, dword [esp + 0x60]
or ecx, eax
mov eax, dword [esp + 0x68]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x18]
add ecx, 4
dec eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x68], eax
jne 0x51651b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret