Function at 0x4581e0
Capabilities:
Check os version
Get number of processors

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x55ecc6
push eax
mov eax, 0x109c
mov dword fs:[0], esp
call fcn.00526b50
mov eax, dword [0x700320]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x4c], eax
xor ebx, ebx
mov dword [esp + 0x50], eax
mov dword [esp + 0x10b4], ebx
lea eax, [esp + 0x18]
lea ecx, [esp + 0x30]
push eax
lea edx, [esp + 0x24]
push ecx
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x24]
push ecx
lea eax, [esp + 0x30]
push edx
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x48]
push ecx
or edi, 0xffffffff
push edx
push ebx
mov byte [esp + 0x10dc], 1
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x6c], ebx
call fcn.0047b650
push ebx
call fcn.004dcde0
mov eax, dword [esp + 0x10e8]
add esp, 0x2c
lea ecx, [esp + 0x4c]
push eax
call fcn.005443e7
push 1
lea ecx, [esp + 0x54]
push 0x686ccc
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.004e14b0
lea eax, [esp + 0x60]
push eax
call fcn.004e1b80
add esp, 0x14
cmp eax, ebx
mov dword [esp + 0x68], eax
je 0x458da2
mov ecx, eax
push ecx
call fcn.004dddd0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x458da2
mov esi, dword [esp + 0x10c0]
push esi
call fcn.00401bb0
add esp, 4
mov dword [esp + 0x5c], eax
test eax, eax
je 0x4584f8
mov esi, dword [esi + 0x3c2a8]
test esi, esi
je 0x4584f8
mov eax, dword [esi + 0x1d0]
test eax, eax
je 0x45835c
push eax
lea edx, [esp + 0xb0]
push str.CATALOG___s__r_n
push edx
call fcn.00526ec2
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x50]
push eax
push ecx
push edx
push 0xffffffffffffffff
lea eax, [esp + 0xe0]
push 0xffffffffffffffff
push eax
push ebx
call fcn.004dfb00
add esp, 0x40
test eax, eax
jle 0x458da2
mov eax, dword [esi + 0x19c]
test eax, eax
je 0x4583c3
push eax
lea ecx, [esp + 0xb0]
push str.PERFORMER___s__r_n
push ecx
call fcn.00526ec2
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x50]
push edx
push eax
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0xe0]
push 0xffffffffffffffff
push edx
push ebx
call fcn.004dfb00
add esp, 0x40
test eax, eax
jle 0x458da2
mov eax, dword [esi + 0x1a0]
test eax, eax
je 0x45842a
push eax
lea eax, [esp + 0xb0]
push str.SONGWRITER___s__r_n
push eax
call fcn.00526ec2
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x50]
push ecx
push edx
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0xe0]
push 0xffffffffffffffff
push ecx
push ebx
call fcn.004dfb00
add esp, 0x40
test eax, eax
jle 0x458da2
mov eax, dword [esi + 0x1a4]
test eax, eax
je 0x458491
push eax
lea edx, [esp + 0xb0]
push str.COMPOSER___s__r_n
push edx
call fcn.00526ec2
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x50]
push eax
push ecx
push edx
push 0xffffffffffffffff
lea eax, [esp + 0xe0]
push 0xffffffffffffffff
push eax
push ebx
call fcn.004dfb00
add esp, 0x40
test eax, eax
jle 0x458da2
mov esi, dword [esi + 0x198]
test esi, esi
je 0x4584f8
push esi
lea ecx, [esp + 0xb0]
push str.TITLE___s__r_n
push ecx
call fcn.00526ec2
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x50]
push edx
push eax
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0xe0]
push 0xffffffffffffffff
push edx
push ebx
call fcn.004dfb00
add esp, 0x40
test eax, eax
jle 0x458da2
mov esi, dword [esp + 0x10bc]
push esi
call fcn.004dfd60
add esp, 4
test eax, eax
jne 0x458510
mov eax, esi
jmp 0x458513
add eax, 2
mov ecx, dword [esp + 0x10c4]
push eax
test ecx, ecx
je 0x45852e
lea eax, [esp + 0xb0]
push str.FILE___s__WAVE_r_n
push eax
jmp 0x45853b
lea ecx, [esp + 0xb0]
push str.FILE___s__BINARY_r_n
push ecx
call fcn.00526ec2
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push edx
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x44]
push edx
push eax
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0xd4]
push 0xffffffffffffffff
push edx
push ebx
call fcn.004dfb00
add esp, 0x34
test eax, eax
jle 0x458da2
mov eax, dword [esp + 0x10c0]
mov dword [esp + 0x40], 0
mov ecx, dword [eax + 0xc]
test ecx, ecx
jle 0x458d98
mov ecx, eax
mov dword [esp + 0x54], 0x720c88
add ecx, 0x68
mov dword [esp + 0x38], ecx
mov esi, ecx
jmp 0x4585c0
mov edi, dword [esp + 0x64]
mov eax, dword [esp + 0x10c4]
test eax, eax
je 0x4585d8
mov edx, dword [esp + 0x54]
cmp dword [edx], 0
je 0x458d64
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x10c0]
push eax
push ecx
call fcn.00402030
mov edx, dword [esp + 0x10c8]
mov ebp, eax
add esp, 8
mov dword [esp + 0x48], ebp
cmp dword [edx + 0x3d2bc], 1
jle 0x458731
cmp dword [esi], edi
je 0x458731
test edi, edi
jl 0x4586c9
mov eax, edx
mov esi, dword [eax + edi*4 + 0x3d2c4]
test esi, esi
jle 0x4586c5
mov eax, 0x1b4e81b5
imul esi
sar edx, 3
mov ecx, edx
mov eax, 0x88888889
shr ecx, 0x1f
add edx, ecx
mov ecx, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov edi, edx
mov ecx, 0x3c
cdq
idiv ecx
mov eax, esi
mov esi, 0x4b
mov ecx, edx
cdq
idiv esi
push edx
push ecx
push edi
lea edx, [esp + 0xb8]
push str.__REM_LEAD_OUT__02d:_02d:_02d_r_n
push edx
call fcn.00526ec2
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x58]
push eax
push ecx
push edx
push 0xffffffffffffffff
lea eax, [esp + 0xe8]
push 0xffffffffffffffff
push eax
push ebx
call fcn.004dfb00
add esp, 0x48
test eax, eax
jle 0x458da2
mov esi, dword [esp + 0x38]
mov eax, dword [esi]
lea ecx, [esp + 0xac]
mov dword [esp + 0x64], eax
inc eax
push eax
push str.REM_SESSION__02d_r_n
push ecx
call fcn.00526ec2
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x50]
push edx
push eax
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0xe0]
push 0xffffffffffffffff
push edx
push ebx
call fcn.004dfb00
add esp, 0x40
test eax, eax
jle 0x458da2
mov esi, dword [esp + 0x38]
mov al, byte [esi - 0x40]
cmp al, 1
mov byte [esp + 0x37], al
jne 0x45878c
lea eax, [esp + 0x6c]
push str.AUDIO
push eax
call fcn.00526ae2
mov eax, dword [esp + 0x10cc]
add esp, 8
test eax, eax
je 0x45877f
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x6c]
inc eax
push ecx
mov dword [esp + 0x48], eax
push eax
lea edx, [esp + 0xb4]
push str.__TRACK__02d__s_r_n
push edx
call fcn.00526ec2
add esp, 0x10
jmp 0x4587fd
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x6c]
inc ecx
push eax
push ecx
jmp 0x458768
cmp al, 4
je 0x4587ac
cmp al, 5
je 0x4587ac
cmp al, 6
je 0x4587ac
cmp al, 0x20
je 0x4587ac
cmp al, 8
je 0x4587ac
lea eax, [esp + 0x6c]
push str.MODE1
push eax
jmp 0x4587b6
lea ecx, [esp + 0x6c]
push str.MODE2
push ecx
call fcn.00526ae2
mov eax, dword [0x69118c]
add esp, 8
cmp eax, 0xffffffff
jne 0x4587dc
mov eax, dword [esi - 0x10]
test eax, eax
jne 0x4587dc
mov edx, dword [esp + 0x10c0]
mov eax, dword [edx + 0x3d464]
mov ecx, dword [esp + 0x40]
push eax
lea eax, [esp + 0x70]
inc ecx
push eax
push ecx
lea edx, [esp + 0xb8]
push str.__TRACK__02d__s__d_r_n
push edx
call fcn.00526ec2
add esp, 0x14
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x44]
push eax
push ecx
push edx
push 0xffffffffffffffff
lea eax, [esp + 0xd4]
push 0xffffffffffffffff
push eax
push ebx
call fcn.004dfb00
add esp, 0x34
test eax, eax
jle 0x458da2
cmp byte [esp + 0x37], 1
jne 0x458a69
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x458a69
test ebp, ebp
je 0x458a69
mov eax, dword [ebp + 0x198]
test eax, eax
je 0x4588cd
push eax
lea ecx, [esp + 0xb0]
push str.____TITLE___s__r_n
push ecx
call fcn.00526ec2
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x50]
push edx
push eax
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0xe0]
push 0xffffffffffffffff
push edx
push ebx
call fcn.004dfb00
add esp, 0x40
test eax, eax
jle 0x458da2
mov eax, dword [ebp + 0x19c]
test eax, eax
je 0x458934
push eax
lea eax, [esp + 0xb0]
push str.____PERFORMER___s__r_n
push eax
call fcn.00526ec2
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x50]
push ecx
push edx
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0xe0]
push 0xffffffffffffffff
push ecx
push ebx
call fcn.004dfb00
add esp, 0x40
test eax, eax
jle 0x458da2
mov eax, dword [ebp + 0x1d0]
test eax, eax
je 0x45899b
push eax
lea edx, [esp + 0xb0]
push str.____ISRC___s__r_n
push edx
call fcn.00526ec2
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x50]
push eax
push ecx
push edx
push 0xffffffffffffffff
lea eax, [esp + 0xe0]
push 0xffffffffffffffff
push eax
push ebx
call fcn.004dfb00
add esp, 0x40
test eax, eax
jle 0x458da2
mov eax, dword [ebp + 0x1a0]
test eax, eax
je 0x458a02
push eax
lea ecx, [esp + 0xb0]
push str.____SONGWRITER___s__r_n
push ecx
call fcn.00526ec2
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x50]
push edx
push eax
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0xe0]
push 0xffffffffffffffff
push edx
push ebx
call fcn.004dfb00
add esp, 0x40
test eax, eax
jle 0x458da2
mov eax, dword [ebp + 0x1a4]
test eax, eax
je 0x458a69
push eax
lea eax, [esp + 0xb0]
push str.____COMPOSER___s__r_n
push eax
call fcn.00526ec2
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x50]
push ecx
push edx
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0xe0]
push 0xffffffffffffffff
push ecx
push ebx
call fcn.004dfb00
add esp, 0x40
test eax, eax
jle 0x458da2
mov edx, dword [esp + 0x38]
mov eax, dword [edx - 0x38]
test eax, eax
jle 0x458b41
mov ecx, dword [esp + 0x10c4]
test ecx, ecx
je 0x458a89
mov esi, dword [esp + 0x3c]
jmp 0x458a92
mov ecx, dword [esp + 0x38]
mov esi, dword [ecx - 0x3c]
sub esi, eax
mov eax, 0x1b4e81b5
imul esi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x88888889
mov ecx, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov edi, edx
mov ecx, 0x3c
cdq
idiv ecx
mov eax, esi
mov esi, 0x4b
mov ecx, edx
cdq
idiv esi
mov eax, dword [esp + 0x10c4]
test eax, eax
je 0x458ae2
cmp dword [esp + 0x44], 1
je 0x458b41
push edx
push ecx
push edi
lea edx, [esp + 0xb8]
push str.____INDEX_00__02d:_02d:_02d_r_n
push edx
call fcn.00526ec2
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x58]
push eax
push ecx
push edx
push 0xffffffffffffffff
lea eax, [esp + 0xe8]
push 0xffffffffffffffff
push eax
push ebx
call fcn.004dfb00
add esp, 0x48
test eax, eax
jle 0x458da2
mov eax, dword [esp + 0x10c4]
test eax, eax
je 0x458b68
cmp dword [esp + 0x44], 1
je 0x458b62
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov esi, dword [ecx - 0x38]
add esi, eax
jmp 0x458b6f
mov esi, dword [esp + 0x3c]
jmp 0x458b6f
mov edx, dword [esp + 0x38]
mov esi, dword [edx - 0x3c]
mov eax, 0x1b4e81b5
imul esi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x88888889
mov ecx, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov edi, edx
mov ecx, 0x3c
cdq
idiv ecx
mov eax, esi
mov esi, 0x4b
mov ecx, edx
cdq
idiv esi
push edx
push ecx
push edi
lea edx, [esp + 0xb8]
push str.____INDEX_01__02d:_02d:_02d_r_n
push edx
call fcn.00526ec2
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x58]
push eax
push ecx
push edx
push 0xffffffffffffffff
lea eax, [esp + 0xe8]
push 0xffffffffffffffff
push eax
push ebx
call fcn.004dfb00
add esp, 0x48
test eax, eax
jle 0x458da2
cmp byte [esp + 0x37], 1
jne 0x458d3e
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x458d3e
mov eax, dword [esp + 0x48]
test eax, eax
je 0x458d3e
mov ecx, eax
cmp dword [ecx + 4], 1
jle 0x458d3e
mov edx, ecx
mov ebp, 2
add edx, 0x10
mov dword [esp + 0x58], edx
mov eax, dword [esp + 0x48]
cmp ebp, dword [eax + 4]
jg 0x458d3e
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx]
test eax, eax
je 0x458d3e
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx - 0x28]
dec edx
cmp eax, edx
jg 0x458d3e
mov edx, dword [esp + 0x10c4]
test edx, edx
je 0x458c8a
mov esi, dword [ecx - 0x38]
add esi, eax
mov eax, dword [esp + 0x3c]
jmp 0x458c8d
mov esi, dword [ecx - 0x3c]
add esi, eax
mov eax, 0x1b4e81b5
imul esi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x88888889
mov ecx, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov edi, edx
mov ecx, 0x3c
cdq
idiv ecx
mov eax, esi
mov esi, 0x4b
mov ecx, edx
cdq
idiv esi
push edx
push ecx
push edi
push ebp
lea edx, [esp + 0xbc]
push str.____INDEX__02d__02d:_02d:_02d_r_n
push edx
call fcn.00526ec2
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x5c]
push eax
push ecx
push edx
push 0xffffffffffffffff
lea eax, [esp + 0xec]
push 0xffffffffffffffff
push eax
push ebx
call fcn.004dfb00
add esp, 0x4c
test eax, eax
jle 0x458da2
mov ecx, dword [esp + 0x58]
inc ebp
add ecx, 4
cmp ebp, 0x64
mov dword [esp + 0x58], ecx
jl 0x458c49
mov eax, dword [esp + 0x10c4]
test eax, eax
je 0x458d64
mov eax, dword [esp + 0x38]
mov ecx, dword [eax - 0x30]
mov esi, dword [eax - 0x28]
mov edx, dword [eax - 0x38]
mov eax, dword [esp + 0x3c]
add ecx, esi
add ecx, edx
add eax, ecx
mov dword [esp + 0x3c], eax
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x10c0]
mov eax, dword [esp + 0x40]
add esi, 4
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x38]
inc eax
add esi, 0x9a0
cmp eax, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], esi
jl 0x4585bc
mov dword [esp + 0x60], 0
jmp 0x458dba
mov eax, dword [esp + 0x10bc]
test eax, eax
je 0x458dba
test ebx, ebx
je 0x458dba
push eax
call fcn.004dcf00
add esp, 4
mov esi, dword [esp + 0x68]
push esi
call fcn.004df7a0
push ebx
call fcn.004df7b0
mov edi, dword [esp + 0x68]
add esp, 8
test edi, edi
je 0x458de0
test ebx, ebx
je 0x458de0
push esi
call dword [0x70324c]
lea ecx, [esp + 0x50]
mov byte [esp + 0x10b4], 0
call fcn.00544250
lea ecx, [esp + 0x4c]
mov dword [esp + 0x10b4], 0xffffffff
call fcn.00544250
mov ecx, dword [esp + 0x10ac]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10a8
ret