Function at 0x41159a
Capabilities:
Create thread

Disassembly:
push 0x70
mov eax, 0x4ae077
call fcn.0048f48f
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x58], esi
call fcn.0042f326
push str.success
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], ebx
call fcn.0042f2f7
lea eax, [ebp - 0x68]
push eax
push 0x4c0c00
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 1
call fcn.0042f5f2
mov ecx, eax
call fcn.0042f4ab
lea ecx, [ebp - 0x68]
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 0x411675
push str.readFile_callbackId_not_exist
lea ecx, [ebp - 0x50]
call fcn.00401b1e
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 3
call fcn.00438012
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 4
call fcn.0042f275
push 0x4c0c00
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 5
call fcn.0042f5f2
lea ecx, [ebp - 0x68]
push ecx
mov ecx, eax
call fcn.0042f4ab
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 4
call fcn.0042f451
lea ecx, [ebp - 0x2c]
call fcn.00401056
mov ecx, dword [ebp - 0x50]
lea ecx, [ecx - 0x10]
call fcn.00407864
mov byte [ebp - 4], bl
jmp 0x411872
push 0x10
call fcn.0048e498
mov esi, eax
pop ecx
mov dword [ebp - 0x54], esi
mov byte [ebp - 4], 6
test esi, esi
je 0x411694
push ebx
mov ecx, esi
call fcn.0042f326
jmp 0x411696
mov esi, ebx
push edi
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.0042f4ab
mov ecx, dword [0x507340]
push 0xe
lea eax, [ecx + 1]
imul eax, ecx
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x6c], ebx
cmp edx, 7
jne 0x4116d9
push 4
call fcn.0048e498
pop ecx
mov edi, eax
call fcn.0048f9e0
mov dword [edi], eax
push edi
mov dword [0x507340], eax
call fcn.0048e469
pop ecx
lea eax, [ebp - 0x6c]
push eax
push ebx
push esi
push 0x411946
push ebx
push ebx
call fcn.004920f6
add esp, 0x18
test eax, eax
jne 0x4117ad
call fcn.00411254
test al, al
jne 0x411705
dec dword [0x507340]
test esi, esi
je 0x411717
mov ecx, esi
call fcn.0042f451
push esi
call fcn.0048e469
pop ecx
call fcn.00491902
push dword [eax]
lea eax, [ebp - 0x54]
push eax
call fcn.0042c341
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x50]
push str.readFile_beginthreadex_
push eax
mov byte [ebp - 4], 7
call fcn.00409288
add esp, 0xc
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 4], 9
lea ecx, [ecx - 0x10]
call fcn.00407864
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00438012
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xa
call fcn.0042f275
push 0x4c0c00
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0xb
call fcn.0042f5f2
lea ecx, [ebp - 0x68]
push ecx
mov ecx, eax
call fcn.0042f4ab
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xa
call fcn.0042f451
lea ecx, [ebp - 0x2c]
call fcn.00401056
mov ecx, dword [ebp - 0x50]
lea ecx, [ecx - 0x10]
call fcn.00407864
mov byte [ebp - 4], bl
jmp 0x41186f
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x507340]
imul eax, eax
push 0xf
cdq
pop ecx
idiv ecx
cmp edx, 3
jne 0x41186c
push 0x28
call fcn.0048dbeb
pop ecx
mov edi, eax
mov esi, ebx
call fcn.0048f9e0
add eax, dword [0x507340]
mov dword [edi + esi*4], eax
inc esi
cmp esi, 0xa
jl 0x4117d7
mov eax, dword [edi + 0x24]
push edi
mov dword [0x507340], eax
call fcn.0048fbd7
pop ecx
jmp 0x41186c
mov dword [ebp - 4], ebx
mov esi, dword [ebp - 0x58]
lea ecx, [ebp - 0x4c]
call fcn.00430a82
mov byte [ebp - 4], 0x10
call fcn.004111f5
test al, al
jne 0x411897
push 4
call fcn.0048e498
pop ecx
mov ecx, dword [0x507340]
mov dword [eax], ecx
push 0x505ab0
lea ecx, [ebp - 0x50]
call fcn.00408fd9
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x11
call fcn.00432bf9
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x12
jb 0x4118c4
mov eax, dword [eax]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00401027
lea eax, [ebp - 0x54]
push eax
call fcn.00437fc7
add esp, 0x1c
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x13
call fcn.00402394
mov ecx, dword [ebp - 0x54]
lea ecx, [ecx - 0x10]
call fcn.00407864
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x11
call fcn.00401056
push 8
pop eax
mov word [esi], ax
mov esi, dword [ebp - 0x50]
push dword [esi - 0xc]
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
test eax, eax
jne 0x41191b
call fcn.00409bd9
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 8], eax
lea ecx, [esi - 0x10]
call fcn.00407864
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], bl
call fcn.004090f2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7c]
call fcn.0042f451
call fcn.0048f3e1
ret