Function at 0x427200
Capabilities:
Execute anti-debugging instructions
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, dword [0x4c6074]
sub esp, 0x104
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_TlsGetValue]
push esi
push edi
push eax
mov esi, ecx
call ebx
mov ecx, eax
mov edi, dword [ecx + 4]
cmp edi, dword [ecx + 0xc]
jae 0x427242
mov dword [edi], 0x4b36d0
rdtsc
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x1c]
mov dword [edi + 4], edx
add edi, 0xc
mov dword [ecx + 4], edi
fld dword [esi + 0x54]
mov edi, dword [ebp + 0xc]
fmul dword [esi + 0x48]
lea eax, [esp + 0xd0]
fld dword [esi + 0x58]
push eax
fmul dword [esi + 0x44]
lea ecx, [esp + 0x84]
push ecx
lea edx, [esp + 0x68]
fsubp st(1)
push edx
push edi
fstp dword [esp + 0x60]
fld dword [esi + 0x40]
fmul dword [esi + 0x58]
fld dword [esi + 0x50]
fmul dword [esi + 0x48]
fsubp st(1)
fstp dword [esp + 0x64]
fld dword [esi + 0x44]
fmul dword [esi + 0x50]
fld dword [esi + 0x40]
fmul dword [esi + 0x54]
fsubp st(1)
fstp dword [esp + 0x68]
fld dword [esi + 0x10]
fstp dword [esp + 0x24]
fld dword [esp + 0x60]
fld dword [esp + 0x24]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x60]
fld dword [esp + 0x64]
fmul st(1)
fstp dword [esp + 0x64]
fld dword [esp + 0x68]
fmul st(1)
fstp dword [esp + 0x68]
fmul qword [0x4bea18]
fstp dword [esp + 0x6c]
fld dword [esp + 0x60]
fld st(0)
fadd dword [esi + 0x20]
fstp dword [esp + 0x70]
fld dword [esi + 0x24]
fld dword [esp + 0x64]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x74]
fld dword [esi + 0x28]
fld dword [esp + 0x68]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x78]
fld dword [esi + 0x2c]
fld dword [esp + 0x6c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x7c]
fld dword [esi + 0x30]
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x90]
fld dword [esi + 0x34]
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x94]
fsubr dword [esi + 0x38]
fstp dword [esp + 0x98]
fsubr dword [esi + 0x3c]
fstp dword [esp + 0x9c]
fld dword [esi + 0x14]
fadd dword [esi + 0x10]
fstp dword [esp + 0x2c]
call fcn.0042bf30
add esp, 0x10
fld dword [edi]
fsub dword [esp + 0xd0]
fstp dword [esp + 0x20]
fld dword [edi + 4]
fsub dword [esp + 0xd4]
fstp dword [esp + 0x24]
fld dword [edi + 8]
fsub dword [esp + 0xd8]
fstp dword [esp + 0x28]
fld dword [esp + 0x20]
fld dword [esp + 0x24]
fld dword [esp + 0x28]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
call fcn.0042eb10
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [esp + 0x1c]
fcompp
fnstsw ax
fld dword [esp + 0x68]
test ah, 0x41
fld dword [esp + 0x64]
fld dword [esp + 0x60]
fld dword [esp + 0x88]
fld dword [esp + 0x84]
fld dword [esp + 0x80]
jne 0x427490
fld st(0)
fsub st(4)
fstp dword [esp + 0x20]
fld st(1)
fsub st(5)
fstp dword [esp + 0x24]
fld st(2)
fsub st(6)
fstp dword [esp + 0x28]
fld dword [edi]
fsubrp st(4)
fxch st(3)
fstp dword [esp + 0x30]
fld dword [edi + 4]
fsub st(4)
fstp dword [esp + 0x34]
fld dword [edi + 8]
fsub st(5)
fstp dword [esp + 0x38]
fld dword [esp + 0x30]
fmul dword [esp + 0x20]
fld dword [esp + 0x34]
fmul dword [esp + 0x24]
faddp st(1)
fld dword [esp + 0x38]
fmul dword [esp + 0x28]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomp dword [0x4b72f4]
fnstsw ax
test ah, 0x41
jne 0x42748a
fld dword [edi]
fsub st(3)
fstp dword [esp + 0x30]
fld dword [edi + 4]
fsub st(1)
fstp dword [esp + 0x34]
fld dword [edi + 8]
fsub st(2)
fstp dword [esp + 0x38]
fld dword [esp + 0x30]
fmul dword [esp + 0x20]
fld dword [esp + 0x34]
fmul dword [esp + 0x24]
faddp st(1)
fld dword [esp + 0x38]
fmul dword [esp + 0x28]
faddp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomp dword [0x4b72f4]
fnstsw ax
test ah, 5
jnp 0x427c14
fld dword [esp + 0x60]
fxch st(3)
fld dword [0x4b33d8]
lea eax, [esp + 0x100]
fstp dword [esp + 0x4c]
push eax
fld dword [edi + 0x10]
lea ecx, [esp + 0xf4]
fsub dword [edi]
push ecx
lea edx, [esp + 0xb4]
push edx
fstp dword [esp + 0xbc]
lea eax, [esp + 0x88]
fld dword [edi + 0x14]
push eax
fsub dword [edi + 4]
lea ecx, [esp + 0x5c]
push ecx
lea edx, [esp + 0x64]
fstp dword [esp + 0xc8]
push edx
fld dword [edi + 0x18]
lea eax, [esp + 0x78]
fsub dword [edi + 8]
push eax
lea ecx, [esp + 0xcc]
push ecx
fstp dword [esp + 0xd8]
push edi
fld dword [edi + 0x1c]
fsub dword [edi + 0xc]
fstp dword [esp + 0xe0]
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x74]
fxch st(1)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x78]
fsubrp st(1)
fstp dword [esp + 0x7c]
fld dword [esp + 0xb0]
fsub dword [esp + 0x90]
fstp dword [esp + 0x80]
call fcn.0042bc90
fld dword [esp + 0x40]
add esp, 0x24
fmul st(0), st(0)
fst qword [esp + 0x90]
fld dword [esp + 0x4c]
fcompp
fnstsw ax
test ah, 0x41
je 0x427c38
fld dword [esp + 0x50]
fld dword [esp + 0x54]
fld dword [esp + 0x58]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x14]
fld dword [0x4bea14]
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x427c36
call fcn.0042eb10
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fld1
fdivrp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x50]
fstp dword [esp + 0x30]
fld dword [esp + 0x54]
fmul st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x58]
fmul st(1)
fstp dword [esp + 0x38]
fmul dword [esp + 0x5c]
fstp dword [esp + 0x3c]
fld dword [esp + 0xb0]
fld st(0)
fld dword [esp + 0x30]
fld st(0)
fmulp st(2)
fld dword [esp + 0x34]
fld st(0)
fld dword [esp + 0xb4]
fld st(0)
fmulp st(2)
fxch st(4)
faddp st(1)
fld dword [esp + 0x38]
fld st(0)
fmul dword [esp + 0xb8]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld st(0)
fmulp st(4)
fxch st(3)
faddp st(5)
fxch st(4)
fstp dword [esp + 0x20]
fmul st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x24]
fmulp st(1)
fadd dword [esp + 0xb8]
fstp dword [esp + 0x28]
fld dword [esp + 0x4c]
fsubr qword [esp + 0x90]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
call fcn.0042eb10
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fld dword [esp + 0x24]
fld dword [esp + 0x28]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x18]
fldz
fld st(0)
fld dword [esp + 0x18]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x4276d8
fstp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
call fcn.0042eb10
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld1
fdivrp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x7c]
fld dword [esp + 0x18]
fmul dword [esp + 0x1c]
fstp dword [esp + 0x18]
fsub dword [esp + 0x18]
fstp dword [esp + 0x1c]
fldz
jmp 0x4276e4
fstp st(0)
fld dword [0x4b2f80]
fstp dword [esp + 0x1c]
mov esi, dword [ebp + 0x10]
fld dword [esp + 0x1c]
fld dword [esi + 0x10]
fcomp st(1)
fnstsw ax
test ah, 0x41
jnp 0x427c22
fld dword [esp + 0x30]
fld st(0)
fmul dword [esp + 0x60]
fld dword [esp + 0x34]
fld st(0)
fmul dword [esp + 0x64]
faddp st(2)
fld dword [esp + 0x38]
fmul dword [esp + 0x68]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fld st(2)
fld1
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld st(0)
fmul dword [edi]
fld st(4)
fmul dword [edi + 0x10]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [edi + 0x14]
fmul st(4)
fld st(1)
fmul dword [edi + 4]
faddp st(1)
fstp dword [esp + 0x24]
fld dword [edi + 0x18]
fmul st(4)
fld dword [edi + 8]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x28]
fld dword [edi + 0x1c]
fmul st(4)
fld dword [edi + 0xc]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x20]
fld st(0)
fmul st(3)
fld dword [esp + 0x24]
fmul st(3)
faddp st(1)
fld dword [esp + 0x28]
fmul dword [esp + 0x38]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fxch st(4)
fcom st(5)
fnstsw ax
test ah, 1
jne 0x427997
fld dword [esp + 0x10]
fcom st(6)
fnstsw ax
test ah, 0x41
jne 0x427995
fstp st(5)
fld dword [esp + 0x48]
fcomp st(5)
fnstsw ax
test ah, 0x41
jne 0x4279ec
fstp st(3)
fstp st(1)
fld dword [esp + 0x48]
fdivp st(3)
fxch st(2)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld st(0)
fld1
fsubrp st(1)
fstp dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x80]
fld dword [esp + 0x10]
fld st(0)
fmul dword [esp + 0x60]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x30]
fld dword [esp + 0x84]
fmul st(2)
fld dword [esp + 0x64]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x88]
fmul st(2)
fld dword [esp + 0x68]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x8c]
fmulp st(2)
fmul dword [esp + 0x6c]
faddp st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x30]
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x90]
fld dword [esp + 0x24]
fsub dword [esp + 0x34]
fstp dword [esp + 0x94]
fld dword [esp + 0x28]
fsub dword [esp + 0x38]
fstp dword [esp + 0x98]
fld dword [esp + 0x2c]
fsub dword [esp + 0x3c]
fstp dword [esp + 0x9c]
fld dword [esp + 0x90]
fld dword [esp + 0x94]
fld dword [esp + 0x98]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x10]
fld st(1)
fld dword [esp + 0x10]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x4278dc
fstp st(1)
fstp st(1)
call fcn.0042eb10
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld1
fdivrp st(1)
fstp dword [esp + 0x48]
fld dword [esp + 0x1c]
jmp 0x4278e4
fstp st(0)
fxch st(1)
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
mov edx, dword [esi + 0x40]
fld st(0)
fmul dword [esp + 0x90]
fstp dword [esp + 0x90]
fld dword [esp + 0x94]
fmul st(1)
fstp dword [esp + 0x94]
fld dword [esp + 0x98]
fmul st(1)
fstp dword [esp + 0x98]
fmul dword [esp + 0x9c]
fstp dword [esp + 0x9c]
fld dword [esp + 0x90]
fstp dword [esi]
fld dword [esp + 0x94]
fstp dword [esi + 4]
fld dword [esp + 0x98]
fstp dword [esi + 8]
fld dword [esp + 0x9c]
fstp dword [esi + 0xc]
fstp dword [esi + 0x10]
mov dword [esi + edx*4 + 0x20], 0xffffffff
mov eax, dword [0x4c6074]
push eax
call ebx
mov ecx, eax
mov esi, dword [ecx + 4]
cmp esi, dword [ecx + 0xc]
jae 0x427986
mov dword [esi], 0x4b2454
rdtsc
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x1c]
mov dword [esi + 4], edx
add esi, 0xc
mov dword [ecx + 4], esi
mov eax, dword [ebp + 8]
mov byte [eax], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fstp st(0)
fstp st(0)
fstp st(0)
fxch st(2)
fld dword [edi]
fmul st(2)
fld st(3)
fmul dword [edi + 4]
faddp st(1)
fld dword [edi + 8]
fld dword [esp + 0x38]
fld st(0)
fmulp st(2)
fxch st(2)
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcom st(2)
fnstsw ax
test ah, 5
jp 0x4279f8
fstp st(0)
fstp st(1)
fld dword [0x4b2f80]
fstp dword [esp + 0x18]
fld dword [esp + 0x60]
fstp dword [esp + 0x20]
fld dword [esp + 0x64]
fstp dword [esp + 0x24]
fld dword [esp + 0x68]
jmp 0x427a3a
fstp st(4)
fstp st(3)
fstp st(2)
fld dword [esp + 0x18]
jmp 0x42799d
fld dword [esp + 0x48]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x427c30
fld1
fstp dword [esp + 0x18]
fld dword [esp + 0x80]
fstp dword [esp + 0x20]
fld dword [esp + 0x84]
fstp dword [esp + 0x24]
fld dword [esp + 0x88]
fstp dword [esp + 0x28]
fld dword [esp + 0x20]
fsub dword [edi]
fstp dword [esp + 0xc0]
fld dword [esp + 0x24]
fsub dword [edi + 4]
fstp dword [esp + 0xc4]
fld dword [esp + 0x28]
fsub dword [edi + 8]
fstp dword [esp + 0xc8]
fld dword [esp + 0xc0]
fmul st(2)
fld dword [esp + 0xc4]
fmul st(4)
faddp st(1)
fld dword [esp + 0xc8]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x18]
fld st(0)
fmulp st(2)
fld qword [0x4b2a70]
fmul st(2), st(0)
fxch st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(5)
fnstsw ax
fstp st(5)
test ah, 5
jnp 0x427c1c
fld st(0)
fmulp st(2)
fld dword [esp + 0x14]
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esi + 0x10]
fld dword [esp + 0x10]
fld st(0)
fmulp st(2)
fxch st(1)
fcomp st(5)
fnstsw ax
test ah, 0x41
jnp 0x427c26
fdivp st(4)
fxch st(3)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld st(0)
fld1
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [edi + 0x10]
fmul st(1)
fld dword [esp + 0x10]
fld st(0)
fmul dword [edi]
faddp st(2)
fxch st(1)
fstp dword [esp + 0xc0]
fld dword [edi + 0x14]
fmul st(2)
fld st(1)
fmul dword [edi + 4]
faddp st(1)
fstp dword [esp + 0xc4]
fld dword [edi + 0x18]
fmul st(2)
fld dword [edi + 8]
fmulp st(2)
faddp st(1)
fstp dword [esp + 0xc8]
fld dword [esp + 0xc0]
fsub dword [esp + 0x20]
fstp dword [esp + 0xe0]
fld dword [esp + 0xc4]
fsub dword [esp + 0x24]
fstp dword [esp + 0xe4]
fld dword [esp + 0xc8]
fsub dword [esp + 0x28]
fstp dword [esp + 0xe8]
fld dword [esp + 0xe0]
fld dword [esp + 0xe4]
fld dword [esp + 0xe8]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcomp qword [esp + 0x90]
fnstsw ax
test ah, 0x41
je 0x427c1e
mov eax, dword [esi + 0x40]
fld st(3)
fmulp st(2)
fxch st(1)
fstp dword [esi]
fld st(2)
fmulp st(2)
fxch st(1)
fstp dword [esi + 4]
fld dword [esp + 0x38]
fmul st(2)
fstp dword [esi + 8]
fld dword [esp + 0x3c]
fmulp st(2)
fxch st(1)
fstp dword [esi + 0xc]
fstp dword [esi + 0x10]
mov dword [esi + eax*4 + 0x20], 0xffffffff
mov ecx, dword [0x4c6074]
push ecx
call ebx
mov ecx, eax
mov esi, dword [ecx + 4]
cmp esi, dword [ecx + 0xc]
jae 0x427c05
mov dword [esi], 0x4b2454
rdtsc
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x14]
mov dword [esi + 4], edx
add esi, 0xc
mov dword [ecx + 4], esi
mov eax, dword [ebp + 8]
mov byte [eax], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fstp st(1)
fstp st(0)
fstp st(0)
jmp 0x427c34
fstp st(4)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x427c36
fstp st(4)
fstp st(3)
fstp st(0)
fstp st(0)
jmp 0x427c36
fstp st(0)
fstp st(2)
fstp st(1)
fstp st(0)
mov eax, dword [0x4c6074]
push eax
call ebx
mov esi, eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 0xc]
jae 0x427c63
mov dword [ecx], 0x4b2454
rdtsc
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x14]
mov dword [ecx + 4], edx
add ecx, 0xc
mov dword [esi + 4], ecx
mov eax, dword [ebp + 8]
pop edi
pop esi
mov byte [eax], 0
pop ebx
mov esp, ebp
pop ebp
ret 0xc