Function at 0x44dcf0
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, 0x84
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
push eax
mov ebx, ecx
call edi
mov esi, eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 0xc]
jae 0x44dd39
mov dword [ecx], str.LtIntegrate
mov dword [ecx + 0xc], str.StInit
rdtsc
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
mov dword [ecx + 4], edx
add ecx, 0x10
mov dword [esi + 4], ecx
mov eax, dword [ebx + 0xc]
mov esi, dword [ebp + 8]
mov ecx, dword [esi]
mov dword [eax + 0x190], ecx
mov edx, dword [esi + 4]
mov dword [eax + 0x194], edx
mov ecx, dword [esi + 8]
mov dword [eax + 0x198], ecx
mov edx, dword [esi + 0xc]
mov dword [eax + 0x19c], edx
add eax, 0x190
mov eax, dword [ebx + 0xc]
fld dword [eax + 0x2c0]
add eax, 0x1a0
fmul dword [esi + 8]
fstp dword [eax + 0x10c]
fild dword [eax + 0x114]
fmul dword [esi + 0xc]
fstp dword [eax + 0x110]
mov ecx, dword [ebx + 0xc]
fld dword [eax + 0x10c]
fstp dword [esp + 0x28]
fld dword [ecx + 0x10]
fld dword [esp + 0x28]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [eax + 0x10]
fld dword [ecx + 0x14]
fmul st(1)
fstp dword [eax + 0x14]
fld dword [ecx + 0x18]
fmul st(1)
fstp dword [eax + 0x18]
fmul dword [ecx + 0x1c]
fstp dword [eax + 0x1c]
fld dword [esi + 8]
fstp dword [esp + 0x28]
fld dword [ecx + 0x10]
fld dword [esp + 0x28]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [eax + 0x20]
fld dword [ecx + 0x14]
fmul st(1)
fstp dword [eax + 0x24]
fld dword [ecx + 0x18]
fmul st(1)
fstp dword [eax + 0x28]
fmul dword [ecx + 0x1c]
fstp dword [eax + 0x2c]
call fcn.00483750
mov eax, dword [ebx + 0xc]
push eax
call fcn.00449990
mov eax, dword [ebx + 0xc]
add dword [eax + 0x84], 1
mov eax, dword [ebx + 0xc]
add dword [eax + 0x88], 0xffffffff
mov ecx, dword [0x4c6074]
add esp, 4
push ecx
call edi
mov ecx, eax
mov edi, dword [ecx + 4]
cmp edi, dword [ecx + 0xc]
jae 0x44de3e
mov dword [edi], str.StActions
rdtsc
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
mov dword [edi + 4], edx
add edi, 0xc
mov dword [ecx + 4], edi
mov ecx, ebx
call fcn.0044d9d0
mov eax, dword [ebx + 0xc]
mov edi, 1
add dword [eax + 0x88], edi
mov ecx, dword [ebx + 0xc]
add dword [ecx + 0x84], 0xffffffff
jne 0x44de76
cmp byte [ecx + 0x8c], 0
jne 0x44de76
cmp dword [ecx + 0x80], 0
je 0x44de76
call fcn.0043eff0
mov eax, dword [ebx + 0xc]
add dword [eax + 0x84], edi
mov eax, dword [ebx + 0xc]
add byte [eax + 0x2c7], 1
mov cl, byte [eax + 0x2c7]
add eax, 0x1a0
movzx edx, cl
sub edx, 4
test dl, 7
jne 0x44dea6
xor byte [eax + 0x125], 1
test cl, 7
jne 0x44deb2
xor byte [eax + 0x125], 2
test cl, 0xf
jne 0x44decc
mov cl, 1
sub cl, byte [eax + 0x126]
mov byte [eax + 0x127], 0
mov byte [eax + 0x126], cl
mov edx, dword [ebx + 0xc]
push esi
add edx, 0x1a0
push edx
lea ecx, [esp + 0x38]
call fcn.0044f8d0
mov eax, dword [0x4c6074]
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
mov edi, dword [ecx + 4]
cmp edi, dword [ecx + 0xc]
jae 0x44df0f
mov dword [edi], str.StIntegrate
rdtsc
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
mov dword [edi + 4], edx
add edi, 0xc
mov dword [ecx + 4], edi
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + 0x2c]
add eax, 0x28
sub ecx, 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], ecx
js 0x44e089
jmp 0x44df38
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax]
mov edi, dword [ebx + 0xc]
mov esi, dword [eax + ecx*4]
add edi, 0x190
cmp dword [esi + 0xc], 0
jne 0x44dfed
mov ecx, dword [0x4c6074]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 0xc]
mov dword [esp + 0x24], eax
jae 0x44df86
mov dword [ecx], str.TtSingleObj
rdtsc
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov dword [ecx + 4], edx
add ecx, 0xc
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x48]
push 0xd0
push eax
push ecx
lea ecx, [edi + 0x30]
push ecx
push edi
add edi, 0x10
push edi
call fcn.0045ae50
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x18]
push edx
mov edx, dword [ecx + 0x6c]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x48]
push eax
push edx
call fcn.00456ef0
mov eax, dword [0x4c6074]
add esp, 0x24
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
mov edi, dword [ecx + 4]
cmp edi, dword [ecx + 0xc]
jae 0x44e00c
mov dword [edi], 0x4b2454
rdtsc
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x20]
mov dword [edi + 4], edx
add edi, 0xc
mov dword [ecx + 4], edi
jmp 0x44e00c
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x48]
push eax
push ecx
push esi
lea eax, [esp + 0x3c]
push eax
lea ecx, [edi + 0x10]
push ecx
push edi
call fcn.0045e8a0
add esp, 0x18
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 5
jle 0x44e02f
test byte [esi + 0x26], 0xc
je 0x44e02f
mov eax, dword [esi + 0x18]
cmp byte [eax + 0xc5], 0
je 0x44e02f
push esi
push eax
call fcn.00448c20
add esp, 8
mov edx, dword [ebx + 0xc]
cmp dword [edx + 0x160], 0
je 0x44e07b
mov eax, dword [0x4c6074]
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 0xc]
jae 0x44e06a
mov dword [ecx], str.StIslandPostIntegrateCb
rdtsc
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
add ecx, 0xc
mov dword [edi + 4], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 0xc]
push eax
push esi
push ecx
call fcn.0044d0b0
add esp, 0xc
sub dword [esp + 0x18], 1
jns 0x44df30
mov esi, dword [ebp + 8]
mov ecx, dword [ebx + 0xc]
add dword [ecx + 0x84], 0xffffffff
jne 0x44e0ac
cmp byte [ecx + 0x8c], 0
jne 0x44e0ac
cmp dword [ecx + 0x80], 0
je 0x44e0ac
call fcn.0043eff0
mov edx, dword [ebx + 0xc]
cmp dword [edx + 0x148], 0
je 0x44e124
mov eax, dword [0x4c6074]
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
mov ecx, dword [edi + 4]
cmp ecx, dword [edi + 0xc]
jae 0x44e0e7
mov dword [ecx], str.TtWorldPostIntegrateCb
rdtsc
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
add ecx, 0xc
mov dword [edi + 4], ecx
mov eax, dword [ebx + 0xc]
push esi
push eax
call fcn.0044cf50
mov ecx, dword [0x4c6074]
add esp, 8
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 0xc]
jae 0x44e124
mov dword [ecx], 0x4b2454
rdtsc
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
add ecx, 0xc
mov dword [esi + 4], ecx
mov eax, dword [0x4c6074]
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov esi, eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 0xc]
jae 0x44e153
mov dword [ecx], 0x4b3398
rdtsc
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
add ecx, 0xc
mov dword [esi + 4], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4