Function at 0x546d40
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5abb81
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x170
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x64], 0xbf800000
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x50], 0
xor eax, eax
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
lea edx, [edi + 0x30]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4c]
call fcn.0043b7e0
mov byte [ebp - 4], 4
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
push edx
push 0
push 0x17
mov ecx, dword [eax]
push 0x5d2f50
push eax
call dword [ecx + 0xc]
mov ecx, eax
call fcn.005464b0
mov edx, dword [ebp - 0x4c]
lea ecx, [ebp - 0xe0]
push 0x5b5340
call fcn.0043b6e0
add esp, 4
lea ecx, [ebp - 0x80]
call fcn.0040ebb0
movups xmm0, xmmword [ebp - 0xe0]
xor eax, eax
lea ecx, [ebp - 0xe0]
mov word [ebp - 0xe0], ax
movups xmmword [ebp - 0x80], xmm0
movq xmm0, qword [ebp - 0xd0]
movq qword [ebp - 0x70], xmm0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 7
call fcn.0040ebb0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x546e3f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 3
lea eax, [ebp - 0xc8]
push dword [ebp - 0x18]
mov ecx, edi
push eax
call fcn.00546a00
lea ecx, [ebp - 0xa0]
call fcn.00548ad0
mov byte [ebp - 4], 6
cmp dword [ebp - 0xb0], 3
jne 0x546e9d
mov eax, dword [ebp - 0xac]
cmp eax, dword [0x5c6388]
jne 0x546e9d
mov eax, dword [ebp - 0xa8]
cmp eax, dword [0x5c638c]
jne 0x546e9d
mov eax, dword [ebp - 0xa4]
mov byte [ebp - 0x9c], 1
cmp eax, dword [0x5c6390]
je 0x546ea4
mov byte [ebp - 0x9c], 0
mov eax, dword [ebp - 0xc4]
xorps xmm0, xmm0
mov edx, dword [0x609e3c]
mov ecx, dword [0x609e38]
mov dword [ebp - 0x8c], eax
movzx eax, word [ebp - 0xc6]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x84], eax
movzx eax, word [ebp - 0xba]
mov dword [ebp - 0x98], eax
movzx eax, word [ebp - 0xb6]
mov dword [ebp - 0x94], eax
mov al, byte [edi + 0x48]
mov byte [ebp - 0x90], al
mov al, byte [0x609ef0]
mov byte [ebp - 0x11], al
movlpd qword [ebp - 0x2c], xmm0
test edx, edx
jne 0x546f78
test ecx, ecx
jne 0x546f78
test al, al
je 0x546f64
cmp dword [ebp - 0x6c], 8
lea eax, [ebp - 0x80]
push str.FOSTEX
cmovae eax, dword [ebp - 0x80]
push eax
call dword [0x5b4644]
add esp, 8
test eax, eax
je 0x546f46
movsd xmm1, qword [0x5d5d98]
mov ecx, 0x989680
call fcn.004abbe0
jmp 0x546f86
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x2c]
push 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov ecx, eax
call fcn.005464b0
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x2c]
jmp 0x546f8e
movsd xmm1, qword [0x5d5da8]
mov ecx, 0x989680
call fcn.004abbe0
jmp 0x546f86
push 0
push 0x2710
push edx
push ecx
call fcn.00594100
mov esi, eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x3c], ecx
mov cl, byte [ebp - 0x11]
test cl, cl
je 0x546fa8
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x1c], edx
jmp 0x546fbc
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], eax
push 0
test cl, cl
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x24]
mov eax, 0x40000
cmovne ecx, eax
lea eax, [ebp - 0xc8]
push eax
push dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
push dword [ebp - 0x34]
mov dword [ebp - 0x24], ecx
push edx
push esi
push ecx
push 1
push eax
call dword [ebp - 0x3c]
cmp eax, 0x88890019
jne 0x5470b3
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
mov ecx, eax
call fcn.005464b0
mov eax, dword [ebp - 0xc4]
movsd xmm0, qword [0x5d5f20]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x5d6090]
mov eax, dword [ebp - 0x34]
divsd xmm0, xmm1
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x5d6090]
mulsd xmm0, xmm1
addsd xmm0, qword [0x5d5de0]
call fcn.00594540
cmp byte [ebp - 0x11], 0
mov ecx, eax
mov dword [ebp - 0x1c], ecx
mov eax, edx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x3c], eax
mov esi, dword [ecx]
mov edx, dword [esi + 0xc]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x44], edx
je 0x54708a
mov edx, esi
jmp 0x547098
xorps xmm0, xmm0
movlpd qword [ebp - 0x60], xmm0
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x60]
push 0
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0x18]
push eax
push edx
push dword [ebp - 0x3c]
push esi
push dword [ebp - 0x24]
push 1
push ecx
call dword [ebp - 0x44]
mov ecx, eax
call fcn.005464b0
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
call fcn.005945f0
mulsd xmm0, qword [0x5d5d08]
mov dword [ebp - 0x24], 0
minsd xmm0, qword [0x5d5da8]
movsd qword [ebp - 0x40], xmm0
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 7
je 0x547117
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov edx, eax
test edx, edx
je 0x54739e
mov eax, dword [ebp - 0x18]
push edx
push eax
mov dword [ebp - 0x24], edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov ecx, eax
call fcn.005464b0
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x38]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
mov ecx, eax
call fcn.005464b0
cmp dword [ebp - 0x38], 0
je 0x5473bf
lea ecx, [ebp - 0x18]
call fcn.00452df0
lea edx, [ebp - 0x50]
push edx
push 0x5d2f40
mov ecx, dword [eax]
push eax
call dword [ecx + 0x38]
mov edx, eax
call fcn.00546540
push edi
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x130]
call fcn.00547410
sub esp, 0x28
mov ecx, esp
push dword [eax + 4]
push dword [eax]
call fcn.00548720
lea ecx, [ebp - 0x17c]
call fcn.00410540
push 0
push ecx
lea ecx, [ebp - 0x60]
call fcn.004a8450
mov al, byte [ebp - 0x11]
movsd xmm1, qword [ebp - 0x40]
test al, al
jne 0x5471b4
movsd xmm0, qword [0x5d5d80]
comisd xmm0, xmm1
jbe 0x5471b4
push 1
lea ecx, [ebp - 0x60]
call fcn.004a8490
movsd xmm1, qword [ebp - 0x40]
mov al, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x38]
mov dword [edi + 0x94], ecx
test al, al
je 0x5471cc
lea eax, [ecx + ecx]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x38], eax
jmp 0x5471da
mov ecx, dword [ebp - 0xc4]
call fcn.004abbe0
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0xf8]
call fcn.004ab4e0
lea ecx, [ebp - 0xec]
call fcn.004ab4e0
lea ecx, [edi + 0xa0]
mov byte [ebp - 4], 0xb
call fcn.00546760
lea ecx, [ebp - 0xf8]
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x88]
push eax
call fcn.004ab420
push dword [ebp - 0x1c]
mov edx, esi
lea ecx, [ebp - 0x11c]
call fcn.00546770
add esp, 4
lea ecx, [ebp - 0xec]
push eax
call fcn.00548650
lea ecx, [ebp - 0x11c]
call fcn.004f9260
cmp esi, dword [ebp - 0x1c]
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xec]
mov dword [ebp - 0x68], 2
push eax
lea eax, [ebp - 0xf8]
setne byte [ebp - 0x1d]
push eax
lea eax, [ebp - 0x1d]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x64]
push eax
push edi
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x154]
call fcn.00547860
call fcn.00547430
lea ecx, [ebp - 0x18]
call fcn.00452df0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov edx, eax
call fcn.00546540
mov byte [edi + 0x90], 1
nop
cmp byte [ebp - 0x11], 0
je 0x5472dc
lea ecx, [ebp - 0x24]
call fcn.00452df0
movsd xmm2, qword [0x5d5e20]
lea ecx, [edi + 0x80]
push eax
call fcn.00579f51
test al, al
je 0x5473e0
jmp 0x5472ec
movsd xmm1, qword [ebp - 0x40]
lea ecx, [edi + 0x80]
call fcn.00579efc
lea ecx, [ebp - 0x18]
call fcn.00452df0
lea edx, [ebp - 0x44]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
call fcn.00546540
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x38]
cmp eax, esi
jae 0x5472b0
sub esi, eax
mov eax, dword [ebp - 0x30]
cmp esi, eax
jb 0x5472b0
lea ecx, [ebp - 0x154]
call fcn.00547430
mov eax, dword [ebp - 0x30]
sub esi, eax
jmp 0x547314
push str.Event_creation_failure
lea ecx, [ebp - 0x104]
call fcn.004176f0
push 0x600604
lea eax, [ebp - 0x104]
push eax
call fcn.005936f7
push str.Invalid_buffer_frame_count
lea ecx, [ebp - 0x110]
call fcn.004176f0
push 0x600604
lea eax, [ebp - 0x110]
push eax
call fcn.005936f7
push str.Waiting_for_hardware_timed_out
lea ecx, [ebp - 0x128]
call fcn.004176f0
push 0x600604
lea eax, [ebp - 0x128]
push eax
call fcn.005936f7
int3