Function at 0x421010
Capabilities:
Create thread

Disassembly:
sub esp, 0x14
mov eax, dword [0x45ecd4]
push ebx
push ebp
push esi
push edi
mov edi, dword [0x45eccc]
cdq
mov ecx, eax
push 1
mov ebp, edx
push 0xeae0c6d3
mov eax, edi
cdq
push ebp
push ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ebp
mov ebx, eax
mov esi, edx
call fcn.004319f0
mov ebp, dword [0x45ece8]
push 1
imul ebp, ebp, 0x6b66a94
push 0x86050f76
push esi
push ebx
mov dword [esp + 0x20], eax
call fcn.004319f0
push 2
push 0xb57eb16
push esi
push ebx
mov dword [esp + 0x24], eax
call fcn.004319f0
mov ecx, dword [esp + 0x1c]
mov esi, eax
mov eax, dword [esp + 0x14]
push 2
sub esi, eax
mov eax, dword [esp + 0x24]
push 0xb57eb16
push eax
push ecx
call fcn.004319f0
mov ebx, dword [0x45ecdc]
mov ecx, dword [esp + 0x10]
imul ebx, ebx, 0x5295f78d
mov edx, edi
imul edx, edx, 0x140cef57
sub esi, eax
mov eax, dword [esp + 0x28]
sub esi, edx
add esi, ebp
add ebx, esi
add ebx, ecx
cmp eax, 0x132b600
mov dword [str._r_____r____], ebx
je 0x4210e4
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0x64
push 0x3e8
call edi
dec esi
jne 0x4210d0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret
mov esi, dword [0x45ecd0]
mov eax, esi
cdq
mov dword [esp + 0x14], eax
mov eax, dword [0x45ece4]
push 1
mov dword [esp + 0x1c], edx
cdq
push 0x5295f78d
push edx
push eax
call fcn.004319f0
mov ecx, eax
mov eax, 0x4d7937c3
mul esi
shr edx, 0x1e
push 1
mov eax, edx
mov edx, dword [esp + 0x1c]
push 0xebf310a9
sub eax, ecx
mov ecx, dword [esp + 0x1c]
push edx
push ecx
mov dword [esp + 0x38], eax
call fcn.004319f0
mov edx, dword [0x45ece0]
mov ecx, dword [esp + 0x28]
imul edx, edx, 0x7f4ea4e2
add ecx, eax
sub ecx, edx
mov eax, 0x2a01e433
imul esi
mov eax, dword [0x45ecc8]
imul eax, eax, 0x6181b446
sar edx, 0x1c
add ecx, edx
mov esi, edx
shr esi, 0x1f
add esi, ecx
add esi, eax
mov eax, dword [0x572b0c]
mov ecx, eax
inc eax
test ecx, ecx
mov dword [0x45ecc8], esi
mov dword [0x572b0c], eax
jle 0x4211e3
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push 1
push 0x5295f78d
push edx
push eax
call fcn.004319f0
mov ecx, eax
mov eax, 0x2a215c6f
mul edi
mov eax, dword [0x45ece0]
imul eax, eax, 0x140cef57
sub edi, edx
shr edi, 1
add edi, edx
mov edx, dword [esp + 0x10]
shr edi, 0x1f
add ecx, edi
sub ecx, eax
mov eax, dword [0x45ece4]
imul eax, eax, 0x6181b446
add ecx, eax
sub ecx, ebp
pop edi
sub ecx, ebx
pop esi
lea eax, [ecx + edx - 0x4f64023c]
pop ebp
mov dword [0x45eccc], eax
mov eax, 1
pop ebx
add esp, 0x14
ret
mov eax, dword [0x45ecdc]
push 2
cdq
push 0xb57eb16
push edx
push eax
mov dword [0x57282c], 0
call fcn.004319f0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push 0xfffffffffffffffe
push 0x4f64023c
push ecx
push edx
mov edi, eax
call fcn.004319f0
imul esi, esi, 0x5295f78d
mov ecx, dword [0x45ecd8]
mov ebx, eax
mov eax, ecx
imul eax, eax, 0xb57eb16
sub ebx, edi
add ebx, eax
mov eax, 0x2a01e433
imul ecx
sar edx, 0x1c
mov ecx, edx
lea eax, [esp + 0x28]
push eax
shr ecx, 0x1f
add ebx, edx
mov edx, dword [0x45ece4]
push 0
add ecx, ebx
push 0
add ecx, esi
push 0x420950
sub ecx, edx
push 0
lea edx, [ecx + ebp - 0x6181b446]
push 0
mov dword [0x45ecd0], edx
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [0x45ecdc]
push 1
mov eax, esi
cdq
push 0xeae0c6d3
push edx
push eax
call fcn.004319f0
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45ecd8]
add edx, ecx
imul ecx, ecx, 0x151f392d
imul edx, edx, 0x5295f78d
mov edi, eax
add edi, edx
mov eax, 0x2a215c6f
mul esi
mov eax, esi
imul esi, esi, 0x140cef57
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
sub edi, eax
sub edi, esi
sub edi, ecx
mov ecx, dword [0x45ece0]
lea edx, [edi + ecx - 0x6181b446]
pop edi
pop esi
pop ebp
mov dword [0x45ecd4], edx
mov eax, 1
pop ebx
add esp, 0x14
ret