Function at 0x414ac2
Capabilities:
Create thread

Disassembly:
push 0x74
mov eax, 0x4ae9ae
call fcn.0048f48f
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x5c], esi
call fcn.0042f326
push str.success
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], ebx
call fcn.0042f2f7
lea eax, [ebp - 0x6c]
push eax
push 0x4c0c00
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 1
call fcn.0042f5f2
mov ecx, eax
call fcn.0042f4ab
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], bl
call fcn.0042f451
push str.callbackId
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00430238
test al, al
jne 0x414b9d
push str.writeFile_callbackId_not_exist
lea ecx, [ebp - 0x58]
call fcn.00401b1e
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 3
call fcn.00438012
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 4
call fcn.0042f275
push 0x4c0c00
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 5
call fcn.0042f5f2
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, eax
call fcn.0042f4ab
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 4
call fcn.0042f451
lea ecx, [ebp - 0x34]
call fcn.00401056
mov ecx, dword [ebp - 0x58]
lea ecx, [ecx - 0x10]
call fcn.00407864
mov byte [ebp - 4], bl
jmp 0x414d85
push 0x10
call fcn.0048e498
mov esi, eax
pop ecx
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 6
test esi, esi
je 0x414bbc
push ebx
mov ecx, esi
call fcn.0042f326
jmp 0x414bbe
mov esi, ebx
push edi
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.0042f4ab
lea eax, [ebp - 0x70]
push eax
push ebx
push esi
push 0x414ebb
push ebx
push ebx
mov dword [ebp - 0x70], ebx
call fcn.004920f6
add esp, 0x18
test eax, eax
jne 0x414c92
test esi, esi
je 0x414bfc
mov ecx, esi
call fcn.0042f451
push esi
call fcn.0048e469
pop ecx
call fcn.00491902
push dword [eax]
lea eax, [ebp - 0x1c]
push eax
call fcn.0042c341
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x58]
push str.writeFile_beginthreadex_
push eax
mov byte [ebp - 4], 7
call fcn.00409288
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 9
lea ecx, [ecx - 0x10]
call fcn.00407864
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00438012
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0xa
call fcn.0042f275
push 0x4c0c00
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0xb
call fcn.0042f5f2
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, eax
call fcn.0042f4ab
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0xa
call fcn.0042f451
lea ecx, [ebp - 0x34]
call fcn.00401056
mov ecx, dword [ebp - 0x58]
lea ecx, [ecx - 0x10]
call fcn.00407864
mov byte [ebp - 4], bl
jmp 0x414d82
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.004114d9
test al, al
jne 0x414cba
call fcn.0048f9e0
mov edx, dword [0x507340]
cmp edx, eax
jne 0x414cc0
dec edx
mov dword [0x507340], edx
jmp 0x414cc0
mov edx, dword [0x507340]
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
push 0x12
cdq
pop ecx
idiv ecx
cmp edx, 0xf
jne 0x414d7f
mov esi, str.bdbtZQ
lea edi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x1c]
push eax
movsb byte es:[edi], byte [esi]
call fcn.0048ec80
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048dbeb
pop ecx
pop ecx
push eax
call fcn.0048fbd7
pop ecx
jmp 0x414d7f
mov dword [ebp - 4], ebx
mov esi, dword [ebp - 0x5c]
lea ecx, [ebp - 0x54]
call fcn.00430a82
mov ecx, dword [0x507340]
mov eax, ecx
imul eax, ecx
imul eax, ecx
push 0x18
cdq
pop ecx
idiv ecx
mov byte [ebp - 4], 0x10
cmp edx, 6
jne 0x414db4
call fcn.0048f9e0
mov dword [0x507340], eax
push 0x505ab0
lea ecx, [ebp - 0x58]
call fcn.00408fd9
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x11
call fcn.00432bf9
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x12
jb 0x414de1
mov eax, dword [eax]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401027
lea eax, [ebp - 0x1c]
push eax
call fcn.00437fc7
add esp, 0x1c
push eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x13
call fcn.00402394
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.00407864
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x11
call fcn.00401056
push 8
pop eax
mov word [esi], ax
call fcn.0041143d
test al, al
jne 0x414e7a
movd xmm4, dword [0x507340]
movsd xmm3, qword [0x4c0b60]
xorps xmm2, xmm2
cvtdq2pd xmm4, xmm4
addsd xmm2, xmm3
movapd xmm0, xmm2
mulsd xmm0, xmm2
comisd xmm0, xmm4
jbe 0x414e60
subsd xmm2, xmm3
divsd xmm3, qword [0x4c0b68]
movapd xmm1, xmm2
mulsd xmm1, xmm2
movapd xmm0, xmm4
subsd xmm0, xmm1
comisd xmm0, xmmword [0x4c0b58]
ja 0x414e42
mov esi, dword [ebp - 0x58]
push dword [esi - 0xc]
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
test eax, eax
jne 0x414e90
call fcn.00409bd9
mov ecx, dword [ebp - 0x5c]
mov dword [ecx + 8], eax
lea ecx, [esi - 0x10]
call fcn.00407864
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], bl
call fcn.004090f2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call fcn.0042f451
call fcn.0048f3e1
ret