Function at 0x41c980
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c63cf
mov eax, dword fs:[0]
push eax
sub esp, 0x11c
mov eax, dword [0x51eee0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
push 0
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x104], ebx
call fcn.00442860
push str.success
lea ecx, [ebp - 0x114]
mov dword [ebp - 4], 0
call fcn.00442820
lea eax, [ebp - 0x114]
push eax
push 0x4d968c
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 1
call fcn.00442d00
mov ecx, eax
call fcn.00442b10
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0
call fcn.00442a70
push str.callbackId
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.00443e00
test al, al
jne 0x41cad2
push str.writeFile_callbackId_not_exist
lea ecx, [ebp - 0xfc]
call fcn.00401ff0
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 3
call fcn.0044ef60
add esp, 8
push eax
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 4
call fcn.00442780
push 0x4d968c
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 5
call fcn.00442d00
lea ecx, [ebp - 0x114]
push ecx
mov ecx, eax
call fcn.00442b10
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 4
call fcn.00442a70
cmp dword [ebp - 0x18], 0x10
jb 0x41caa3
push dword [ebp - 0x2c]
call fcn.004a5bbe
add esp, 4
mov edx, dword [ebp - 0xfc]
add edx, 0xfffffff0
or edi, 0xffffffff
mov byte [ebp - 4], 2
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x41cac9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
jmp 0x41ccd5
push 0x10
call fcn.004a5bed
mov ebx, eax
add esp, 4
mov dword [ebp - 0x100], ebx
mov byte [ebp - 4], 6
test ebx, ebx
je 0x41caf7
push 0
mov ecx, ebx
call fcn.00442860
jmp 0x41caf9
xor ebx, ebx
push esi
mov ecx, ebx
mov byte [ebp - 4], 2
call fcn.00442b10
lea eax, [ebp - 0x118]
push eax
push 0
push ebx
push 0x41cee0
push 0
push 0
mov dword [ebp - 0x118], 0
call fcn.004a7e9c
mov esi, dword [0x520340]
mov ecx, eax
mov eax, esi
imul eax, esi
cdq
mov edi, 0x17
idiv edi
add esp, 0x18
mov dword [ebp - 0xfc], ecx
cmp edx, 0x11
jne 0x41cbae
mov eax, 0xa57eb503
imul esi
add edx, esi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x63
mov eax, esi
sub eax, ecx
xor edi, edi
cmp eax, 0x66
je 0x41cba2
jmp 0x41cb70
mov eax, esi
or eax, 0xffffff1b
add esi, eax
mov eax, esi
imul eax, esi
inc edi
cmp edi, eax
jg 0x41cba2
mov eax, 0xa57eb503
imul esi
add edx, esi
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0x63
mov eax, esi
sub eax, ecx
cmp eax, 0x66
jne 0x41cb70
mov ecx, dword [ebp - 0xfc]
mov dword [0x520340], edi
test ecx, ecx
jne 0x41cca2
test ebx, ebx
je 0x41cbca
mov ecx, ebx
call fcn.00442a70
push ebx
call fcn.004a5bbe
add esp, 4
call fcn.004a76e6
push dword [eax]
lea eax, [ebp - 0x100]
push eax
call fcn.0043e100
add esp, 8
push eax
lea eax, [ebp - 0xfc]
push str.writeFile_beginthreadex_
push eax
mov byte [ebp - 4], 7
call fcn.0040b800
add esp, 0xc
mov edx, dword [ebp - 0x100]
add edx, 0xfffffff0
or edi, 0xffffffff
mov byte [ebp - 4], 9
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x41cc1f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0044ef60
add esp, 8
push eax
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0xa
call fcn.00442780
push 0x4d968c
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0xb
call fcn.00442d00
lea ecx, [ebp - 0x114]
push ecx
mov ecx, eax
call fcn.00442b10
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0xa
call fcn.00442a70
cmp dword [ebp - 0x18], 0x10
jb 0x41cc84
push dword [ebp - 0x2c]
call fcn.004a5bbe
add esp, 4
mov edx, dword [ebp - 0xfc]
add edx, 0xfffffff0
mov byte [ebp - 4], 2
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jmp 0x41cabf
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x520340]
imul eax, eax
cdq
mov ecx, 0xd
idiv ecx
cmp edx, 6
jne 0x41cccb
lea eax, [ebp - 0xf8]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
or edi, 0xffffffff
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x4c]
call fcn.004449b0
mov eax, dword [0x51eab0]
mov ecx, 0x51eab0
mov byte [ebp - 4], 0x10
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x11
call fcn.004478c0
mov edx, eax
cmp dword [edx + 0x14], 0x10
mov byte [ebp - 4], 0x12
jb 0x41cd1c
mov edx, dword [edx]
sub esp, 0x18
mov esi, esp
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov byte [esi], 0
cmp byte [edx], 0
jne 0x41cdc3
xor ecx, ecx
jmp 0x41cdd1
mov ecx, edx
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41cdc8
sub ecx, ebx
push ecx
push edx
mov ecx, esi
call fcn.00401460
lea eax, [ebp - 0x100]
push eax
call fcn.0044ee90
add esp, 0x1c
push eax
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 0x13
call fcn.00402af0
mov edx, dword [ebp - 0x100]
add edx, 0xfffffff0
mov byte [ebp - 4], 0x12
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41ce1c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x18], 0x10
mov byte [ebp - 4], 0x11
jb 0x41ce31
push dword [ebp - 0x2c]
call fcn.004a5bbe
add esp, 4
mov ebx, dword [ebp - 0x104]
mov esi, dword [ebp - 0xfc]
mov eax, 8
mov word [ebx], ax
push dword [esi - 0xc]
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
test eax, eax
jne 0x41ce58
call fcn.0040c2e0
add esi, 0xfffffff0
mov dword [ebx + 8], eax
mov byte [ebp - 4], 0x10
lea eax, [esi + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x41ce76
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x34], 0x10
mov byte [ebp - 4], 0
mov dword [ebp - 0x4c], 0x4d9684
jb 0x41ce92
push dword [ebp - 0x48]
call fcn.004a5bbe
add esp, 4
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x48], 0
call fcn.00444ab0
lea ecx, [ebp - 0x128]
mov dword [ebp - 4], 0xffffffff
call fcn.00442a70
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004a63c4
mov esp, ebp
pop ebp
ret