Function at 0x505520
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, eax
mov edi, ecx
sub esp, 0x1fc
mov dword [ebp - 0x1b4], eax
mov eax, dword [ecx]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x1d0], edx
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
mov ebx, dword [esi + 8]
and ecx, 1
mov dword [ebp - 0x1cc], ecx
je 0x505583
cmp eax, 1
jne 0x506070
mov dword [esp + 8], str.Socket
mov dword [esp + 4], str.type
mov dword [esp], esi
call ebx
jmp 0x5055a2
mov dword [esp], eax
call fcn.004f9280
mov dword [esp + 4], str.type
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call ebx
mov eax, dword [edi + 8]
cmp eax, 0xffffffff
je 0x5055dc
lea esi, [ebp - 0x117]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x758ad4
mov dword [esp], esi
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], esi
mov dword [esp + 4], str.os_index
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call dword [eax + 8]
mov eax, dword [edi + 0x68]
test eax, eax
je 0x505982
mov ecx, dword [ebp - 0x1cc]
test ecx, ecx
je 0x505bc0
cmp dword [edi], 0xd
je 0x505840
lea ebx, [ebp - 0x1a0]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004fecb0
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 4], str.cpuset
mov dword [esp + 8], eax
mov esi, dword [ebp - 0x1b4]
mov dword [esp], esi
call dword [esi + 8]
mov eax, dword [edi + 0x6c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x19c]
mov dword [esp], eax
call fcn.004fecb0
mov eax, dword [ebp - 0x19c]
mov dword [esp + 4], str.complete_cpuset
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esi + 8]
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call fcn.00548438
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 4], str.online_cpuset
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esi + 8]
mov eax, dword [ebp - 0x1a0]
mov dword [esp], eax
call fcn.00548438
mov eax, dword [edi + 0x68]
mov dword [esp], eax
call fcn.004fea10
mov esi, eax
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x120]
mov dword [esp + 4], esi
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.004fff70
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.004fecb0
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 4], str.allowed_cpuset
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
mov dword [ebp - 0x1b4], eax
call dword [eax + 8]
mov eax, dword [ebp - 0x1a0]
mov dword [esp], eax
call fcn.00548438
mov dword [esp], esi
call fcn.004fe930
mov eax, dword [edi + 0x70]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004fecb0
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 4], str.nodeset
mov dword [esp + 8], eax
mov esi, dword [ebp - 0x1b4]
mov dword [esp], esi
call dword [esi + 8]
mov eax, dword [ebp - 0x1a0]
mov dword [esp], eax
call fcn.00548438
mov eax, dword [edi + 0x74]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004fecb0
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 4], str.complete_nodeset
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esi + 8]
mov eax, dword [ebp - 0x1a0]
mov dword [esp], eax
call fcn.00548438
mov eax, dword [ebp - 0x1cc]
test eax, eax
jne 0x505919
mov eax, dword [edi + 0x2c]
test eax, eax
je 0x505919
mov edx, dword [edi + 0x8c]
mov eax, dword [edi + 0x88]
lea esi, [ebp - 0x117]
mov dword [esp + 4], 0x758b31
mov dword [esp], esi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], esi
mov dword [esp + 4], str.gp_index
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call dword [eax + 8]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x5057f7
call fcn.005054b0
mov dword [esp + 4], str.name
mov ebx, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call dword [eax + 8]
mov dword [esp], ebx
call fcn.00548438
mov eax, dword [edi + 4]
test eax, eax
je 0x505825
call fcn.005054b0
mov dword [esp + 4], str.subtype
mov ebx, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call dword [eax + 8]
mov dword [esp], ebx
call fcn.00548438
mov eax, dword [edi]
sub eax, 4
cmp eax, 0xc
ja case.default.0x505833
jmp dword [eax*4 + 0x758cac]
mov edx, dword [edi + 0x30]
test edx, edx
je 0x5055fe
mov dword [esp + 8], 0x758ae0
mov dword [esp + 4], str.cpuset
lea ebx, [ebp - 0x1a0]
mov esi, dword [ebp - 0x1b4]
mov dword [esp], esi
call dword [esi + 8]
mov dword [esp + 8], 0x758ae0
mov dword [esp + 4], str.online_cpuset
mov dword [esp], esi
call dword [esi + 8]
mov dword [esp + 8], 0x758ae0
mov dword [esp + 4], str.complete_cpuset
mov dword [esp], esi
call dword [esi + 8]
mov dword [esp + 8], 0x758ae0
mov dword [esp + 4], str.allowed_cpuset
mov dword [esp], esi
call dword [esi + 8]
mov eax, dword [edi + 0x70]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004fecb0
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 4], str.nodeset
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esi + 8]
mov eax, dword [ebp - 0x1a0]
mov dword [esp], eax
call fcn.00548438
mov eax, dword [edi + 0x74]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004fecb0
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 4], str.complete_nodeset
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esi + 8]
mov eax, dword [ebp - 0x1a0]
mov dword [esp], eax
call fcn.00548438
mov eax, dword [edi + 0x70]
mov dword [esp], eax
call fcn.004fea10
mov esi, eax
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x124]
mov dword [esp + 4], esi
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.004fff70
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.004fecb0
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 4], str.allowed_nodeset
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call dword [eax + 8]
mov eax, dword [ebp - 0x1a0]
mov dword [esp], eax
call fcn.00548438
mov dword [esp], esi
call fcn.004fe930
mov esi, dword [ebp - 0x1cc]
test esi, esi
je 0x505787
mov eax, dword [edi + 0xc]
test eax, eax
je 0x505825
call fcn.005054b0
mov dword [esp + 4], str.name
mov ebx, eax
mov dword [esp + 8], eax
jmp 0x505811
mov edx, dword [ebp - 0x1cc]
mov eax, dword [edi + 0x18]
test edx, edx
je 0x506410
mov eax, dword [eax]
lea ebx, [ebp - 0x117]
mov dword [esp + 4], 0x758ad4
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.depth
mov ebx, dword [ebp - 0x1b4]
mov dword [esp], ebx
call dword [ebx + 8]
mov eax, dword [edi + 0x18]
cmp byte [eax + 0xc], 0
je case.default.0x505833
mov dword [esp + 8], 0x758bbb
mov dword [esp + 4], str.dont_merge
mov dword [esp], ebx
call dword [ebx + 8]
mov esi, esi
lea edi, [edi]
mov ecx, dword [edi + 0x7c]
xor edx, edx
lea ebx, [ebp - 0x158]
test ecx, ecx
je 0x505ae0
mov eax, dword [edi + 0x78]
lea esi, [edx*8]
mov dword [ebp - 0x1b8], edx
mov eax, dword [eax + edx*8]
call fcn.005054b0
mov dword [ebp - 0x1b0], eax
mov eax, dword [edi + 0x78]
mov eax, dword [eax + esi + 4]
call fcn.005054b0
mov dword [esp + 8], str.info
mov dword [esp + 4], ebx
mov esi, eax
mov ecx, dword [ebp - 0x1b4]
mov dword [esp], ecx
call dword [ecx + 4]
mov eax, dword [ebp - 0x1b0]
mov dword [esp + 4], str.name
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [ebp - 0x150]
mov dword [esp + 8], esi
mov dword [esp + 4], str.value
mov dword [esp], ebx
call dword [ebp - 0x150]
mov dword [esp + 4], str.info
mov dword [esp], ebx
call dword [ebp - 0x148]
mov eax, dword [ebp - 0x1b0]
mov dword [esp], eax
call fcn.00548438
mov dword [esp], esi
call fcn.00548438
mov edx, dword [ebp - 0x1b8]
add edx, 1
cmp dword [edi + 0x7c], edx
ja 0x505a33
mov eax, dword [ebp - 0x1cc]
test eax, eax
je 0x505b84
mov eax, dword [edi + 4]
test eax, eax
je 0x505b79
call fcn.005054b0
cmp dword [edi], 0x10
mov esi, eax
mov eax, dword [ebp - 0x1b4]
mov eax, dword [eax + 4]
je 0x5060a0
lea ebx, [ebp - 0x158]
mov dword [esp + 8], str.info
mov dword [esp + 4], ebx
mov ecx, dword [ebp - 0x1b4]
mov dword [esp], ecx
call eax
mov edx, dword [ebp - 0x150]
mov eax, str.Type
mov dword [esp + 8], eax
mov dword [esp + 4], str.name
mov dword [esp], ebx
call edx
mov dword [esp + 8], esi
mov dword [esp + 4], str.value
mov dword [esp], ebx
call dword [ebp - 0x150]
mov dword [esp + 4], str.info
mov dword [esp], ebx
call dword [ebp - 0x148]
mov dword [esp], esi
call fcn.00548438
mov eax, dword [edi + 0x2c]
test eax, eax
je 0x5060e0
mov ecx, dword [edi + 0x80]
test ecx, ecx
je 0x505bb1
mov ebx, dword [ebp - 0x1d0]
mov eax, dword [ebx + 0x194]
test eax, eax
je 0x505bb1
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov edi, dword [ebp - 0x1b4]
mov dword [esp], edi
call eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea ebx, [ebp - 0x1a0]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004fecb0
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 4], str.cpuset
mov dword [esp + 8], eax
mov esi, dword [ebp - 0x1b4]
mov dword [esp], esi
call dword [esi + 8]
mov eax, dword [edi + 0x6c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x19c]
mov dword [esp], eax
call fcn.004fecb0
mov eax, dword [ebp - 0x19c]
mov dword [esp + 4], str.complete_cpuset
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esi + 8]
mov eax, dword [ebp - 0x19c]
mov dword [esp], eax
call fcn.00548438
mov eax, dword [ebp - 0x1a0]
mov dword [esp], eax
call fcn.00548438
mov edx, dword [edi + 0x2c]
test edx, edx
je 0x50568f
mov eax, dword [edi + 0x70]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004fecb0
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 4], str.nodeset
mov dword [esp + 8], eax
mov esi, dword [ebp - 0x1b4]
mov dword [esp], esi
call dword [esi + 8]
mov eax, dword [ebp - 0x1a0]
mov dword [esp], eax
call fcn.00548438
mov eax, dword [edi + 0x74]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004fecb0
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 4], str.complete_nodeset
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esi + 8]
mov eax, dword [ebp - 0x1a0]
mov dword [esp], eax
call fcn.00548438
jmp 0x50577c
mov eax, dword [edi + 0x18]
lea ebx, [ebp - 0x117]
mov eax, dword [eax]
mov dword [esp + 4], 0x758b99
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.osdev_type
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call dword [eax + 8]
jmp case.default.0x505833
mov eax, dword [edi + 0x18]
lea ebx, [ebp - 0x117]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 4], 0x758b31
mov dword [esp], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.cache_size
mov esi, dword [ebp - 0x1b4]
mov dword [esp], esi
call dword [esi + 8]
mov eax, dword [edi + 0x18]
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x758ad4
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.depth
mov dword [esp], esi
call dword [esi + 8]
mov eax, dword [edi + 0x18]
mov eax, dword [eax + 0xc]
mov dword [esp + 4], 0x758ad4
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.cache_linesize
mov dword [esp], esi
call dword [esi + 8]
mov eax, dword [edi + 0x18]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], 0x758b99
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.cache_associativity
mov dword [esp], esi
call dword [esi + 8]
mov eax, dword [edi + 0x18]
mov eax, dword [eax + 0x14]
mov dword [esp + 4], 0x758b99
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.cache_type
mov dword [esp], esi
call dword [esi + 8]
jmp case.default.0x505833
mov eax, dword [edi + 0x18]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov ebx, edx
or ebx, ecx
jne 0x506499
mov ebx, dword [eax + 8]
test ebx, ebx
je case.default.0x505833
lea ebx, [ebp - 0x158]
lea esi, [ebp - 0x117]
mov dword [ebp - 0x1b0], 0
mov eax, ebx
mov ebx, edi
mov edi, eax
lea esi, [esi]
mov dword [esp + 8], str.page_type
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call dword [eax + 4]
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [eax + 0xc]
shl ecx, 4
mov dword [ebp - 0x1b8], ecx
mov edx, dword [eax + ecx + 4]
mov eax, dword [eax + ecx]
mov dword [esp + 4], 0x758b31
mov dword [esp], esi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], esi
mov dword [esp + 4], str.size
mov dword [esp], edi
call dword [ebp - 0x150]
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + ecx + 0xc]
mov eax, dword [eax + ecx + 8]
mov dword [esp + 4], 0x758b31
mov dword [esp], esi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], esi
mov dword [esp + 4], str.count
mov dword [esp], edi
call dword [ebp - 0x150]
mov dword [esp + 4], str.page_type
mov dword [esp], edi
call dword [ebp - 0x148]
mov eax, dword [ebx + 0x18]
add dword [ebp - 0x1b0], 1
mov ecx, dword [ebp - 0x1b0]
cmp dword [eax + 8], ecx
ja 0x505e30
mov edi, ebx
jmp case.default.0x505833
mov eax, dword [edi + 0x18]
lea esi, [ebp - 0x117]
mov edx, dword [eax + 0x20]
mov dword [esp + 0xc], edx
mov eax, dword [eax + 0x18]
mov dword [esp + 4], str._d__d
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], esi
mov dword [esp + 4], str.bridge_type
mov ebx, dword [ebp - 0x1b4]
mov dword [esp], ebx
call dword [ebx + 8]
mov eax, dword [edi + 0x18]
mov eax, dword [eax + 0x24]
mov dword [esp + 4], 0x758ad4
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], esi
mov dword [esp + 4], str.depth
mov dword [esp], ebx
call dword [ebx + 8]
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x20], 1
je 0x5065d7
cmp dword [eax + 0x18], 1
jne case.default.0x505833
jmp 0x505f99
mov eax, dword [edi + 0x18]
lea esi, [ebp - 0x117]
movzx edx, byte [eax + 4]
mov dword [esp + 0x14], edx
movzx edx, byte [eax + 3]
mov dword [esp + 0x10], edx
movzx edx, byte [eax + 2]
mov dword [esp + 0xc], edx
movzx eax, word [eax]
mov dword [esp + 4], str._04x:_02x:_02x._01x
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], esi
mov dword [esp + 4], str.pci_busid
mov ebx, dword [ebp - 0x1b4]
mov dword [esp], ebx
call dword [ebx + 8]
mov eax, dword [edi + 0x18]
movzx edx, byte [eax + 0x10]
mov dword [esp + 0x1c], edx
movzx edx, word [eax + 0xe]
mov dword [esp + 0x18], edx
movzx edx, word [eax + 0xc]
mov dword [esp + 0x14], edx
movzx edx, word [eax + 0xa]
mov dword [esp + 0x10], edx
movzx edx, word [eax + 8]
mov dword [esp + 0xc], edx
movzx eax, word [eax + 6]
mov dword [esp + 4], str._04x___04x:_04x____04x:_04x___02x
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], esi
mov dword [esp + 4], str.pci_type
mov dword [esp], ebx
call dword [ebx + 8]
mov eax, dword [edi + 0x18]
fld dword [eax + 0x14]
mov dword [esp + 4], 0x758c4f
mov dword [esp], esi
fstp qword [esp + 8]
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], esi
mov dword [esp + 4], str.pci_link_speed
mov dword [esp], ebx
call dword [ebx + 8]
jmp case.default.0x505833
lea edx, [eax - 4]
cmp edx, 7
ja 0x505583
mov dword [esp + 8], str.Cache
mov dword [esp + 4], str.type
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call ebx
jmp 0x5055a2
mov edx, dword [edi + 0x18]
cmp dword [edx], 5
jne 0x505b12
lea ebx, [ebp - 0x158]
mov dword [esp + 8], str.info
mov dword [esp + 4], ebx
mov ecx, dword [ebp - 0x1b4]
mov dword [esp], ecx
call eax
mov edx, dword [ebp - 0x150]
mov eax, str.CoProcType
jmp 0x505b3a
mov ebx, dword [ebp - 0x1d0]
mov dword [esp], ebx
call fcn.004fb8b0
mov eax, dword [ebx + 0x1a0]
test eax, eax
je 0x505b84
mov dword [ebp - 0x1dc], edi
mov edi, eax
mov eax, dword [edi + 4]
mov ebx, dword [edi]
mov dword [ebp - 0x1bc], eax
mov dword [esp + 4], ebx
mov esi, dword [ebp - 0x1d0]
mov dword [esp], esi
call fcn.004f8ec0
mov edx, eax
xor eax, eax
cmp edx, 0xffffffff
je 0x50613f
cmp edx, 0xfffffffe
je 0x5066dc
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.004f8f20
mov ecx, dword [ebp - 0x1bc]
cmp ecx, eax
jne 0x5063f1
test byte [edi + 0x10], 4
je 0x5063f1
lea esi, [ecx*4]
mov dword [ebp - 0x1d8], esp
lea eax, [esi + 0x12]
shr eax, 4
shl eax, 4
call fcn.00537be0
sub esp, eax
test ecx, ecx
lea eax, [esp + 0x20]
mov dword [ebp - 0x1c0], eax
je 0x50661f
mov dword [ebp - 0x1b8], esi
mov eax, dword [edi + 0x14]
xor edx, edx
mov esi, dword [ebp - 0x1c0]
mov dword [ebp - 0x1b0], ebx
mov ebx, ecx
nop
mov ecx, dword [eax + edx*4]
mov ecx, dword [ecx + 0x20]
mov dword [esi + ecx*4], edx
add edx, 1
cmp ebx, edx
jne 0x5061a0
mov ebx, dword [ebp - 0x1b0]
xor edx, edx
mov esi, dword [ebp - 0x1b8]
cmp ebx, 0xd
je 0x5064d7
mov ecx, dword [eax + edx*4]
jmp 0x5061d7
mov esi, dword [ecx + 0x54]
test esi, esi
jne 0x5061f0
mov ecx, dword [ecx + 0x2c]
test ecx, ecx
jne 0x5061d0
add edx, 1
cmp dword [ebp - 0x1bc], edx
jne 0x5061c7
xor esi, esi
jmp 0x5061f6
mov esi, dword [ebp - 0x1cc]
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x1d0]
lea ebx, [ebp - 0x117]
mov dword [esp], eax
call fcn.004f8ec0
add esi, eax
lea eax, [ebp - 0x198]
mov dword [esp + 8], str.distances
mov dword [ebp - 0x1c8], eax
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x1b4]
mov dword [esp], ecx
call dword [ecx + 4]
mov ecx, dword [ebp - 0x1bc]
mov dword [esp + 4], 0x758ad4
mov dword [esp + 8], ecx
mov dword [ebp - 0x1b0], ebx
mov dword [esp], ebx
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.nbobjs
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call dword [ebp - 0x190]
mov dword [esp + 8], esi
mov dword [esp + 4], 0x758b99
mov dword [esp], ebx
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.relative_depth
mov esi, dword [ebp - 0x1c8]
mov dword [esp], esi
call dword [ebp - 0x190]
fld1
mov dword [esp + 4], 0x758c4f
mov dword [esp], ebx
fstp qword [esp + 8]
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.latency_base
mov dword [esp], esi
call dword [ebp - 0x190]
mov eax, dword [ebp - 0x1bc]
test eax, eax
je 0x5063d4
lea esi, [ebp - 0x158]
mov dword [ebp - 0x1d4], 0
mov esi, esi
lea edi, [edi]
mov ebx, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1bc]
imul eax, dword [ecx + ebx*4]
xor ebx, ebx
mov dword [ebp - 0x1c4], eax
nop
mov eax, dword [ebp - 0x1c0]
mov edx, dword [ebp - 0x1c4]
add edx, dword [eax + ebx*4]
mov dword [ebp - 0x1b8], edx
mov dword [esp + 8], str.latency
mov dword [esp + 4], esi
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call dword [ebp - 0x194]
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0x1b8]
fild qword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
test eax, eax
jns 0x50635a
fadd dword [0x75a23c]
fstp dword [ebp - 0x1ac]
add ebx, 1
fld dword [ebp - 0x1ac]
mov dword [esp + 4], 0x758c4f
fstp qword [esp + 8]
mov eax, dword [ebp - 0x1b0]
mov dword [esp], eax
call sub.msvcrt.dll_strcoll
mov eax, dword [ebp - 0x1b0]
mov dword [esp + 4], str.value
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [ebp - 0x150]
mov dword [esp + 4], str.latency
mov dword [esp], esi
call dword [ebp - 0x148]
cmp dword [ebp - 0x1bc], ebx
jne 0x506310
add dword [ebp - 0x1d4], 1
mov eax, dword [ebp - 0x1d4]
cmp dword [ebp - 0x1bc], eax
jne 0x5062f0
mov dword [esp + 4], str.distances
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call dword [ebp - 0x188]
mov esp, dword [ebp - 0x1d8]
mov edi, dword [edi + 0x24]
test edi, edi
jne 0x506104
mov edi, dword [ebp - 0x1dc]
jmp 0x505b84
mov eax, dword [eax + 4]
lea ebx, [ebp - 0x117]
mov dword [esp + 4], 0x758ad4
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.kind
mov esi, dword [ebp - 0x1b4]
mov dword [esp], esi
call dword [esi + 8]
mov eax, dword [edi + 0x18]
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x758ad4
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.subkind
mov dword [esp], esi
call dword [esi + 8]
mov eax, dword [edi + 0x18]
cmp byte [eax + 0xc], 0
je case.default.0x505833
mov dword [esp + 8], 0x758bbb
mov dword [esp + 4], str.dont_merge
mov dword [esp], esi
call dword [esi + 8]
jmp case.default.0x505833
lea esi, [ebp - 0x117]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 4], 0x758b31
mov dword [esp], esi
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], esi
mov dword [esp + 4], str.local_memory
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call dword [eax + 8]
mov eax, dword [edi + 0x18]
jmp 0x505e05
mov ecx, dword [ebp - 0x1b4]
add esi, eax
mov ebx, 0xffffffff
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x1b0], ecx
lea esi, [esi]
mov edx, dword [eax]
mov edx, dword [edx + 0x2c]
cmp dword [edx], 0xd
je 0x5064f2
mov edx, dword [edx + 0x1c]
lea ecx, [edx + 1]
cmp ebx, edx
cmovle ebx, ecx
add eax, 4
cmp eax, esi
jne 0x5064f0
lea esi, [ebp - 0x198]
mov dword [esp + 8], str.distances
mov dword [ebp - 0x1c8], esi
mov dword [esp + 4], esi
lea esi, [ebp - 0x117]
mov ecx, dword [ebp - 0x1b4]
mov dword [esp], ecx
mov ecx, dword [ebp - 0x1b0]
call ecx
mov ecx, dword [ebp - 0x1bc]
mov dword [esp + 4], 0x758ad4
mov dword [esp + 8], ecx
mov dword [ebp - 0x1b0], esi
mov dword [esp], esi
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], esi
mov dword [esp + 4], str.nbobjs
mov eax, dword [ebp - 0x1c8]
mov dword [esp], eax
call dword [ebp - 0x190]
mov dword [esp + 8], ebx
mov dword [esp], esi
mov ebx, esi
mov dword [esp + 4], 0x758b99
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], esi
mov dword [esp + 4], str.relative_depth
mov esi, dword [ebp - 0x1c8]
mov dword [esp], esi
call dword [ebp - 0x190]
fld1
mov dword [esp + 4], 0x758c4f
mov dword [esp], ebx
fstp qword [esp + 8]
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.latency_base
mov dword [esp], esi
call dword [ebp - 0x190]
jmp 0x5062d7
movzx edx, byte [eax + 0x1f]
mov dword [esp + 0x10], edx
movzx edx, byte [eax + 0x1e]
mov dword [esp + 0xc], edx
movzx eax, word [eax + 0x1c]
mov dword [esp + 4], str._04x:__02x__02x_
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], esi
mov dword [esp + 4], str.bridge_pci
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call dword [eax + 8]
mov eax, dword [edi + 0x18]
jmp 0x505f7b
cmp ebx, 0xd
jne 0x5061e9
lea esi, [ebp - 0x198]
mov dword [esp + 8], str.distances
lea ebx, [ebp - 0x117]
mov dword [ebp - 0x1c8], esi
mov dword [esp + 4], esi
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call dword [eax + 4]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x758ad4
mov dword [esp], ebx
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.nbobjs
mov dword [esp], esi
call dword [ebp - 0x190]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x758b99
mov dword [esp], ebx
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.relative_depth
mov dword [esp], esi
call dword [ebp - 0x190]
fld1
mov dword [esp + 4], 0x758c4f
mov dword [esp], ebx
fstp qword [esp + 8]
call sub.msvcrt.dll_strcoll
mov dword [esp + 8], ebx
mov dword [esp + 4], str.latency_base
mov dword [esp], esi
call dword [ebp - 0x190]
jmp 0x5063d4
mov eax, 0xffffffff
jmp 0x50613f