Function at 0x657f88
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffed4
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x120], ecx
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x658b23
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x14], eax
xor edx, edx
push ebp
push 0x658ab6
push dword fs:[edx]
mov dword fs:[edx], esp
call sub.kernel32.dll_GetTickCount_1
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
add eax, 0x21
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
lea esi, [ebx + 0xc4c]
mov edi, eax
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
call fcn.0040d634
mov eax, dword [ebp - 4]
fstp qword [eax + 0xa]
wait
mov eax, dword [ebp - 8]
mov edx, dword [ebx + 0xc88]
mov dword [eax + 0x12f], edx
mov edx, dword [ebx + 0xc8c]
mov dword [eax + 0x133], edx
mov eax, dword [ebp - 8]
add eax, 0x137
lea edx, [ebx + 0xc36]
mov cl, 0xf
call fcn.004039d0
mov eax, dword [ebp - 8]
add eax, 4
lea edx, [ebx + 0x15]
mov cl, 0xe
call fcn.004039d0
mov eax, dword [ebp - 8]
add eax, 0x13
lea edx, [ebx + 4]
mov cl, 0x10
call fcn.004039d0
movzx eax, word [ebx + 0x24]
mov edx, dword [ebp - 8]
mov word [edx + 0x24], ax
movzx eax, word [ebx + 0x28]
mov edx, dword [ebp - 8]
mov word [edx + 0x26], ax
movzx eax, byte [ebx + 0x2c]
mov edx, dword [ebp - 8]
mov byte [edx + 0x28], al
movzx eax, byte [ebx + 0x2e]
mov edx, dword [ebp - 8]
mov byte [edx + 0x29], al
movzx eax, byte [ebx + 0x2d]
mov edx, dword [ebp - 8]
mov byte [edx + 0x2a], al
movzx eax, byte [ebx + 0x2f]
mov edx, dword [ebp - 8]
mov byte [edx + 0x2b], al
mov eax, dword [ebx + 0x30]
add eax, dword [ebx + 0x3680]
add eax, dword [ebx + 0x3694]
mov edx, dword [ebp - 8]
mov dword [edx + 0x2c], eax
mov eax, dword [ebx + 0x15d4]
mov edx, dword [ebp - 8]
mov dword [edx + 0x30], eax
movzx eax, word [ebx + 0x34]
mov edx, dword [ebp - 8]
mov word [edx + 0x34], ax
mov eax, dword [ebx + 0x10a]
mov edx, dword [ebp - 8]
mov dword [edx + 0x36], eax
mov eax, dword [ebx + 0x10e]
mov edx, dword [ebp - 8]
mov dword [edx + 0x3a], eax
mov eax, dword [ebx + 0x112]
mov edx, dword [ebp - 8]
mov dword [edx + 0x3e], eax
mov eax, dword [ebx + 0x116]
mov edx, dword [ebp - 8]
mov dword [edx + 0x42], eax
mov eax, dword [ebx + 0x11a]
mov edx, dword [ebp - 8]
mov dword [edx + 0x46], eax
movzx eax, word [ebx + 0x4a]
mov edx, dword [ebp - 8]
mov word [edx + 0x4a], ax
movzx eax, word [ebx + 0x4c]
mov edx, dword [ebp - 8]
mov word [edx + 0x4c], ax
movzx eax, word [ebx + 0x4e]
mov edx, dword [ebp - 8]
mov word [edx + 0x4e], ax
movzx eax, word [ebx + 0x50]
mov edx, dword [ebp - 8]
mov word [edx + 0x50], ax
mov eax, dword [ebx + 0x52]
mov edx, dword [ebp - 8]
mov dword [edx + 0x52], eax
mov eax, dword [ebx + 0x56]
mov edx, dword [ebp - 8]
mov dword [edx + 0x56], eax
movzx eax, word [ebx + 0x5a]
mov edx, dword [ebp - 8]
mov word [edx + 0x5a], ax
movzx eax, word [ebx + 0x5c]
mov edx, dword [ebp - 8]
mov word [edx + 0x5c], ax
movzx eax, word [ebx + 0x5e]
mov edx, dword [ebp - 8]
mov word [edx + 0x5e], ax
movzx eax, word [ebx + 0x60]
mov edx, dword [ebp - 8]
mov word [edx + 0x60], ax
movzx eax, word [ebx + 0x62]
mov edx, dword [ebp - 8]
mov word [edx + 0x62], ax
movzx eax, word [ebx + 0x64]
mov edx, dword [ebp - 8]
mov word [edx + 0x64], ax
movzx eax, word [ebx + 0x11e]
mov edx, dword [ebp - 8]
mov word [edx + 0x4a], ax
movzx eax, word [ebx + 0x120]
mov edx, dword [ebp - 8]
mov word [edx + 0x4c], ax
mov eax, dword [ebp - 8]
mov edx, dword [ebx + 0xcc0]
mov dword [eax + 0x66], edx
mov edx, dword [ebx + 0xcc4]
mov dword [eax + 0x6a], edx
mov edx, dword [ebx + 0xcc8]
mov dword [eax + 0x6e], edx
movzx eax, word [ebx + 0xccc]
mov edx, dword [ebp - 8]
mov word [edx + 0x72], ax
movzx eax, word [ebx + 0xcd0]
mov edx, dword [ebp - 8]
mov word [edx + 0x8235], ax
mov eax, dword [ebp - 8]
lea esi, [ebx + 0x1b4]
lea edi, [eax + 0x74]
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 8]
add eax, 0x8c
lea edx, [ebx + 0x80]
mov cl, 0x10
call fcn.004039d0
movzx eax, word [ebx + 0x94]
mov edx, dword [ebp - 8]
mov word [edx + 0x9d], ax
movzx eax, word [ebx + 0x98]
mov edx, dword [ebp - 8]
mov word [edx + 0x9f], ax
mov eax, dword [ebp - 8]
add eax, 0xa1
lea edx, [ebx + 0x9c]
mov cl, 0x10
call fcn.004039d0
movzx eax, word [ebx + 0xb0]
mov edx, dword [ebp - 8]
mov word [edx + 0xb2], ax
movzx eax, word [ebx + 0xb4]
mov edx, dword [ebp - 8]
mov word [edx + 0xb4], ax
mov eax, dword [ebp - 8]
add eax, 0xb6
lea edx, [ebx + 0x10b0]
mov cl, 0xe
call fcn.004039d0
mov dword [ebp - 0x14], 1
mov eax, dword [ebx + 0x10d0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x6582d8
inc eax
mov dword [ebp - 0x18], eax
xor esi, esi
cmp esi, 6
jg 0x6582d8
lea ecx, [ebp - 0x120]
mov eax, dword [ebx + 0x10d0]
mov edx, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x120]
lea eax, [ebp - 0x11c]
mov ecx, 0xff
call fcn.00405630
lea edx, [ebp - 0x11c]
mov eax, esi
shl eax, 4
sub eax, esi
mov ecx, dword [ebp - 8]
lea eax, [ecx + eax + 0xc5]
mov cl, 0xe
call fcn.004039d0
inc esi
dec dword [ebp - 0x18]
jne 0x658286
mov dword [ebp - 0x14], 2
movzx eax, byte [ebx + 0x10d4]
mov edx, dword [ebp - 8]
mov byte [edx + 0x12e], al
mov eax, dword [ebp - 8]
lea esi, [ebx + 0x10d8]
lea edi, [eax + 0x9bf2]
mov ecx, 0x14
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x1128]
mov edx, dword [ebp - 8]
mov dword [edx + 0x147], eax
mov eax, dword [ebp - 8]
add eax, 0x14b
lea edx, [ebx + 0x38b9]
mov cl, 0xc
call fcn.004039d0
mov eax, dword [ebx + 0x3918]
mov edx, dword [ebp - 8]
mov dword [edx + 0x158], eax
movzx eax, byte [ebx + 0x38c7]
mov edx, dword [ebp - 8]
mov byte [edx + 0x15c], al
movzx eax, byte [ebx + 0x38c6]
mov edx, dword [ebp - 8]
mov byte [edx + 0x15d], al
mov eax, dword [ebp - 8]
mov edx, dword [ebx + 0x38c8]
mov dword [eax + 0x15e], edx
mov edx, dword [ebx + 0x38cc]
mov dword [eax + 0x162], edx
movzx eax, byte [ebx + 0x1285]
mov edx, dword [ebp - 8]
mov byte [edx + 0x166], al
mov eax, dword [ebx + 0x1554]
add eax, dword [ebx + 0x3698]
mov edx, dword [ebp - 8]
mov dword [edx + 0x167], eax
mov eax, dword [ebx + 0x1560]
mov edx, dword [ebp - 8]
mov dword [edx + 0x16b], eax
mov eax, dword [ebx + 0x1568]
mov edx, dword [ebp - 8]
mov dword [edx + 0x16f], eax
mov eax, dword [ebx + 0x156c]
mov edx, dword [ebp - 8]
mov dword [edx + 0x173], eax
movzx eax, word [ebx + 0xc4]
mov edx, dword [ebp - 8]
mov dword [edx + 0x177], eax
mov eax, dword [ebx + 0x3968]
mov edx, dword [ebp - 8]
mov dword [edx + 0x17b], eax
mov eax, dword [ebx + 0x41d0]
mov edx, dword [ebp - 8]
mov dword [edx + 0x1b2], eax
movzx eax, byte [ebx + 0x291]
mov edx, dword [ebp - 8]
mov byte [edx + 0x17f], al
movzx eax, byte [ebx + 0xc8]
mov edx, dword [ebp - 8]
mov byte [edx + 0x180], al
movzx eax, byte [ebx + 0xcc]
mov edx, dword [ebp - 8]
mov byte [edx + 0x181], al
movzx eax, byte [ebx + 0xd0]
mov edx, dword [ebp - 8]
mov byte [edx + 0x182], al
movzx eax, byte [ebx + 0xdc]
mov edx, dword [ebp - 8]
mov byte [edx + 0x183], al
mov eax, dword [ebp - 8]
add eax, 0x184
lea edx, [ebx + 0xc21]
mov cl, 0x10
call fcn.004039d0
mov eax, dword [ebp - 8]
add eax, 0x195
lea edx, [ebx + 0x4200]
mov cl, 0xe
call fcn.004039d0
movzx eax, word [ebx + 0x1584]
mov edx, dword [ebp - 8]
mov word [edx + 0x1a4], ax
movzx eax, word [ebx + 0xec]
mov edx, dword [ebp - 8]
mov word [edx + 0x1b0], ax
mov eax, dword [ebp - 8]
mov edx, dword [ebx + 0xe0]
mov dword [eax + 0x1a6], edx
mov edx, dword [ebx + 0xe4]
mov dword [eax + 0x1aa], edx
movzx eax, byte [ebx + 0x41f0]
mov edx, dword [ebp - 8]
mov byte [edx + 0x1b6], al
mov eax, dword [ebp - 8]
lea esi, [ebx + 0x35b8]
lea edi, [eax + 0x1cb]
mov ecx, 0x26
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebp - 8]
lea esi, [ebx + 0x3924]
lea edi, [eax + 0x265]
mov ecx, 0xf
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 8]
mov edx, dword [ebx + 0x3658]
mov dword [eax + 0x1c3], edx
mov edx, dword [ebx + 0x365c]
mov dword [eax + 0x1c7], edx
mov eax, dword [ebp - 8]
lea esi, [ebx + 0x12b4]
lea edi, [eax + 0x2a1]
mov ecx, 0x19
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 8]
lea esi, [ebx + 0x1318]
lea edi, [eax + 0x305]
mov ecx, 0x19
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 8]
lea esi, [ebx + 0x137c]
lea edi, [eax + 0x369]
mov ecx, 0x6e
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 8]
lea esi, [ebx + 0x1534]
lea edi, [eax + 0x521]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 8]
lea esi, [ebx + 0x3530]
lea edi, [eax + 0x535]
mov ecx, 0x19
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 8]
lea esi, [ebx + 0x424]
lea edi, [eax + 0x8b7]
mov ecx, 0x1c8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 4]
lea esi, [ebx + 0x112c]
lea edi, [eax + 0x782]
mov ecx, 0x55
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov dword [ebp - 0x14], 3
mov eax, dword [ebx + 0x3920]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x6585ea
inc eax
mov dword [ebp - 0x18], eax
xor esi, esi
cmp esi, 4
jge 0x6585ea
mov eax, dword [ebx + 0x3920]
mov edx, esi
call fcn.0041fbf0
imul edx, esi, 0x39
mov ecx, dword [ebp - 8]
push esi
mov esi, eax
lea edi, [ecx + edx*2 + 0x599]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop esi
inc esi
dec dword [ebp - 0x18]
jne 0x6585b8
mov dword [ebp - 0x14], 4
mov eax, dword [ebp - 4]
add eax, 0xff8
mov dword [ebp - 0xc], eax
xor edi, edi
mov dword [ebp - 0x14], 5
mov eax, dword [ebx + 0x418]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x65864a
inc eax
mov dword [ebp - 0x18], eax
xor esi, esi
cmp edi, 0x68
jg 0x65864a
mov eax, dword [ebx + 0x418]
mov edx, esi
call fcn.0041fbf0
imul edx, edi, 0x39
mov ecx, dword [ebp - 0xc]
push esi
push edi
mov esi, eax
lea edi, [ecx + edx*2]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
pop esi
inc edi
inc esi
dec dword [ebp - 0x18]
jne 0x658619
mov dword [ebp - 0x14], 6
mov eax, dword [ebx + 0x367c]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x658696
inc eax
mov dword [ebp - 0x18], eax
xor esi, esi
cmp edi, 0x68
jg 0x658696
mov eax, dword [ebx + 0x367c]
mov edx, esi
call fcn.0041fbf0
imul edx, edi, 0x39
mov ecx, dword [ebp - 0xc]
push esi
push edi
mov esi, eax
lea edi, [ecx + edx*2]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
pop esi
inc edi
inc esi
dec dword [ebp - 0x18]
jne 0x658665
mov dword [ebp - 0x14], 7
mov eax, dword [ebx + 0x368c]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x6586e5
inc eax
mov dword [ebp - 0x18], eax
xor esi, esi
cmp edi, 0x68
jg 0x6586e5
mov eax, dword [ebx + 0x368c]
mov edx, esi
call fcn.0041fbf0
mov eax, dword [eax + 6]
imul edx, edi, 0x39
mov ecx, dword [ebp - 0xc]
push esi
push edi
mov esi, eax
lea edi, [ecx + edx*2]
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
pop esi
inc edi
inc esi
dec dword [ebp - 0x18]
jne 0x6586b1
mov dword [ebp - 0x14], 8
mov edi, dword [ebp - 4]
add edi, 0x3eba
mov eax, dword [ebx + 0x36a4]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x658778
inc eax
mov dword [ebp - 0x18], eax
xor esi, esi
cmp esi, 0x1e
jge 0x658778
mov eax, dword [ebx + 0x36a4]
mov edx, esi
call fcn.0041fbf0
imul edx, esi, 0xb
movzx ecx, word [eax + 4]
mov word [edi + edx], cx
imul edx, esi, 0xb
movzx ecx, byte [eax + 6]
mov byte [edi + edx + 2], cl
mov edx, dword [eax + 7]
and edx, 0xffffff
movzx ecx, byte [eax + 0xf]
shl ecx, 0x18
and ecx, 0xff000000
or edx, ecx
push edx
imul edx, esi, 0xb
pop ecx
mov dword [edi + edx + 3], ecx
mov edx, dword [eax + 0xb]
cmp edx, dword [ebp - 0x10]
jbe 0x658769
imul edx, esi, 0xb
mov eax, dword [eax + 0xb]
sub eax, dword [ebp - 0x10]
mov dword [edi + edx + 7], eax
jmp 0x658772
imul eax, esi, 0xb
xor edx, edx
mov dword [edi + eax + 7], edx
inc esi
dec dword [ebp - 0x18]
jne 0x658709
mov dword [ebp - 0x14], 9
mov eax, dword [ebx + 0x39b5]
mov edx, dword [ebp - 4]
mov dword [edx + 0x4004], eax
mov edi, dword [ebp - 4]
add edi, 0x4008
mov eax, dword [ebx + 0x38d0]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x6587d8
inc eax
mov dword [ebp - 0x18], eax
xor esi, esi
cmp esi, 0x31
jge 0x6587d8
mov eax, dword [ebx + 0x38d0]
mov edx, esi
call fcn.0041fbf0
imul edx, esi, 0x73
push esi
push edi
mov esi, eax
add edi, edx
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
inc esi
dec dword [ebp - 0x18]
jne 0x6587ab
mov dword [ebp - 0x14], 0xa
movzx eax, byte [ebx + 0x38e5]
mov edx, dword [ebp - 8]
mov byte [edx + 0x55ea], al
mov eax, dword [ebp - 8]
mov edx, dword [ebx + 0x38f8]
mov dword [eax + 0x55eb], edx
mov edx, dword [ebx + 0x38fc]
mov dword [eax + 0x55ef], edx
mov edi, dword [ebp - 4]
add edi, 0x5614
mov eax, dword [ebx + 0x38d4]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x658854
inc eax
mov dword [ebp - 0x18], eax
xor esi, esi
cmp esi, 0x31
jge 0x658854
mov eax, dword [ebx + 0x38d4]
mov edx, esi
call fcn.0041fbf0
imul edx, esi, 0x73
push esi
push edi
mov esi, eax
add edi, edx
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
inc esi
dec dword [ebp - 0x18]
jne 0x658827
mov dword [ebp - 0x14], 0xb
movzx eax, byte [ebx + 0x38e6]
mov edx, dword [ebp - 8]
mov byte [edx + 0x6bf6], al
mov eax, dword [ebp - 8]
mov edx, dword [ebx + 0x3900]
mov dword [eax + 0x6bf7], edx
mov edx, dword [ebx + 0x3904]
mov dword [eax + 0x6bfb], edx
mov edi, dword [ebp - 4]
add edi, 0x6c20
mov eax, dword [ebx + 0x38d8]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x6588d0
inc eax
mov dword [ebp - 0x18], eax
xor esi, esi
cmp esi, 0x31
jge 0x6588d0
mov eax, dword [ebx + 0x38d8]
mov edx, esi
call fcn.0041fbf0
imul edx, esi, 0x73
push esi
push edi
mov esi, eax
add edi, edx
mov ecx, 0x1c
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop edi
pop esi
inc esi
dec dword [ebp - 0x18]
jne 0x6588a3
mov eax, dword [ebp - 4]
lea esi, [ebx + 0x39c8]
lea edi, [eax + 0x8223]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
movzx eax, word [ebx + 0x41cc]
mov edx, dword [ebp - 4]
mov word [edx + 0x8258], ax
mov eax, dword [ebp - 4]
lea esi, [ebx + 0x39fc]
lea edi, [eax + 0x825a]
mov ecx, 0x1f4
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 4]
mov edx, dword [ebx + 0x482a]
mov dword [eax + 0x9c07], edx
mov edx, dword [ebx + 0x482e]
mov dword [eax + 0x9c0b], edx
mov dx, word [ebx + 0x4832]
mov word [eax + 0x9c0f], dx
movzx eax, word [ebx + 0x4834]
mov edx, dword [ebp - 4]
mov word [edx + 0x9c11], ax
mov dword [ebp - 0x14], 0xc
mov eax, dword [ebx + 0x359c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x6589cd
inc eax
mov dword [ebp - 0x18], eax
xor esi, esi
mov eax, dword [ebp - 4]
add eax, 0x8a2a
mov dword [ebp - 0x1c], eax
cmp esi, 0x1e
jge 0x6589cd
lea ecx, [ebp - 0x124]
mov eax, dword [ebx + 0x359c]
mov edx, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x124]
lea eax, [ebp - 0x11c]
mov ecx, 0xff
call fcn.00405630
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 0x1c]
mov cl, 0xe
call fcn.004039d0
mov eax, dword [ebx + 0x359c]
mov edx, esi
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0xf], eax
inc esi
add dword [ebp - 0x1c], 0x13
dec dword [ebp - 0x18]
jne 0x658972
mov dword [ebp - 0x14], 0xd
movzx eax, word [ebx + 0x1282]
mov edx, dword [ebp - 8]
mov word [edx + 0x1b7], ax
movzx eax, byte [ebx + 0xbbd]
mov edx, dword [ebp - 8]
mov byte [edx + 0x1b9], al
movzx eax, byte [ebx + 0x1284]
mov edx, dword [ebp - 8]
mov byte [edx + 0x1ba], al
mov eax, dword [select]
cmp byte [eax + 0x6445], 0
je 0x658a33
mov eax, dword [ebx + 0x12a0]
mov edx, dword [ebp - 8]
mov dword [edx + 0x1bb], eax
mov eax, dword [ebx + 0x12a8]
mov edx, dword [ebp - 8]
mov dword [edx + 0x1bf], eax
jmp 0x658a4b
mov eax, dword [ebp - 8]
mov dword [eax + 0x1bb], 0x64
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [eax + 0x1bf], edx
mov dword [ebp - 0x14], 0xe
cmp dword [ebx + 0x3664], 0
je 0x658a8f
movzx eax, word [ebx + 0x3668]
mov edx, 0xfa0
call fcn.0048b208
mov esi, eax
mov eax, dword [ebp - 8]
mov word [eax + 0x8c43], si
movzx ecx, si
mov eax, dword [ebp - 8]
lea edx, [eax + 0x8c45]
mov eax, dword [ebx + 0x3664]
call fcn.004031fc
mov dword [ebp - 0x14], 0xf
mov eax, dword [ebp - 8]
lea esi, [ebx + 0x4872]
lea edi, [eax + 0xabfc]
mov ecx, 0x15
rep movsd dword es:[edi], dword [esi]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x658b05
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x658b2a
lea eax, [ebp - 0x12c]
mov edx, 4
call fcn.004053b8
ret