Function at 0x463e41
Capabilities:
Create thread

Disassembly:
push 0x5c
mov eax, 0x473128
call fcn.0044f632
mov esi, ecx
mov dword [ebp - 0x10], esi
or dword [ebp - 0x14], 0xffffffff
lea edi, [esi + 0x48]
xor ebx, ebx
mov dword [ebp - 0x24], edi
mov dword [esi + 0x40], ebx
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x1c], 0x34
cmp eax, ecx
je 0x463e8d
push 0x34
mov esi, eax
mov edi, ecx
pop ebx
mov ecx, esi
call fcn.00409a70
add esi, ebx
cmp esi, edi
jne 0x463e78
mov edi, dword [ebp - 0x24]
xor ebx, ebx
mov esi, dword [ebp - 0x10]
mov eax, dword [edi]
mov ecx, ebx
mov dword [edi + 4], eax
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
sar eax, 2
mov dword [ebp - 0x18], ebx
test eax, eax
je 0x463f4e
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov eax, dword [eax + 0xc]
mov esi, dword [eax]
cmp esi, eax
je 0x463f36
lea eax, [ebp - 0x24]
lea edx, [esi + 8]
push eax
lea ecx, [ebp - 0x68]
call fcn.0040cb84
pop ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], ebx
mov ecx, dword [edi + 4]
cmp eax, ecx
jae 0x463efe
cmp dword [edi], eax
ja 0x463efe
sub eax, dword [edi]
cdq
idiv dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp ecx, dword [edi + 8]
jne 0x463ef7
push ecx
mov ecx, edi
call fcn.0040ca5c
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x34
add eax, dword [edi]
jmp 0x463f0e
cmp ecx, dword [edi + 8]
jne 0x463f0e
push ecx
mov ecx, edi
call fcn.0040ca5c
mov eax, dword [ebp - 0x20]
push eax
push dword [edi + 4]
call fcn.0040cba8
push 0x34
pop eax
add dword [edi + 4], eax
lea ecx, [ebp - 0x68]
or dword [ebp - 4], 0xffffffff
call fcn.00409a70
mov eax, dword [ebp - 0x28]
mov esi, dword [esi]
cmp esi, dword [eax + 0xc]
jne 0x463ebd
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x18], ecx
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0xc]
sar eax, 2
cmp ecx, eax
jb 0x463ea8
mov eax, dword [edi + 4]
sub eax, dword [edi]
push 0x34
cdq
pop ecx
idiv ecx
xor edx, edx
inc edx
cmp eax, edx
jbe 0x464040
mov ecx, dword [esi + 0x3c]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x464040
cmp dword [esi + 0x44], ebx
jne 0x464040
mov eax, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 4], edx
mov eax, dword [edi + 4]
sub eax, dword [edi]
cdq
idiv dword [ebp - 0x1c]
dec eax
cmp ecx, eax
jb 0x463fab
mov eax, dword [edi + 4]
sub eax, dword [edi]
push 0x34
pop ecx
cdq
idiv ecx
lea ecx, [eax - 1]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x463ffc
mov edi, dword [ebp - 0x18]
push 0xc
call fcn.004261dc
pop ecx
test eax, eax
jne 0x463fc2
mov eax, ebx
jmp 0x463fe3
push ebx
push ebx
push eax
push 0x40cbdb
lea ecx, [ebp - 0x14]
mov dword [eax], esi
push ebx
push ebx
mov dword [eax + 8], ecx
mov dword [eax + 4], fcn.00463db8
call fcn.0042ec2b
add esp, 0x18
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x34]
lea eax, [ebp - 0x28]
push eax
call fcn.00403edf
sub edi, 1
jne 0x463fb2
mov edi, dword [ebp - 0x30]
jmp 0x463fff
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x14]
mov ecx, esi
push eax
call fcn.00463db8
mov eax, dword [ebp - 0x34]
sub edi, eax
push 0xffffffffffffffff
push 1
push eax
sar edi, 2
push edi
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
test edi, edi
je 0x464036
mov esi, dword [ebp - 0x34]
push dword [esi + ebx*4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc ebx
cmp ebx, edi
jb 0x464025
mov esi, dword [ebp - 0x10]
lea ecx, [ebp - 0x34]
call fcn.00403f32
jmp 0x46404b
lea eax, [ebp - 0x14]
mov ecx, esi
push eax
call fcn.00463db8
mov eax, dword [esi + 0x40]
call fcn.0044f60c
ret