Function at 0x5f1c40
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x780ac8
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x84dea4]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
mov edx, dword [eax + 0x5c]
call edx
cmp eax, 0xffffffff
je 0x5f1e72
mov edi, eax
mov eax, dword [esi + 0x6c]
imul edi, edi, 0xa4
mov ebx, dword [edi + eax + 0x98]
cmp ebx, 0x64
mov dword [esp + 0x18], edi
jge 0x5f1e72
xor ebp, ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
push ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], ebp
call fcn.004cb700
xor eax, eax
cmp ebx, ebp
jle 0x5f1ce2
xor ecx, ecx
mov edx, dword [esi + 0x6c]
mov edx, dword [edi + edx + 0x9c]
mov edx, dword [ecx + edx]
mov ebp, dword [esp + 0x28]
mov dword [ebp + eax*8 + 4], edx
add eax, 1
add ecx, 0x2c
cmp eax, ebx
jl 0x5f1cc3
lea ecx, [esp + 0x20]
call fcn.004be340
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x6c]
mov ebp, dword [edi + eax + 0x98]
lea edi, [edi + eax + 0x94]
add ebp, 1
cmp ebp, dword [edi]
jbe 0x5f1d32
mov ecx, dword [edi + 0xc]
test ecx, ecx
jne 0x5f1d18
push ebp
mov ecx, edi
call fcn.004c9880
mov ecx, eax
xor edx, edx
mov eax, ebp
div ecx
test edx, edx
je 0x5f1d28
sub ecx, edx
add ecx, ebp
jmp 0x5f1d2a
mov ecx, ebp
push ecx
mov ecx, edi
call fcn.004cad80
mov ecx, dword [edi + 4]
mov eax, ecx
imul eax, eax, 0x2c
add eax, dword [edi + 8]
xor ebp, ebp
add ecx, 1
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebp
mov dword [eax + 0x14], ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x1c], ebp
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], ebp
mov dword [eax + 0x28], ebp
mov ecx, dword [esp + 0x24]
add ecx, 1
add ebx, 1
cmp ecx, dword [esp + 0x20]
jbe 0x5f1dce
mov edi, dword [esp + 0x2c]
cmp edi, ebp
jne 0x5f1db2
cmp ecx, 0x20
mov edi, ecx
jae 0x5f1da5
lea eax, [ecx - 1]
and eax, ecx
je 0x5f1d99
nop
mov edi, eax
lea eax, [edi - 1]
and eax, edi
jne 0x5f1d90
cmp edi, 1
jae 0x5f1db2
mov edi, 1
jmp 0x5f1db2
mov dword [esp + 0x2c], 0x20
mov edi, 0x20
xor edx, edx
mov eax, ecx
div edi
cmp edx, ebp
je 0x5f1dc2
sub edi, edx
add edi, ecx
jmp 0x5f1dc4
mov edi, ecx
push edi
lea ecx, [esp + 0x24]
call fcn.004cacf0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
lea eax, [edx + ecx*8]
add ecx, 1
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], ecx
push ebp
lea edx, [ebx - 1]
lea ecx, [esp + 0x24]
call fcn.004c1320
xor eax, eax
cmp ebx, ebp
jle 0x5f1e23
xor ecx, ecx
lea esp, [esp]
mov edx, dword [esi + 0x6c]
mov edi, dword [esp + 0x18]
mov edx, dword [edi + edx + 0x9c]
mov edi, dword [esp + 0x28]
mov edi, dword [edi + eax*8 + 4]
mov dword [ecx + edx], edi
add eax, 1
add ecx, 0x2c
cmp eax, ebx
jl 0x5f1e00
mov ecx, dword [esi + 0x3c]
push 0xffffffffffffffff
call fcn.0040f630
mov eax, dword [esi + 0x6c]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + eax + 0x98]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx]
sub eax, 1
lea edi, [eax + 1]
mov eax, dword [edx + 0x58]
push edi
call eax
mov ecx, dword [esi + 0x3c]
push edi
call fcn.0040c3a0
mov ecx, esi
call fcn.005f1a20
mov eax, dword [esp + 0x28]
cmp eax, ebp
je 0x5f1e72
push ebp
push 0xfffffffffffffffe
push str.._AUObjectChance__
push eax
call sub.Storm.dll_Ordinal_403
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret