Function at 0x4102c0
Capabilities:
Create thread

Disassembly:
mov ecx, dword [0x4508ec]
sub esp, 8
imul ecx, ecx, 0x30f
push esi
mov esi, dword [0x4508d8]
mov eax, 0x68fed1fd
imul esi
sub edx, esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
push edi
mov edi, eax
sub edi, ecx
mov ecx, dword [0x4508dc]
mov eax, 0xa8791709
imul ecx
mov eax, dword [esp + 0x14]
add edx, ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add edi, edx
cmp eax, 0x132b600
lea edx, [ecx + edi + 0x456]
mov dword [0x4508dc], edx
je 0x410342
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0x64
lea ebx, [ebx]
push 0x3e8
call edi
dec esi
jne 0x410330
pop edi
xor eax, eax
pop esi
add esp, 8
ret
mov edi, dword [0x4508d0]
imul esi, esi, 0x30f
mov eax, 0xb61d7045
imul edi
sar edx, 8
push ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4508d4]
mov ebx, edi
imul edx, edx, 0x315
imul ebx, ebx, 0x3a7
mov ecx, eax
sub ecx, ebx
add ecx, edx
mov edx, dword [0x4508e8]
add ecx, esi
mov esi, dword [0x4508cc]
mov eax, 0x197b05f9
imul esi, esi, 0x2a4
imul edx
mov dword [0x4508e0], ecx
imul ecx, ecx, 0x1b2
sar edx, 6
mov eax, edx
shr eax, 0x1f
push ebp
add eax, edx
sub esi, eax
add esi, ecx
lea ecx, [esp + 0x10]
push ecx
push 0
push 0
push 0x405e80
sub esi, edi
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
sub esi, 0x163
push 0
mov dword [0x4508e8], esi
call edi
mov ecx, dword [0x4508e0]
mov esi, eax
mov eax, 0x8c2f17d3
imul ecx
add edx, ecx
mov ecx, dword [0x4508e8]
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0xb61d7045
imul ecx
mov eax, dword [0x4508cc]
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x4508e4]
imul edx, edx, 0x315
sub ecx, ebx
sub ecx, edx
add ecx, dword [str._r_____r_____n]
lea ecx, [eax + ecx - 0x30e]
push esi
mov dword [0x4508cc], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [0x4508e0]
mov ecx, dword [0x4508d4]
mov eax, 0x197b05f9
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x21d814d3
mov ebp, dword [0x4508e4]
imul ecx
sub edx, ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [0x4508ec]
sub edx, ebx
sub edx, ebp
lea eax, [edx + ecx - 0x30e]
mov dword [0x4508d4], eax
mov eax, dword [0x462c58]
mov edx, eax
inc eax
test edx, edx
mov dword [0x462c58], eax
jle 0x4106b6
mov edi, dword [0x4508dc]
mov ebx, dword [0x4508d0]
mov eax, 0x60f25deb
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, edi
imul ebp, ebp, 0x377
mov edx, ebx
imul edx, edx, 0x1a8
sub ebp, eax
add ebp, dword [0x4508e8]
lea ebp, [edx + ebp - 0x15c]
mov eax, 0x462ce0
lea edx, [eax + 1]
mov dword [0x4508d8], ebp
mov dword [esp + 0x1c], edx
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4104f0
sub eax, dword [esp + 0x1c]
cmp eax, 5
jbe 0x41067a
mov eax, 0x68fed1fd
imul ecx, ecx, 0x30f
imul ebp
sub edx, ebp
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0xa8791709
imul edi
add edx, edi
sar edx, 8
sub esi, ecx
mov ecx, edx
shr ecx, 0x1f
add esi, edx
lea edx, [ecx + esi + 0x456]
push 0x462ce0
mov dword [0x4508dc], edx
mov dword [0x463de4], 0
call fcn.00419980
mov edx, dword [0x4508d0]
mov ecx, eax
mov esi, edx
mov eax, 0xb61d7045
imul esi, esi, 0x3a7
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4508d4]
imul edx, edx, 0x315
sub eax, esi
add eax, edx
mov edx, dword [0x4508d8]
imul edx, edx, 0x30f
push 0
push 0
push 0
add eax, edx
push 0
mov dword [0x4508e0], eax
mov eax, dword [0x462c04]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x2c]
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [0x4508d0]
mov ecx, dword [str._r_____r_____n]
mov eax, 0xde27eb2d
imul ecx, ecx, 0x24e
imul ebx
add edx, ebx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4508dc]
sub ecx, eax
imul edx, edx, 0x222
lea eax, [ecx + edx - 0x30e]
mov dword [0x4508e4], eax
mov eax, 0x462ce0
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410600
sub eax, esi
cmp eax, 0x100
jae 0x410623
xor eax, eax
mov cl, byte [eax + 0x462ce0]
mov byte [eax + 0x4634e0], cl
inc eax
test cl, cl
jne 0x410612
mov ecx, dword [0x4508e8]
mov edi, dword [0x4508cc]
mov esi, dword [0x4508e0]
imul edi, edi, 0x2a4
mov eax, 0x197b05f9
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, esi
imul edx, edx, 0x1b2
sub edi, ecx
add edi, edx
sub edi, ebx
sub edi, 0x163
mov dword [0x4508e8], edi
mov ecx, 0x200
xor eax, eax
mov edi, 0x462ce0
rep stosd dword es:[edi], eax
mov ecx, dword [0x4508ec]
mov eax, 0xa61fcc17
imul ecx, ecx, 0x185
imul esi
add edx, esi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4508d4]
sub ecx, eax
pop ebp
sub ecx, ebx
pop ebx
lea eax, [ecx + edx + 0xd7]
pop edi
mov dword [str._r_____r_____n], eax
mov eax, 1
pop esi
add esp, 8
ret
mov esi, dword [0x4508d8]
imul ecx, ecx, 0x30f
mov eax, 0x68fed1fd
imul esi
sub edx, esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
sub esi, ecx
mov ecx, dword [0x4508dc]
mov eax, 0xa8791709
imul ecx
add edx, ecx
lea eax, [esp + 0x14]
push eax
push 0
sar edx, 8
push 0
mov ecx, edx
push 0x40fc60
shr ecx, 0x1f
add esi, edx
push 0
lea edx, [ecx + esi + 0x456]
push 0
mov dword [0x4508dc], edx
call edi
pop ebp
pop ebx
pop edi
mov dword [0x450778], eax
mov eax, 1
pop esi
add esp, 8
ret