Function at 0x412ee4
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x20
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
mov dword [esi + 0x94], edi
mov eax, dword [edi]
push eax
push 0x413158
push 8
mov dword [esi + 0x8c], eax
call fcn.004015a0
mov eax, dword [edi + 0x178]
xor edi, edi
add esp, 0xc
mov dword [esi + 0xac], eax
cmp eax, edi
je 0x423868
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 4]
mov ecx, dword [esi + 0xac]
push esi
call fcn.00413199
push edi
push edi
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
lea ecx, [esi + 0xb4]
mov dword [ecx], eax
cmp eax, edi
je 0x423887
lea ecx, [ebp + 0xc]
push ecx
push eax
push dword [esi + 0x8c]
mov dword [ebp + 0xc], edi
call fcn.0041328b
mov ebx, eax
cmp ebx, edi
jl 0x4238b0
lea eax, [esi + 0xb0]
push eax
push edi
push dword [ebp + 0xc]
push 0x4031ec
push 0x10000
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, edi
je 0x4238be
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerW]
mov dword [esi + 0xc0], eax
cmp eax, edi
je 0x4238fc
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x10]
push edx
lea edx, [ebp - 0xc]
push edx
lea edx, [ebp - 8]
push edx
lea edx, [ebp - 4]
push edx
push edi
push edi
push edi
lea edx, [esi + 0xa4]
lea eax, [esi + 0x74]
mov ecx, dword [eax]
push edx
or ebx, 0xffffffff
push eax
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], edi
call dword [ecx + 0x4c]
cmp eax, edi
mov dword [ebp + 0xc], eax
jl 0x423931
mov cx, word [ebp - 4]
mov eax, dword [esi + 0x94]
mov word [eax + 0x108], cx
mov eax, dword [esi + 0x94]
mov cx, word [ebp - 8]
mov word [eax + 0x10a], cx
mov eax, dword [esi + 0x94]
xor ecx, ecx
add eax, 0x10c
cmp word [ebp - 0xc], bx
sete cl
add ecx, ecx
xor ecx, dword [eax]
and ecx, 2
xor dword [eax], ecx
mov eax, dword [esi + 0x94]
xor ecx, ecx
add eax, 0x10c
cmp word [ebp - 0x10], bx
sete cl
shl ecx, 2
xor ecx, dword [eax]
and ecx, 4
xor dword [eax], ecx
mov eax, dword [esi + 0x94]
add eax, 0x10c
xor ecx, ecx
cmp word [ebp - 0x14], bx
sete cl
shl ecx, 3
xor ecx, dword [eax]
and ecx, 8
xor dword [eax], ecx
mov eax, dword [esi + 0x94]
mov dword [eax + 0x110], edi
mov eax, dword [esi + 0x94]
add eax, 0x11c
cmp dword [eax], ebx
jne 0x413096
mov dword [eax], 0x895440
push 0x20019
mov eax, 0x3333
push 0x4066e0
push 0x80000002
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
mov dword [esi + 0x110], eax
mov dword [esi + 0x114], eax
mov dword [ebp + 8], edi
call fcn.00403d7c
test eax, eax
jne 0x413106
lea eax, [ebp + 8]
push eax
push 0x413138
lea ecx, [ebp - 0x20]
call fcn.00403d3d
mov eax, dword [ebp + 8]
cmp eax, edi
jne 0x42394c
lea eax, [ebp + 8]
push eax
push 0x413118
lea ecx, [ebp - 0x20]
call fcn.00403d3d
mov eax, dword [ebp + 8]
cmp eax, edi
jne 0x423957
lea ecx, [ebp - 0x20]
call fcn.00403d1d
mov eax, dword [ebp + 0xc]
pop ebx
pop edi
pop esi
leave
ret 8
push dword [esi + 0x8c]
push 0x423c10
push 1
call fcn.004015a0
add esp, 0xc
mov eax, 0x8007000e
jmp 0x413112
or dword [ecx], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp ebx, edi
jle 0x4238a2
and ebx, 0xffff
or ebx, 0x80070000
push ebx
push dword [esi + 0x8c]
push 0x423b98
jmp 0x423920
push ebx
push dword [esi + 0x8c]
push 0x423af0
jmp 0x423920
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp ebx, edi
jle 0x4238d6
and ebx, 0xffff
or ebx, 0x80070000
push ebx
push dword [esi + 0x8c]
push 0x423a78
push 1
call fcn.004015a0
mov ecx, dword [ebp + 0xc]
add esp, 0x10
cmp ecx, edi
je 0x42392a
push 1
call fcn.0041010d
jmp 0x42392a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp ebx, edi
jle 0x423914
and ebx, 0xffff
or ebx, 0x80070000
push ebx
push dword [esi + 0x8c]
push 0x4239f0
push 1
call fcn.004015a0
add esp, 0x10
mov eax, ebx
jmp 0x413111
push eax
push dword [esi + 0x8c]
push 0x423968
push 1
call fcn.004015a0
add esp, 0x10
jmp 0x41310e
mov dword [esi + 0x110], eax
jmp 0x4130ea
mov dword [esi + 0x114], eax
jmp 0x413106