Function at 0x4138bc
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 0x413b60
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 0x423af8
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 4]
mov ecx, dword [esi + 0xac]
push esi
call fcn.00413ba1
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 0x423b17
lea ecx, [ebp + 0xc]
push ecx
push eax
push dword [esi + 0x8c]
mov dword [ebp + 0xc], edi
call fcn.00413c93
mov ebx, eax
cmp ebx, edi
jl 0x423b40
lea eax, [esi + 0xb0]
push eax
push edi
push dword [ebp + 0xc]
push 0x40387d
push 0x10000
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, edi
je 0x423b4e
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 0x423b8c
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 0x423bc1
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 0x413a6e
mov dword [eax], 0x895440
push 0x20019
mov eax, 0x3333
push 0x405488
push 0x80000002
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
mov dword [esi + 0x118], 0x20000
mov dword [esi + 0x11c], eax
mov dword [esi + 0x120], eax
mov dword [ebp + 8], edi
call fcn.0040314f
test eax, eax
jne 0x413b04
lea eax, [ebp + 8]
push eax
push 0x413b48
lea ecx, [ebp - 0x20]
call fcn.00403110
mov eax, dword [ebp + 8]
cmp eax, edi
jne 0x423bdc
lea eax, [ebp + 8]
push eax
push 0x413b30
lea ecx, [ebp - 0x20]
call fcn.00403110
mov eax, dword [ebp + 8]
cmp eax, edi
jne 0x423be7
lea eax, [ebp + 8]
push eax
push 0x413b18
lea ecx, [ebp - 0x20]
call fcn.00403110
mov eax, dword [ebp + 8]
cmp eax, edi
jne 0x423bf2
lea ecx, [ebp - 0x20]
call fcn.004030f0
mov eax, dword [ebp + 0xc]
pop ebx
pop edi
pop esi
leave
ret 8
push dword [esi + 0x8c]
push 0x423ea8
push 1
call fcn.004015a0
add esp, 0xc
mov eax, 0x8007000e
jmp 0x413b10
or dword [ecx], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp ebx, edi
jle 0x423b32
and ebx, 0xffff
or ebx, 0x80070000
push ebx
push dword [esi + 0x8c]
push 0x423e30
jmp 0x423bb0
push ebx
push dword [esi + 0x8c]
push 0x423d88
jmp 0x423bb0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp ebx, edi
jle 0x423b66
and ebx, 0xffff
or ebx, 0x80070000
push ebx
push dword [esi + 0x8c]
push 0x423d10
push 1
call fcn.004015a0
mov ecx, dword [ebp + 0xc]
add esp, 0x10
cmp ecx, edi
je 0x423bba
push 1
call fcn.00410add
jmp 0x423bba
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp ebx, edi
jle 0x423ba4
and ebx, 0xffff
or ebx, 0x80070000
push ebx
push dword [esi + 0x8c]
push 0x423c88
push 1
call fcn.004015a0
add esp, 0x10
mov eax, ebx
jmp 0x413b0f
push eax
push dword [esi + 0x8c]
push 0x423c00
push 1
call fcn.004015a0
add esp, 0x10
jmp 0x413b0c
mov dword [esi + 0x118], eax
jmp 0x413acc
mov dword [esi + 0x11c], eax
jmp 0x413ae8
mov dword [esi + 0x120], eax
jmp 0x413b04