Function at 0x51a33a
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebx
mov ebx, esp
push ecx
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, esp
sub esp, 0x3b0
mov eax, dword [0x96186c]
cmp eax, dword [0x961870]
setb cl
push ecx
lea ecx, [ebp - 1]
call fcn.00425c38
lea ecx, [ebp - 1]
call fcn.00425c43
movzx edx, al
test edx, edx
je 0x51a394
mov eax, dword [0x96186c]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov dword [ecx], str.LtBvTree
rdtsc
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 8]
add ecx, 0xc
mov dword [0x96186c], ecx
lea ecx, [ebp - 0x30]
call fcn.004458bd
lea edx, [ebp - 0x30]
push edx
mov eax, dword [ebx + 0x10]
push eax
mov ecx, dword [ebx + 0xc]
push ecx
mov edx, dword [ebx + 8]
push edx
call fcn.005187c0
add esp, 0x10
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0x34], ecx
lea edx, [ebp - 0x23c]
mov dword [ebp - 0x248], edx
mov dword [ebp - 0x244], 0
mov eax, 0x80
or eax, 0x80000000
mov dword [ebp - 0x240], eax
lea ecx, [ebp - 0x248]
push ecx
lea edx, [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x34]
call dword [edx + 0x30]
mov eax, dword [0x96186c]
cmp eax, dword [0x961870]
setb cl
push ecx
lea ecx, [ebp - 0x249]
call fcn.00425c38
lea ecx, [ebp - 0x249]
call fcn.00425c43
movzx edx, al
test edx, edx
je 0x51a461
mov eax, dword [0x96186c]
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x250]
mov dword [ecx], str.StNarrowPhase
rdtsc
mov dword [ebp - 0x254], eax
mov edx, dword [ebp - 0x250]
mov eax, dword [ebp - 0x254]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x250]
add ecx, 0xc
mov dword [0x96186c], ecx
mov edx, dword [ebp - 0x258]
mov dword [ebp - 0x25c], edx
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x25c], ecx
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x25c]
call dword [eax + 0x14]
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x248]
mov dword [ebp - 0x264], ecx
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x248]
lea ecx, [eax + edx*4]
mov dword [ebp - 0x268], ecx
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x26c], edx
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x270], ecx
mov ecx, dword [ebp - 0x34]
call fcn.00454b62
mov dword [ebp - 0x27c], eax
mov edx, dword [ebp - 0x264]
cmp edx, dword [ebp - 0x268]
je 0x51a601
mov eax, dword [ebp - 0x264]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x27c]
push edx
mov eax, dword [ebx + 0xc]
push eax
mov ecx, dword [ebx + 8]
push ecx
mov edx, dword [ebx + 0x10]
push edx
lea eax, [ebp - 0x27d]
push eax
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx + 4]
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 4]
mov edx, dword [edx]
call dword [edx]
mov ecx, eax
call fcn.00425c43
movzx eax, al
test eax, eax
je 0x51a5ed
lea ecx, [ebp - 0x380]
push ecx
mov edx, dword [ebp - 0x264]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x27c]
call dword [edx + 0x34]
mov dword [ebp - 0x384], eax
mov eax, dword [ebp - 0x264]
mov ecx, dword [eax]
mov dword [ebp - 0x388], ecx
mov edx, dword [ebp - 0x384]
mov dword [ebp - 0x278], edx
mov eax, dword [ebp - 0x388]
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x384]
call dword [edx + 0x14]
mov dword [ebp - 0x38c], eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x260]
shl edx, 7
lea eax, [ecx + edx + 0x118c]
mov ecx, dword [ebp - 0x38c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x390], edx
mov eax, dword [ebx + 0x14]
push eax
mov ecx, dword [ebx + 0x10]
push ecx
lea edx, [ebp - 0x278]
push edx
mov eax, dword [ebx + 8]
push eax
call dword [ebp - 0x390]
add esp, 0x10
lea ecx, [ebp - 0x391]
push ecx
mov ecx, dword [ebx + 0x14]
call fcn.00515c50
mov ecx, eax
call fcn.00425c43
movzx edx, al
test edx, edx
je 0x51a5ed
jmp 0x51a601
mov eax, dword [ebp - 0x264]
add eax, 4
mov dword [ebp - 0x264], eax
jmp 0x51a4d3
mov ecx, dword [0x96186c]
cmp ecx, dword [0x961870]
setb dl
push edx
lea ecx, [ebp - 0x392]
call fcn.00425c38
lea ecx, [ebp - 0x392]
call fcn.00425c43
movzx eax, al
test eax, eax
je 0x51a66c
mov ecx, dword [0x96186c]
mov dword [ebp - 0x398], ecx
mov edx, dword [ebp - 0x398]
mov dword [edx], 0x65b984
rdtsc
mov dword [ebp - 0x39c], eax
mov eax, dword [ebp - 0x398]
mov ecx, dword [ebp - 0x39c]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x398]
add edx, 0xc
mov dword [0x96186c], edx
mov eax, dword [ebp - 0x240]
and eax, 0x80000000
jne 0x51a6c6
mov ecx, dword [ebp - 0x240]
and ecx, 0x7fffffff
mov dword [ebp - 0x3a0], ecx
mov edx, dword [ebp - 0x248]
mov dword [ebp - 0x3a4], edx
call fcn.00431fe7
mov dword [ebp - 0x3a8], eax
push 0x12
mov eax, dword [ebp - 0x3a0]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x3a4]
push ecx
mov edx, dword [ebp - 0x3a8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3a8]
call dword [eax + 0x14]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret