Function at 0x427b60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4b89b8
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4eb86c]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov esi, ecx
mov ebp, dword [esp + 0x28]
cmp dword [ebp - 0xc], 0
mov dword [esp + 0x20], 0
jne 0x427bae
push str._INFO_modelID_is_empty
call fcn.0044f300
push eax
call fcn.0044fb20
add esp, 8
jmp 0x427be0
push ebp
push str._INFO_modelID:_s
call fcn.0044f300
push eax
call fcn.0044fb20
add esp, 8
lea eax, [ebp - 0x10]
mov dword [esp + 0x18], esp
mov edi, esp
push eax
call fcn.00403380
add eax, 0x10
add esp, 4
mov ecx, esi
mov dword [edi], eax
call fcn.00427770
xor edi, edi
xor ebx, ebx
mov eax, dword [esi + 0x18]
test eax, eax
je 0x427cb0
mov ecx, dword [esi + 0x1c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x427cb0
mov eax, dword [esi + 0x18]
test eax, eax
je 0x427c2c
mov ecx, dword [esi + 0x1c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x427c31
call fcn.00488c34
mov eax, dword [esi + 0x18]
mov eax, dword [ebx + eax]
mov ecx, ebp
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x427c66
test dx, dx
je 0x427c62
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x427c66
add eax, 4
add ecx, 4
test dx, dx
jne 0x427c40
xor eax, eax
jmp 0x427c6b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x427c75
cmp dword [ebp - 0xc], 0
jne 0x427ca5
mov eax, dword [esi + 0x18]
test eax, eax
je 0x427c95
mov ecx, dword [esi + 0x1c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x427c9a
call fcn.00488c34
mov ecx, dword [esi + 0x18]
mov dword [ecx + ebx + 8], 1
add edi, 1
add ebx, 0xc
jmp 0x427be4
xor edi, edi
xor ebx, ebx
mov eax, dword [esi + 0x28]
test eax, eax
je 0x427d80
mov ecx, dword [esi + 0x2c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x427d80
mov eax, dword [esi + 0x28]
test eax, eax
je 0x427cfc
mov ecx, dword [esi + 0x2c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x427d01
call fcn.00488c34
mov edx, dword [esi + 0x28]
mov eax, dword [ebx + edx]
mov ecx, ebp
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x427d36
test dx, dx
je 0x427d32
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x427d36
add eax, 4
add ecx, 4
test dx, dx
jne 0x427d10
xor eax, eax
jmp 0x427d3b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x427d45
cmp dword [ebp - 0xc], 0
jne 0x427d75
mov eax, dword [esi + 0x28]
test eax, eax
je 0x427d65
mov ecx, dword [esi + 0x2c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x427d6a
call fcn.00488c34
mov eax, dword [esi + 0x28]
mov dword [ebx + eax + 8], 1
add edi, 1
add ebx, 0xc
jmp 0x427cb4
xor edi, edi
xor ebx, ebx
mov eax, dword [esi + 0x38]
test eax, eax
je 0x427e50
mov ecx, dword [esi + 0x3c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x427e50
mov eax, dword [esi + 0x38]
test eax, eax
je 0x427dcc
mov ecx, dword [esi + 0x3c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x427dd1
call fcn.00488c34
mov edx, dword [esi + 0x38]
mov eax, dword [ebx + edx]
mov ecx, ebp
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x427e06
test dx, dx
je 0x427e02
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x427e06
add eax, 4
add ecx, 4
test dx, dx
jne 0x427de0
xor eax, eax
jmp 0x427e0b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x427e15
cmp dword [ebp - 0xc], 0
jne 0x427e45
mov eax, dword [esi + 0x38]
test eax, eax
je 0x427e35
mov ecx, dword [esi + 0x3c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x427e3a
call fcn.00488c34
mov eax, dword [esi + 0x38]
mov dword [ebx + eax + 8], 1
add edi, 1
add ebx, 0xc
jmp 0x427d84
xor edi, edi
xor ebx, ebx
mov eax, dword [esi + 0x48]
test eax, eax
je 0x427f21
mov ecx, dword [esi + 0x4c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x427f21
mov eax, dword [esi + 0x48]
test eax, eax
je 0x427e9e
mov ecx, dword [esi + 0x4c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x427ea3
call fcn.00488c34
mov edx, dword [esi + 0x48]
mov eax, dword [ebx + edx]
mov ecx, ebp
jmp 0x427eb0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x427ed6
test dx, dx
je 0x427ed2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x427ed6
add eax, 4
add ecx, 4
test dx, dx
jne 0x427eb0
xor eax, eax
jmp 0x427edb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x427ee5
cmp dword [ebp - 0xc], 0
jne 0x427f16
mov eax, dword [esi + 0x48]
test eax, eax
je 0x427f06
mov ecx, dword [esi + 0x4c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x427f0b
call fcn.00488c34
mov eax, dword [esi + 0x48]
mov dword [ebx + eax + 0x14], 1
add edi, 1
add ebx, 0x18
jmp 0x427e54
xor edi, edi
xor ebx, ebx
mov eax, dword [esi + 0x58]
test eax, eax
je 0x427ff1
mov ecx, dword [esi + 0x5c]
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x427ff1
mov eax, dword [esi + 0x58]
test eax, eax
je 0x427f6f
mov ecx, dword [esi + 0x5c]
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x427f74
call fcn.00488c34
mov edx, dword [esi + 0x58]
mov eax, dword [edx + ebx]
mov ecx, ebp
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x427fa6
test dx, dx
je 0x427fa2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x427fa6
add eax, 4
add ecx, 4
test dx, dx
jne 0x427f80
xor eax, eax
jmp 0x427fab
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x427fb5
cmp dword [ebp - 0xc], 0
jne 0x427fe6
mov eax, dword [esi + 0x58]
test eax, eax
je 0x427fd6
mov ecx, dword [esi + 0x5c]
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x427fdb
call fcn.00488c34
mov eax, dword [esi + 0x58]
mov dword [eax + ebx + 0x10], 1
add edi, 1
add ebx, 0x14
jmp 0x427f25
xor edi, edi
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x428031
mov eax, dword [esi + 0x6c]
sub eax, ecx
sar eax, 3
cmp edi, eax
jae 0x428031
cmp dword [ebp - 0xc], 0
jne 0x42802c
test ecx, ecx
je 0x42801c
mov eax, dword [esi + 0x6c]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x428021
call fcn.00488c34
mov ecx, dword [esi + 0x68]
mov dword [ecx + edi*8 + 4], 1
add edi, 1
jmp 0x427ff3
xor edi, edi
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x428071
mov eax, dword [esi + 0x7c]
sub eax, ecx
sar eax, 3
cmp edi, eax
jae 0x428071
cmp dword [ebp - 0xc], 0
jne 0x42806c
test ecx, ecx
je 0x42805c
mov eax, dword [esi + 0x7c]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x428061
call fcn.00488c34
mov edx, dword [esi + 0x78]
mov dword [edx + edi*8 + 4], 1
add edi, 1
jmp 0x428033
xor edi, edi
mov ecx, dword [esi + 0x98]
test ecx, ecx
je 0x4280bd
mov eax, dword [esi + 0x9c]
sub eax, ecx
sar eax, 3
cmp edi, eax
jae 0x4280bd
cmp dword [ebp - 0xc], 0
jne 0x4280b8
test ecx, ecx
je 0x4280a5
mov eax, dword [esi + 0x9c]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x4280aa
call fcn.00488c34
mov eax, dword [esi + 0x98]
mov dword [eax + edi*8 + 4], 1
add edi, 1
jmp 0x428073
xor edi, edi
xor ebx, ebx
mov eax, dword [esi + 0x88]
test eax, eax
je 0x42819e
mov ecx, dword [esi + 0x8c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x42819e
mov eax, dword [esi + 0x88]
test eax, eax
je 0x428115
mov ecx, dword [esi + 0x8c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x42811a
call fcn.00488c34
mov edx, dword [esi + 0x88]
mov eax, dword [ebx + edx]
mov ecx, ebp
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42814b
test dx, dx
je 0x428147
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42814b
add eax, 4
add ecx, 4
test dx, dx
jne 0x428125
xor eax, eax
jmp 0x428150
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42815a
cmp dword [ebp - 0xc], 0
jne 0x428193
mov eax, dword [esi + 0x88]
test eax, eax
je 0x428180
mov ecx, dword [esi + 0x8c]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x428185
call fcn.00488c34
mov eax, dword [esi + 0x88]
mov dword [ebx + eax + 8], 1
add edi, 1
add ebx, 0xc
jmp 0x4280c1
xor edi, edi
xor ebx, ebx
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x428252
mov eax, dword [esi + 0xac]
sub eax, ecx
sar eax, 4
cmp edi, eax
jae 0x428252
test ecx, ecx
je 0x4281d6
mov eax, dword [esi + 0xac]
sub eax, ecx
sar eax, 4
cmp edi, eax
jb 0x4281db
call fcn.00488c34
mov edx, dword [esi + 0xa8]
mov eax, dword [ebx + edx]
mov ecx, ebp
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42820c
test dx, dx
je 0x428208
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42820c
add eax, 4
add ecx, 4
test dx, dx
jne 0x4281e6
xor eax, eax
jmp 0x428211
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42821b
cmp dword [ebp - 0xc], 0
jne 0x428247
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x428234
mov eax, dword [esi + 0xac]
sub eax, ecx
sar eax, 4
cmp edi, eax
jb 0x428239
call fcn.00488c34
mov eax, dword [esi + 0xa8]
mov dword [ebx + eax + 0xc], 1
add edi, 1
add ebx, 0x10
jmp 0x4281a2
lea eax, [ebp - 0x10]
mov dword [esp + 0x20], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428276
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4