Function at 0x1002d370
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100fa33e
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3d8
mov eax, dword [0x1013306c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor edi, edi
mov dword [ebp - 0x2ac], edi
push str.CHalFunction::GetQueryInfo
push str.__s__in
mov dword [ebp - 4], edi
call fcn.10057720
add esp, 8
mov dword [ebp - 0x268], edi
xor eax, eax
mov dword [ebp - 0x264], 7
lea ecx, [ebp - 0x278]
mov word [ebp - 0x278], ax
push 0x4a
push str.__xml_version_1.0__encoding_UTF_8__standalone_no_____root__capability__n
call fcn.10004ac0
push 0x1011bb34
mov byte [ebp - 4], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [ebx + 0xc]
xor esi, esi
sub ecx, dword [ebx + 8]
mov dword [ebp - 0x2ac], eax
mov eax, 0x66666667
imul ecx
mov byte [ebp - 0x285], 1
sar edx, 4
mov eax, edx
mov dword [ebp - 0x28c], esi
shr eax, 0x1f
add eax, edx
je 0x1002efe6
nop word [eax + eax]
cmp byte [ebp - 0x285], 0
mov eax, dword [ebx + 8]
je 0x1002dbfd
lea esi, [esi + esi*4]
shl esi, 3
mov dword [ebp - 0x27c], esi
mov cl, byte [eax + esi]
test cl, cl
jne 0x1002d46d
cmp byte [eax + esi + 7], cl
je 0x1002dbf7
test cl, cl
mov eax, str._player_key_multi_hw_monitor_player___sensor_list__n
mov edx, str._player_key_hw_monitor_player___sensor_list__n
cmove edx, eax
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x2a8], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1002d487
sub ecx, dword [ebp - 0x2a8]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x278]
call fcn.10009790
mov eax, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x284], ecx
mov ecx, dword [eax + esi + 0x14]
sub ecx, dword [eax + esi + 0x10]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1002dbdb
xor esi, esi
mov dword [ebp - 0x280], esi
nop dword [eax + eax]
mov eax, dword [ebp - 0x27c]
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + eax + 0x10]
mov ecx, dword [ecx + esi]
lea esi, [ebp - 0x17]
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov ah, dl
shl al, 2
add ah, al
add ah, ah
sub cl, ah
add cl, 0x30
mov byte [esi], cl
mov ecx, edx
test ecx, ecx
jne 0x1002d4f3
lea eax, [ebp - 0x17]
mov dword [ebp - 0x250], edx
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], dl
cmp esi, eax
je 0x1002d542
sub eax, esi
lea ecx, [ebp - 0x260]
push eax
push esi
call fcn.10004c40
or edi, 3
push 0x1011bac0
push 0
mov byte [ebp - 4], 2
call fcn.100dedf5
cmp dword [ebp - 0x24c], 0x10
lea eax, [ebp - 0x260]
push 0x100
cmovae eax, dword [ebp - 0x260]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.100df0c1
add esp, 0x14
mov dword [ebp - 0x238], 0
xor ecx, ecx
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], cx
lea ecx, [ebp - 0x248]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.10004ac0
push 0xd
push str._sensor_key_
push 0
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 3
call fcn.10007ea0
mov dword [ebp - 0x294], 0
xor ecx, ecx
mov dword [ebp - 0x290], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2a4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x294], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 2
push 0x101205f4
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 4
call fcn.10009790
xor ecx, ecx
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movups xmmword [ebp - 0x2dc], xmm1
mov word [eax], cx
movq qword [ebp - 0x2cc], xmm0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2dc]
cmp dword [ebp - 0x2c8], 8
push dword [ebp - 0x2cc]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x2c8]
cmp edx, 8
jb 0x1002d6b2
mov ecx, dword [ebp - 0x2dc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002d6a8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x290]
cmp edx, 8
jb 0x1002d6f6
mov ecx, dword [ebp - 0x2a4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002d6ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
xor eax, eax
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x290], 7
mov word [ebp - 0x2a4], ax
cmp edx, 8
jb 0x1002d757
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002d74d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov eax, dword [ebx + 8]
mov edx, str._name_
mov ecx, dword [ebp - 0x27c]
mov esi, dword [ebp - 0x280]
mov eax, dword [eax + ecx + 0x10]
lea ecx, [ebp - 0x248]
add eax, 4
add eax, esi
push eax
call fcn.1004ef90
add esp, 4
push 7
push str.__name_
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.10009790
xor ecx, ecx
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movups xmmword [ebp - 0x2f4], xmm1
mov word [eax], cx
movq qword [ebp - 0x2e4], xmm0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2f4]
cmp dword [ebp - 0x2e0], 8
push dword [ebp - 0x2e4]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x2e0]
cmp edx, 8
jb 0x1002d82d
mov ecx, dword [ebp - 0x2f4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002d823
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x234]
cmp edx, 8
jb 0x1002d871
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002d867
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov eax, dword [ebx + 8]
mov edx, str._default_name_
mov ecx, dword [ebp - 0x27c]
mov eax, dword [eax + ecx + 0x10]
lea ecx, [ebp - 0x248]
add eax, 0x1c
add eax, esi
push eax
call fcn.1004ef90
add esp, 4
push 0xf
push str.__default_name_
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.10009790
xor ecx, ecx
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movups xmmword [ebp - 0x30c], xmm1
mov word [eax], cx
movq qword [ebp - 0x2fc], xmm0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x30c]
cmp dword [ebp - 0x2f8], 8
push dword [ebp - 0x2fc]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x2f8]
cmp edx, 8
jb 0x1002d941
mov ecx, dword [ebp - 0x30c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002d937
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x234]
cmp edx, 8
jb 0x1002d985
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002d97b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [eax + ecx + 0x10]
lea ecx, [ebp - 0x248]
mov edx, dword [edx + esi + 0x38]
call fcn.10016300
push 6
push str._type_
push 0
mov ecx, eax
mov byte [ebp - 4], 0xa
call fcn.10007ea0
mov dword [ebp - 0x294], 0
xor ecx, ecx
mov dword [ebp - 0x290], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2a4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x294], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 7
push str.__type_
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0xb
call fcn.10009790
xor ecx, ecx
or edi, 0x1fc
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movups xmmword [ebp - 0x324], xmm1
mov word [eax], cx
movq qword [ebp - 0x314], xmm0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x324]
cmp dword [ebp - 0x310], 8
push dword [ebp - 0x314]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x310]
cmp edx, 8
jb 0x1002daa7
mov ecx, dword [ebp - 0x324]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002da9d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x290]
cmp edx, 8
jb 0x1002daeb
mov ecx, dword [ebp - 0x2a4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002dae1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
xor eax, eax
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x290], 7
mov word [ebp - 0x2a4], ax
cmp edx, 8
jb 0x1002db4c
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002db42
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
push 0xa
push str.__sensor__n
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x24c]
cmp edx, 0x10
jb 0x1002db9c
mov ecx, dword [ebp - 0x260]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002db92
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov eax, dword [ebp - 0x27c]
add esi, 0x7c
mov edx, dword [ebx + 8]
inc dword [ebp - 0x284]
mov dword [ebp - 0x280], esi
mov ecx, dword [edx + eax + 0x14]
sub ecx, dword [edx + eax + 0x10]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x284], eax
jb 0x1002d4e0
push 0x18
push str.__sensor_list___player__n
lea ecx, [ebp - 0x278]
call fcn.10009790
mov eax, dword [ebx + 8]
mov byte [ebp - 0x285], 0
mov esi, dword [ebp - 0x28c]
lea esi, [esi + esi*4]
shl esi, 3
mov dword [ebp - 0x2a8], esi
cmp byte [eax + esi + 0xa], 0
je 0x1002e380
push 0x35
push str._player_key_matrix_hw_monitor_player___sensor_list__n
lea ecx, [ebp - 0x278]
call fcn.10009790
mov eax, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x280], ecx
mov ecx, dword [eax + esi + 0x14]
sub ecx, dword [eax + esi + 0x10]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1002e369
xor ecx, ecx
mov dword [ebp - 0x27c], ecx
nop word [eax + eax]
mov eax, dword [ebx + 8]
mov eax, dword [eax + esi + 0x10]
lea esi, [ebp - 0x17]
mov ecx, dword [eax + ecx]
mov dword [ebp - 0x284], ecx
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x284]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x284], eax
test eax, eax
jne 0x1002dc73
lea eax, [ebp - 0x17]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
cmp esi, eax
je 0x1002dcd4
sub eax, esi
lea ecx, [ebp - 0x260]
push eax
push esi
call fcn.10004c40
or edi, 0x600
push 0x1011bac0
push 0
mov byte [ebp - 4], 0xd
call fcn.100dedf5
cmp dword [ebp - 0x24c], 0x10
lea eax, [ebp - 0x260]
push 0x100
cmovae eax, dword [ebp - 0x260]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.100df0c1
add esp, 0x14
mov dword [ebp - 0x238], 0
xor ecx, ecx
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], cx
lea ecx, [ebp - 0x248]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.10004ac0
push 0xd
push str._sensor_key_
push 0
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0xe
call fcn.10007ea0
mov dword [ebp - 0x294], 0
xor ecx, ecx
mov dword [ebp - 0x290], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2a4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x294], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 2
push 0x101205f4
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0xf
call fcn.10009790
xor ecx, ecx
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movups xmmword [ebp - 0x33c], xmm1
mov word [eax], cx
movq qword [ebp - 0x32c], xmm0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x33c]
cmp dword [ebp - 0x328], 8
push dword [ebp - 0x32c]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x328]
cmp edx, 8
jb 0x1002de47
mov ecx, dword [ebp - 0x33c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002de3d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x290]
cmp edx, 8
jb 0x1002de8b
mov ecx, dword [ebp - 0x2a4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002de81
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x290], 7
mov word [ebp - 0x2a4], ax
cmp edx, 8
jb 0x1002deec
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002dee2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x248]
mov esi, dword [ebp - 0x2a8]
mov edx, str._name_
mov eax, dword [eax + esi + 0x10]
add eax, 4
add eax, dword [ebp - 0x27c]
push eax
call fcn.1004ef90
add esp, 4
push 7
push str.__name_
mov ecx, eax
mov byte [ebp - 4], 0x11
call fcn.10009790
xor ecx, ecx
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movups xmmword [ebp - 0x354], xmm1
mov word [eax], cx
movq qword [ebp - 0x344], xmm0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x354]
cmp dword [ebp - 0x340], 8
push dword [ebp - 0x344]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x340]
cmp edx, 8
jb 0x1002dfc0
mov ecx, dword [ebp - 0x354]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002dfb6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x234]
cmp edx, 8
jb 0x1002e004
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002dffa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x248]
mov edx, str._default_name_
mov eax, dword [eax + esi + 0x10]
add eax, 0x1c
add eax, dword [ebp - 0x27c]
push eax
call fcn.1004ef90
add esp, 4
push 0xf
push str.__default_name_
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.10009790
xor ecx, ecx
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movups xmmword [ebp - 0x36c], xmm1
mov word [eax], cx
movq qword [ebp - 0x35c], xmm0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x36c]
cmp dword [ebp - 0x358], 8
push dword [ebp - 0x35c]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x358]
cmp edx, 8
jb 0x1002e0d2
mov ecx, dword [ebp - 0x36c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e0c8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x234]
cmp edx, 8
jb 0x1002e116
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e10c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x248]
mov edx, dword [eax + esi + 0x10]
add edx, dword [ebp - 0x27c]
mov edx, dword [edx + 0x38]
call fcn.10016300
push 6
push str._type_
push 0
mov ecx, eax
mov byte [ebp - 4], 0x15
call fcn.10007ea0
mov dword [ebp - 0x294], 0
xor ecx, ecx
mov dword [ebp - 0x290], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2a4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x294], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 7
push str.__type_
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0x16
call fcn.10009790
xor ecx, ecx
or edi, 0x3f800
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movups xmmword [ebp - 0x384], xmm1
mov word [eax], cx
movq qword [ebp - 0x374], xmm0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x384]
cmp dword [ebp - 0x370], 8
push dword [ebp - 0x374]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x370]
cmp edx, 8
jb 0x1002e237
mov ecx, dword [ebp - 0x384]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e22d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x290]
cmp edx, 8
jb 0x1002e27b
mov ecx, dword [ebp - 0x2a4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e271
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x290], 7
mov word [ebp - 0x2a4], ax
cmp edx, 8
jb 0x1002e2dc
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e2d2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
push 0xa
push str.__sensor__n
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x24c]
cmp edx, 0x10
jb 0x1002e32c
mov ecx, dword [ebp - 0x260]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e322
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov eax, dword [ebx + 8]
inc dword [ebp - 0x280]
add dword [ebp - 0x27c], 0x7c
mov ecx, dword [eax + esi + 0x14]
sub ecx, dword [eax + esi + 0x10]
mov eax, 0x84210843
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x27c]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x280], eax
jb 0x1002dc60
push 0x18
push str.__sensor_list___player__n
lea ecx, [ebp - 0x278]
call fcn.10009790
jmp 0x1002edc1
cmp byte [eax + esi + 0xc], 0
je 0x1002eaf1
push 0x32
push str._player_key_led_hw_monitor_player___sensor_list__n
lea ecx, [ebp - 0x278]
call fcn.10009790
mov eax, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x284], ecx
mov ecx, dword [eax + esi + 0x14]
sub ecx, dword [eax + esi + 0x10]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1002eada
xor ecx, ecx
mov dword [ebp - 0x27c], ecx
mov eax, dword [ebx + 8]
mov eax, dword [eax + esi + 0x10]
lea esi, [ebp - 0x17]
mov ecx, dword [eax + ecx]
mov dword [ebp - 0x280], ecx
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x280]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x280], eax
test eax, eax
jne 0x1002e3e4
lea eax, [ebp - 0x17]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
cmp esi, eax
je 0x1002e445
sub eax, esi
lea ecx, [ebp - 0x260]
push eax
push esi
call fcn.10004c40
or edi, 0xc0000
push 0x1011bac0
push 0
mov byte [ebp - 4], 0x18
call fcn.100dedf5
cmp dword [ebp - 0x24c], 0x10
lea eax, [ebp - 0x260]
push 0x100
cmovae eax, dword [ebp - 0x260]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.100df0c1
add esp, 0x14
mov dword [ebp - 0x238], 0
xor ecx, ecx
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], cx
lea ecx, [ebp - 0x248]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.10004ac0
push 0xd
push str._sensor_key_
push 0
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x19
call fcn.10007ea0
mov dword [ebp - 0x294], 0
xor ecx, ecx
mov dword [ebp - 0x290], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2a4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x294], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 2
push 0x101205f4
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0x1a
call fcn.10009790
xor ecx, ecx
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movups xmmword [ebp - 0x39c], xmm1
mov word [eax], cx
movq qword [ebp - 0x38c], xmm0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x39c]
cmp dword [ebp - 0x388], 8
push dword [ebp - 0x38c]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x388]
cmp edx, 8
jb 0x1002e5b8
mov ecx, dword [ebp - 0x39c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e5ae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x290]
cmp edx, 8
jb 0x1002e5fc
mov ecx, dword [ebp - 0x2a4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e5f2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x290], 7
mov word [ebp - 0x2a4], ax
cmp edx, 8
jb 0x1002e65d
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e653
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x248]
mov esi, dword [ebp - 0x2a8]
mov edx, str._name_
mov eax, dword [eax + esi + 0x10]
add eax, 4
add eax, dword [ebp - 0x27c]
push eax
call fcn.1004ef90
add esp, 4
push 7
push str.__name_
mov ecx, eax
mov byte [ebp - 4], 0x1c
call fcn.10009790
xor ecx, ecx
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movups xmmword [ebp - 0x3b4], xmm1
mov word [eax], cx
movq qword [ebp - 0x3a4], xmm0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x3b4]
cmp dword [ebp - 0x3a0], 8
push dword [ebp - 0x3a4]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x3a0]
cmp edx, 8
jb 0x1002e731
mov ecx, dword [ebp - 0x3b4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e727
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x234]
cmp edx, 8
jb 0x1002e775
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e76b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x248]
mov edx, str._default_name_
mov eax, dword [eax + esi + 0x10]
add eax, 0x1c
add eax, dword [ebp - 0x27c]
push eax
call fcn.1004ef90
add esp, 4
push 0xf
push str.__default_name_
mov ecx, eax
mov byte [ebp - 4], 0x1e
call fcn.10009790
xor ecx, ecx
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movups xmmword [ebp - 0x3cc], xmm1
mov word [eax], cx
movq qword [ebp - 0x3bc], xmm0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x3cc]
cmp dword [ebp - 0x3b8], 8
push dword [ebp - 0x3bc]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x3b8]
cmp edx, 8
jb 0x1002e843
mov ecx, dword [ebp - 0x3cc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e839
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x234]
cmp edx, 8
jb 0x1002e887
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e87d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x248]
mov edx, dword [eax + esi + 0x10]
add edx, dword [ebp - 0x27c]
mov edx, dword [edx + 0x38]
call fcn.10016300
push 6
push str._type_
push 0
mov ecx, eax
mov byte [ebp - 4], 0x20
call fcn.10007ea0
mov dword [ebp - 0x294], 0
xor ecx, ecx
mov dword [ebp - 0x290], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2a4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x294], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 7
push str.__type_
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0x21
call fcn.10009790
xor ecx, ecx
or edi, 0x7f00000
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movups xmmword [ebp - 0x3e4], xmm1
mov word [eax], cx
movq qword [ebp - 0x3d4], xmm0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x3e4]
cmp dword [ebp - 0x3d0], 8
push dword [ebp - 0x3d4]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x3d0]
cmp edx, 8
jb 0x1002e9a8
mov ecx, dword [ebp - 0x3e4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e99e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov byte [ebp - 4], 0x20
mov edx, dword [ebp - 0x290]
cmp edx, 8
jb 0x1002e9ec
mov ecx, dword [ebp - 0x2a4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e9e2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x290], 7
mov word [ebp - 0x2a4], ax
cmp edx, 8
jb 0x1002ea4d
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002ea43
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
push 0xa
push str.__sensor__n
lea ecx, [ebp - 0x278]
call fcn.10009790
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x24c]
cmp edx, 0x10
jb 0x1002ea9d
mov ecx, dword [ebp - 0x260]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002ea93
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f062
push edx
push ecx
call fcn.100713c7
add esp, 8
mov eax, dword [ebx + 8]
inc dword [ebp - 0x284]
add dword [ebp - 0x27c], 0x7c
mov ecx, dword [eax + esi + 0x14]
sub ecx, dword [eax + esi + 0x10]
mov eax, 0x84210843
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x27c]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x284], eax
jb 0x1002e3d1
push 0x18
push str.__sensor_list___player__n
lea ecx, [ebp - 0x278]
call fcn.10009790
jmp 0x1002edc1
cmp byte [eax + esi + 0xd], 0
je 0x1002edc1
push 0x28
push str._player_key_led_player2___sensor_list__n
lea ecx, [ebp - 0x278]
call fcn.10009790
mov eax, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x280], ecx
mov ecx, dword [eax + esi + 0x14]
sub ecx, dword [eax + esi + 0x10]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1002edb1
xor eax, eax
mov dword [ebp - 0x27c], eax
mov edx, dword [ebx + 8]
lea ecx, [ebp - 0x17]
mov edx, dword [edx + esi + 0x10]
mov edx, dword [edx + eax]
call fcn.10050d20
push ecx
lea ecx, [ebp - 0x17]
push ecx
push eax
lea ecx, [ebp - 0x248]
call fcn.10050ce0
or edi, 0x18000000
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x23
push eax
lea eax, [ebp - 0x2c4]
push eax
call fcn.10058150
push eax
mov edx, str._sensor_key_
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x2a4]
call fcn.1004ef20
add esp, 4
push 0x101205f4
mov edx, eax
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x260]
call fcn.1000f240
add esp, 4
push eax
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x26
call fcn.10009770
lea ecx, [ebp - 0x260]
call fcn.10004680
lea ecx, [ebp - 0x2a4]
call fcn.10004680
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 0x23
call fcn.10004680
push dword [ebp - 0x28c]
lea ecx, [ebx + 8]
call fcn.1004b990
mov edx, str._name_
lea ecx, [ebp - 0x260]
mov eax, dword [eax + 0x10]
add eax, 4
add eax, dword [ebp - 0x27c]
push eax
call fcn.1004ef90
add esp, 4
push str.__name_
mov edx, eax
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x2c4]
call fcn.1000f240
add esp, 4
push eax
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x28
call fcn.10009770
lea ecx, [ebp - 0x2c4]
call fcn.10004680
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x23
call fcn.10004680
push dword [ebp - 0x28c]
lea ecx, [ebx + 8]
call fcn.1004b990
mov edx, str._default_name_
mov eax, dword [eax + 0x10]
add eax, 0x1c
add eax, dword [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x260]
call fcn.1004ef90
add esp, 4
push str.__default_name_
mov edx, eax
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x2c4]
call fcn.1000f240
add esp, 4
push eax
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x2a
call fcn.10009770
lea ecx, [ebp - 0x2c4]
call fcn.10004680
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x23
call fcn.10004680
push dword [ebp - 0x28c]
lea ecx, [ebx + 8]
call fcn.1004b990
lea ecx, [ebp - 0x2a4]
mov edx, dword [eax + 0x10]
add edx, dword [ebp - 0x27c]
mov edx, dword [edx + 0x38]
call fcn.10016300
push eax
mov edx, str._type_
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x260]
call fcn.1004ef20
add esp, 4
push str.__type_
mov edx, eax
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x2c4]
call fcn.1000f240
add esp, 4
push eax
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x2d
call fcn.10009770
lea ecx, [ebp - 0x2c4]
call fcn.10004680
lea ecx, [ebp - 0x260]
call fcn.10004680
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0x23
call fcn.10004680
push str.__sensor__n
lea ecx, [ebp - 0x278]
call fcn.1000e150
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 1
call fcn.100047b0
mov eax, dword [ebx + 8]
inc dword [ebp - 0x280]
add dword [ebp - 0x27c], 0x7c
mov ecx, dword [esi + eax + 0x14]
sub ecx, dword [esi + eax + 0x10]
mov eax, 0x84210843
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x27c]
jb 0x1002eb42
push str.__sensor_list___player__n
lea ecx, [ebp - 0x278]
call fcn.1000e150
mov esi, dword [ebp - 0x28c]
lea ecx, [ebp - 0x260]
inc esi
mov edx, esi
call fcn.10016300
push eax
mov edx, str._device_list_key_
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x248]
call fcn.1004ef20
add esp, 4
push 0x101205f4
mov edx, eax
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x2c4]
call fcn.1000f240
add esp, 4
push eax
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x30
call fcn.10009770
lea ecx, [ebp - 0x2c4]
call fcn.10004680
lea ecx, [ebp - 0x248]
call fcn.10004680
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 1
call fcn.10004680
push dword [ebp - 0x28c]
lea ecx, [ebx + 8]
call fcn.1004b990
lea ecx, [ebp - 0x260]
mov edx, dword [eax + 0x1c]
call fcn.10016300
push eax
mov edx, str._type_
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x248]
call fcn.1004ef20
add esp, 4
push str.__type_
mov edx, eax
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x2c4]
call fcn.1000f240
add esp, 4
push eax
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x33
call fcn.10009770
lea ecx, [ebp - 0x2c4]
call fcn.10004680
lea ecx, [ebp - 0x248]
call fcn.10004680
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 1
call fcn.10004680
ret
push edi
std
invalid
push dword [ebp - 0x28c]
lea ecx, [ebx + 8]
call fcn.1004b990
lea ecx, [ebp - 0x260]
mov edx, dword [eax + 0x20]
call fcn.10016300
push eax
mov edx, str._layout_
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x248]
call fcn.1004ef20
add esp, 4
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x2c4]
push str.__layout_
mov edx, eax
call fcn.1000f240
add esp, 4
push eax
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x36
call fcn.10009770
lea ecx, [ebp - 0x2c4]
call fcn.10004680
lea ecx, [ebp - 0x248]
call fcn.10004680
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 1
call fcn.10004680
push dword [ebp - 0x28c]
lea ecx, [ebx + 8]
call fcn.1004b990
lea ecx, [ebp - 0x260]
mov edx, dword [eax + 0x24]
call fcn.10016300
push eax
mov edx, str._deviceid_
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x248]
call fcn.1004ef20
add esp, 4
push str.__deviceid___device_list__n
mov edx, eax
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x2c4]
call fcn.1000f240
add esp, 4
push eax
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x39
call fcn.10009770
lea ecx, [ebp - 0x2c4]
call fcn.10004680
lea ecx, [ebp - 0x248]
call fcn.10004680
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 1
call fcn.10004680
mov ecx, dword [ebx + 0xc]
mov eax, 0x66666667
sub ecx, dword [ebx + 8]
imul ecx
mov dword [ebp - 0x28c], esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x1002d440
push str.__capability___root__n
lea ecx, [ebp - 0x278]
call fcn.1000e150
cmp dword [ebp - 0x268], 0
jbe 0x1002f017
lea ecx, [ebp - 0x278]
call fcn.10004670
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x2ac], eax
push str.CHalFunction::GetQueryInfo
push str.__s__out
call fcn.10057720
add esp, 8
lea ecx, [ebp - 0x278]
call fcn.10004680
lea ecx, [ebx + 8]
call fcn.1004d710
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10070d87
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
call fcn.100d4798
int3