Function at 0x41d3d0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a9ca4
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x610044]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov dword [ebp - 0x14], 0
cmp dword [esi + 0x1a8], 0
jne 0x41d79a
push 0
push 0x489
mov ecx, esi
call fcn.00450ce9
mov ecx, eax
call fcn.00450fb4
call fcn.0044196e
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41d43e
push 0x80004005
call fcn.004028f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x18], eax
mov ebx, 1
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x1c]
push ecx
push esi
call fcn.0041dcd0
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x18]
call fcn.00402c20
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41d48e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 8
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x18]
call fcn.0041deb0
mov byte [ebp - 4], 4
mov dword [ebp - 0x14], ebx
mov eax, dword [eax]
push str..rsupset
push eax
call fcn.0057b95c
add esp, 8
test eax, eax
sete al
mov esi, 6
test al, al
jne 0x41d55e
push 0xa
lea edx, [ebp - 0x24]
push edx
lea ecx, [ebp - 0x18]
call fcn.0041deb0
mov edi, 5
mov dword [ebp - 4], edi
mov ebx, 3
mov dword [ebp - 0x14], ebx
mov eax, dword [eax]
push str..rsupsetv1
push eax
call fcn.0057b95c
add esp, 8
test eax, eax
sete al
test al, al
jne 0x41d563
push 0xa
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x18]
call fcn.0041deb0
mov dword [ebp - 4], esi
mov ebx, 7
mov dword [ebp - 0x14], ebx
mov eax, dword [eax]
push str..rsupsetv2
push eax
call fcn.0057b95c
add esp, 8
test eax, eax
sete al
test al, al
jne 0x41d563
push 0xa
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x18]
call fcn.0041deb0
mov dword [ebp - 4], ebx
push str..rsupsetv3
mov ebx, 0xf
push eax
mov dword [ebp - 0x14], ebx
call fcn.0041df80
add esp, 8
test al, al
jne 0x41d563
mov byte [ebp - 0xd], al
jmp 0x41d567
mov edi, 5
mov byte [ebp - 0xd], 1
mov dword [ebp - 4], esi
test bl, 8
je 0x41d597
and ebx, 0xfffffff7
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41d597
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], edi
test bl, 4
je 0x41d5c7
and ebx, 0xfffffffb
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d5c7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 4
mov dword [ebp - 4], eax
test bl, 2
je 0x41d5fc
and ebx, 0xfffffffd
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d5fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, 1
mov dword [ebp - 4], esi
test bl, 1
je 0x41d632
and ebx, 0xfffffffe
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d632
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [ebp - 0xd], 0
je 0x41d643
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1ac], esi
jmp 0x41d66d
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0x20]
push 0
push 0x1f4
push 0
push edx
mov dword [esi + 0x1ac], 0
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [esi + 0x1b0], 0
call fcn.0044699f
test eax, eax
je 0x41d67f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
call fcn.0044196e
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41d699
push 0x80004005
call fcn.004028f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x24], edi
mov bl, 0xd
mov byte [ebp - 4], bl
call fcn.0042d890
mov esi, eax
test esi, esi
je 0x41d719
mov eax, dword [esi + 0x21b78]
test eax, eax
je 0x41d6c7
cmp eax, 1
jne 0x41d719
mov eax, dword [esi + 0x88]
test eax, eax
je 0x41d6db
mov dword [eax + 0x2af8], 1
lea ecx, [ebp - 0x28]
push ecx
call fcn.0041db90
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp + 8]
add ecx, 0x228
push eax
call fcn.00402c20
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41d719
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp + 8]
push 5
lea ecx, [ebx + 0xc0]
call fcn.00450f72
mov esi, dword [esi + 0x21b78]
test esi, esi
je 0x41d738
cmp esi, 1
jne 0x41d754
push 0
push 0
push ebx
push 0x41d7b0
push 0
push 0
call fcn.0057ae6e
add esp, 0x18
mov dword [ebx + 0x1a8], eax
mov byte [ebp - 4], 1
lea eax, [edi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d774
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d79a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4