Function at 0x420320
Capabilities:
Create thread

Disassembly:
sub esp, 8
mov eax, dword [0x45dbd8]
push ebx
push ebp
push esi
push edi
push 2
cdq
push 0xbeb5aaf
push edx
push eax
call fcn.004305f0
mov ebp, eax
mov eax, dword [0x45dbd4]
cdq
mov esi, eax
mov eax, dword [0x45dbcc]
push 2
mov edi, edx
cdq
push 0xbeb5aaf
push edx
push eax
mov dword [esp + 0x24], ebp
call fcn.004305f0
push 1
push 0xba7a7bcd
push edi
push esi
mov dword [esp + 0x20], eax
call fcn.004305f0
mov ecx, dword [esp + 0x10]
push 2
push 0x1b912b5c
push edi
sub ecx, eax
push esi
mov dword [esp + 0x20], ecx
call fcn.004305f0
mov ecx, dword [esp + 0x10]
mov ebx, dword [0x45dbdc]
mov edi, dword [0x45dbe0]
add ecx, eax
mov eax, ebx
imul eax, eax, 0x6d4760f7
mov esi, edi
imul esi, esi, 0x264da184
add eax, ebp
add eax, ecx
add esi, eax
cmp dword [esp + 0x1c], 0x132db2c
mov dword [0x45dbc4], esi
je 0x4203e4
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0x64
lea esp, [esp]
push 0x3e8
call edi
dec esi
jne 0x4203d0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret
push 1
mov eax, ebx
cdq
push 0xc6fcd893
push edx
push eax
call fcn.004305f0
mov dword [esp + 0x1c], eax
mov ecx, dword [0x45dbd0]
mov eax, 0x1f64bb9f
mul edi
mov eax, dword [esp + 0x1c]
shr edx, 0x1c
sub eax, edx
mov dword [esp + 0x1c], eax
mov eax, 0x2d0ae8c5
mul ecx
mov eax, dword [esp + 0x1c]
sub ecx, edx
mov ebp, dword [0x45dbe4]
shr ecx, 1
add ecx, edx
shr ecx, 0x1f
add eax, ecx
mov ecx, edi
imul ecx, ecx, 0x3053d3f1
add eax, ecx
mov ecx, eax
mov eax, 0x45291d0f
imul ebp
sar edx, 0x1d
add ecx, edx
mov eax, edx
mov edx, dword [0x45dbd8]
imul edx, edx, 0x7672ee00
shr eax, 0x1f
add eax, ecx
mov ecx, dword [0x571b0c]
add eax, edx
mov edx, ecx
inc ecx
test edx, edx
push 2
mov dword [0x45dbc8], eax
mov dword [0x571b0c], ecx
push 0xbeb5aaf
jle 0x4204eb
cdq
push edx
push eax
call fcn.004305f0
mov ebp, eax
push 1
mov eax, edi
cdq
push 0xba7a7bcd
push edx
push eax
call fcn.004305f0
imul esi, esi, 0x1531b042
add ebp, eax
mov eax, 0x1f64bb9f
mul dword [0x45dbd0]
shr edx, 0x1c
sub ebp, edx
mov eax, 0x9a168f41
mul ebx
mov ecx, dword [esp + 0x14]
shr edx, 0x1f
add ebp, edx
mov eax, 0x45291d0f
imul dword [0x45dbd4]
sar edx, 0x1d
sub ebp, esi
mov eax, edx
shr eax, 0x1f
add ebp, edx
pop edi
add eax, ebp
pop esi
sub eax, ecx
pop ebp
mov dword [0x45dbcc], eax
mov eax, 1
pop ebx
add esp, 8
ret
mov ebx, dword [0x45dbe8]
mov eax, ebx
cdq
push edx
push eax
mov dword [0x57182c], 0
call fcn.004305f0
imul esi, esi, 0xf414a551
imul ebx, ebx, 0x1531b042
sub esi, eax
imul ebp, ebp, 0x7d86eec7
mov eax, 0x9a168f41
mul dword [0x45dbd0]
shr edx, 0x1f
sub esi, edx
mov eax, 0x45291d0f
imul dword [0x45dbd8]
sar edx, 0x1d
lea eax, [esp + 0x1c]
push eax
push 0
mov ecx, edx
sub esi, ebx
shr ecx, 0x1f
add esi, edx
push 0
add ecx, esi
push 0x41fcb0
sub ecx, ebp
push 0
lea edx, [ecx + edi - 0x7672ee00]
push 0
mov dword [0x45dbd0], edx
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x45dbdc]
cdq
push 1
push 0x388a7f11
mov edi, edx
mov esi, eax
push edi
push esi
call fcn.004305f0
push 2
push 0x1b912b5c
push edi
push esi
mov ebx, eax
call fcn.004305f0
mov ecx, dword [0x45dbe8]
mov edx, dword [0x45dbc4]
imul ecx, ecx, 0x1b912b5c
mov edi, dword [0x45dbe4]
imul edx, edx, 0x4f22272
sub eax, ebx
add eax, ecx
mov ecx, dword [0x45dbc8]
imul ecx, ecx, 0x264da184
add edx, edi
pop edi
add edx, eax
pop esi
lea edx, [ecx + edx + 0x7672ee00]
pop ebp
mov dword [0x45dbd4], edx
mov eax, 1
pop ebx
add esp, 8
ret