Function at 0x1005e18e
Capabilities:
Inspect section memory permissions

Disassembly:
push 0xffffffffffffffff
push 0x100c69c9
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1012a750]
xor eax, esp
push eax
lea eax, [esp + 0x3c]
mov dword fs:[0], eax
mov ebp, ecx
push str.ArcAdapter::setFsaGeneralInfo_const_FSA_GENERAL_INFO2_pInfoIN_
xor ebx, ebx
push ebx
push 0x20
push 9
lea ecx, [esp + 0x34]
call fcn.100447f7
mov esi, dword [esp + 0x4c]
push 0x7b8
lea eax, [ebp + 0x4e8]
push esi
push eax
mov dword [esp + 0x50], ebx
call fcn.10099130
movzx eax, word [esi + 0x544]
add esp, 0xc
cmp ax, 0xffff
jne 0x1005e202
mov dword [ebp + 0x184], 0x7fffffff
jmp 0x1005e20b
movzx eax, ax
mov dword [ebp + 0x184], eax
movzx eax, byte [esi + 0x424]
push eax
movzx eax, byte [esi + 0x426]
push eax
movzx eax, byte [esi + 0x427]
push eax
mov edi, str._d._d__d
lea eax, [ebp + 0x1610]
push edi
push eax
call fcn.100995c4
movzx eax, byte [esi + 0x44c]
push eax
movzx eax, byte [esi + 0x44e]
push eax
movzx eax, byte [esi + 0x44f]
push eax
push edi
push dword [ebp + 0x15c]
call fcn.100995c4
movzx eax, byte [esi + 0x444]
push eax
movzx eax, byte [esi + 0x446]
push eax
movzx eax, byte [esi + 0x447]
push eax
push edi
push dword [ebp + 0x160]
call fcn.100995c4
movzx eax, byte [esi + 0x518]
push eax
movzx eax, byte [esi + 0x51a]
push eax
movzx eax, byte [esi + 0x51b]
push eax
push edi
push dword [ebp + 0x158]
call fcn.100995c4
movzx eax, byte [esi + 0x56c]
add esp, 0x50
push eax
movzx eax, byte [esi + 0x56e]
push eax
movzx eax, byte [esi + 0x56f]
push eax
lea eax, [ebp + 0x164]
push edi
push eax
call fcn.100995c4
movzx eax, byte [esi + 0x588]
push eax
movzx eax, byte [esi + 0x58a]
push eax
movzx eax, byte [esi + 0x58b]
push eax
push edi
push dword [ebp + 0x2ac]
call fcn.100995c4
push 0x20
lea edi, [ebp + 0x44c]
push ebx
push edi
call fcn.10098fe0
movzx ax, byte [esi + 0x45f]
movzx cx, byte [esi + 0x45e]
mov dl, byte [esi + 0x45d]
mov bl, byte [esi + 0x45c]
shl ax, 8
add ax, cx
movzx ecx, ax
mov al, dl
add esp, 0x34
add al, 0x41
cmp cx, 0x8000
jb 0x1005e355
cmp al, 0x5a
ja 0x1005e355
movzx ebx, bl
push ebx
movzx eax, al
push eax
movzx eax, dl
push ebx
push eax
movzx eax, cx
push eax
push str._04X._u._u___c_u_
push edi
call fcn.100995c4
add esp, 0x1c
jmp 0x1005e36f
movzx eax, bl
push eax
movzx eax, dl
push eax
movzx eax, cx
push eax
push str._04X._u._u
push edi
call fcn.100995c4
add esp, 0x14
mov eax, dword [ebp + 0x910]
mov dword [ebp + 0x160c], eax
mov eax, dword [ebp + 0x938]
mov dword [ebp + 0x254], eax
mov eax, dword [esi + 0x450]
mov dword [ebp + 0x258], eax
mov eax, dword [esi + 0x448]
mov dword [ebp + 0x260], eax
mov eax, dword [esi + 0x51c]
mov dword [ebp + 0x25c], eax
mov eax, dword [ebp + 0xa58]
mov dword [ebp + 0x1608], eax
mov eax, dword [ebp + 0xa74]
mov dword [ebp + 0x2b0], eax
mov eax, dword [esi + 0x474]
mov dword [ebp + 0x1554], eax
mov eax, dword [esi + 0x47c]
mov dword [ebp + 0x1558], eax
xor edx, edx
lea eax, [ebp + 0x1a0]
mov dword [eax], edx
mov dword [ebp + 0x190], edx
mov dword [ebp + 0x194], edx
mov ecx, dword [esi + 0x4bc]
inc ecx
mov dword [ebp + 0x18c], ecx
mov ecx, dword [esi + 0x4c0]
mov dword [ebp + 0x1a8], ecx
xor ecx, ecx
inc ecx
mov dword [eax], edx
mov dword [ebp + 0x1a4], ecx
mov eax, dword [esi + 0x674]
mov dword [ebp + 0x3f8], eax
mov dword [ebp + 0x1cc], 0x80
mov eax, dword [esi + 0x53c]
cmp eax, edx
je 0x1005e444
dec eax
mov dword [ebp + 0x19c], eax
mov dword [ebp + 0x198], ecx
jmp 0x1005e45c
mov eax, dword [esi + 0x484]
mov dword [ebp + 0x19c], eax
mov eax, dword [esi + 0x480]
mov dword [ebp + 0x198], eax
mov eax, dword [esi + 0x498]
mov dword [ebp + 0x155c], eax
mov eax, dword [esi + 0x488]
mov dword [ebp + 0x1560], eax
mov eax, dword [esi + 0x490]
mov dword [ebp + 0x1564], eax
mov eax, dword [esi + 0x494]
mov dword [ebp + 0x156c], eax
lea eax, [esi + 0x48c]
mov ecx, dword [eax]
mov dword [ebp + 0x1578], ecx
mov eax, dword [eax]
mov dword [ebp + 0x157c], eax
mov eax, dword [esi + 0x4bc]
inc eax
mov dword [ebp + 0x1550], eax
mov eax, dword [esi + 0x49c]
mov dword [ebp + 0x1c8], eax
movzx eax, byte [esi + 0x547]
mov dword [ebp + 0x1bc], eax
mov eax, dword [esi + 0x4a8]
shr eax, 0xa
mov dword [ebp + 0x1c4], eax
mov eax, dword [esi + 0x4b0]
and dword [ebp + 0x228], edx
shr eax, 0xa
mov dword [ebp + 0x1c0], eax
movsx eax, word [ebp + 0x9c4]
mov dword [ebp + 0x224], eax
movsx eax, word [ebp + 0x9c6]
mov dword [ebp + 0x214], eax
lea ebx, [ebp + 0x9b4]
mov eax, dword [ebx]
mov dword [ebp + 0x274], eax
mov eax, dword [ebp + 0x9b8]
lea edi, [ebp + 0xff8]
mov dword [ebp + 0x278], eax
mov eax, dword [edi]
push 0
mov ecx, edi
mov byte [ebp + 0x28c], dl
call dword [eax + 0x34]
mov eax, dword [edi]
push 1
push 0x15
mov ecx, edi
call dword [eax + 0x2c]
movzx eax, byte [esi + 0x5d8]
mov dword [ebp + 0x3b8], eax
movzx eax, word [esi + 0x5da]
mov dword [ebp + 0x3bc], eax
movzx eax, byte [esi + 0x5d9]
mov dword [ebp + 0x3c0], eax
mov eax, dword [esi + 0x470]
mov dword [ebp + 0x3d8], eax
test dword [esi + 0x540], 0x2000000
je 0x1005e5b7
mov eax, dword [edi]
push 1
push 0xc3
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [esi + 0x4cc]
mov dword [ebx], eax
mov eax, dword [esi + 0x4d0]
mov dword [ebp + 0x9b8], eax
lea eax, [esi + 0x590]
mov ecx, dword [eax]
mov dword [ebp + 0xa78], ecx
mov eax, dword [eax]
mov dword [ebp + 0x288], eax
mov eax, dword [edi]
push 0xc3
mov ecx, edi
call dword [eax + 0x30]
test eax, eax
lea eax, [ebp + 0x28c]
je 0x1005e618
push 4
push ebx
push eax
call fcn.100994a0
push 4
lea eax, [ebp + 0x9b8]
push eax
lea eax, [ebp + 0x290]
push eax
call fcn.100994a0
push 4
lea eax, [ebp + 0xa78]
push eax
lea eax, [ebp + 0x294]
push eax
call fcn.100994a0
push 1
lea eax, [ebp + 0x298]
push 0x100dee68
push eax
call fcn.100994a0
add esp, 0x30
jmp 0x1005e628
push dword [ebx]
push 0x100e49f0
push eax
call fcn.100995c4
add esp, 0xc
mov eax, dword [ebp + 0xa24]
mov dword [ebp + 0x26c], eax
mov eax, dword [ebp + 0xa30]
push 8
pop ebx
mov dword [ebp + 0x270], eax
push ebx
lea eax, [ebp + 0xa34]
push eax
lea eax, [ebp + 0x1588]
push eax
call fcn.1008680e
push ebx
lea eax, [ebp + 0xa3c]
push eax
lea eax, [ebp + 0x15a8]
push eax
mov byte [ebp + 0x1590], 0
call fcn.1008680e
push ebx
lea eax, [ebp + 0xa44]
push eax
lea eax, [ebp + 0x15c8]
push eax
mov byte [ebp + 0x15b0], 0
call fcn.1008680e
push ebx
lea eax, [ebp + 0xa4c]
push eax
lea eax, [ebp + 0x15e8]
push eax
mov byte [ebp + 0x15d0], 0
call fcn.1008680e
push 0x11
lea ebx, [ebp + 0x3c4]
push 0
push ebx
mov byte [ebp + 0x15f0], 0
call fcn.10098fe0
movzx eax, byte [ebp + 0xb4f]
push eax
movzx eax, byte [ebp + 0xb4e]
push eax
movzx eax, byte [ebp + 0xb4d]
push eax
movzx eax, byte [ebp + 0xb4c]
push eax
movzx eax, byte [ebp + 0xb4b]
push eax
movzx eax, byte [ebp + 0xb4a]
push eax
movzx eax, byte [ebp + 0xb49]
push eax
movzx eax, byte [ebp + 0xb48]
push eax
push str._02x_02x_02x_02x_02x_02x_02x_02x
push ebx
call fcn.100995c4
mov eax, dword [edi]
add esp, 0x64
push 0
push 0x17
mov ecx, edi
call dword [eax + 0x2c]
cmp dword [esi + 0x520], 0
je 0x1005e72c
mov eax, dword [edi]
push 1
push 0x17
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [esi + 0x5a4]
test al, al
mov byte [esp + 0x4c], 1
js 0x1005e740
mov byte [esp + 0x4c], 0
push eax
push str.raidSupportMask:0x_x
call fcn.10043412
test byte [esi + 0x5a4], 8
pop ecx
pop ecx
je 0x1005e7ba
mov eax, dword [edi]
xor ebx, ebx
inc ebx
push ebx
push 0
mov ecx, edi
call dword [eax + 0x2c]
cmp byte [esp + 0x4c], 0
je 0x1005e774
mov eax, dword [edi]
push ebx
push 0x1f
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x574], 1
je 0x1005e787
mov eax, dword [edi]
push ebx
push 0x1d
mov ecx, edi
call dword [eax + 0x2c]
test word [esi + 0x574], 0x100
je 0x1005e7a5
test byte [esi + 0x5a4], 0x80
je 0x1005e7a5
mov eax, dword [edi]
push ebx
push 0x21
mov ecx, edi
call dword [eax + 0x2c]
test word [esi + 0x574], 0x400
je 0x1005e7ba
mov eax, dword [edi]
push ebx
push 0x20
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x5a4], 1
mov ebx, 0x100000
je 0x1005e7e9
mov eax, dword [edi]
push 1
push 0xb
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x574], ebx
je 0x1005e7e9
mov eax, dword [edi]
push 1
push 0xb7
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x5a4], 0x10
je 0x1005e877
mov eax, dword [edi]
push 1
push 1
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x574], 0x10
je 0x1005e815
mov eax, dword [edi]
push 1
push 0x31
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x574], 0x80
je 0x1005e829
mov eax, dword [edi]
push 1
push 0x22
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x574], 0x200000
je 0x1005e840
mov eax, dword [edi]
push 1
push 0x4c
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x574], 0x40000
je 0x1005e860
test byte [esi + 0x5a4], 0x80
je 0x1005e860
mov eax, dword [edi]
push 1
push 0x24
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x574], 0x80000
je 0x1005e877
mov eax, dword [edi]
push 1
push 0x23
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x5a4], 0x80
je 0x1005e8d7
mov eax, dword [edi]
push 1
push 3
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 1
push 0x27
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x574], 2
je 0x1005e8aa
mov eax, dword [edi]
push 1
push 0x1e
mov ecx, edi
call dword [eax + 0x2c]
test word [esi + 0x574], 0x200
je 0x1005e8c0
mov eax, dword [edi]
push 1
push 0x25
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x574], 0x20000
je 0x1005e8d7
mov eax, dword [edi]
push 1
push 0x26
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x5a4], 0x20
je 0x1005e900
mov eax, dword [edi]
push 1
push 4
mov ecx, edi
call dword [eax + 0x2c]
cmp byte [esp + 0x4c], 0
je 0x1005e900
mov eax, dword [edi]
push 1
push 0x80
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], ebx
je 0x1005e916
mov eax, dword [edi]
push 1
push 0xc4
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x5ac], 0x40
je 0x1005e956
mov eax, dword [edi]
push 1
push 0x28
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], ebx
je 0x1005e956
mov eax, 0x100
test dword [esi + 0x578], eax
jne 0x1005e943
push 0
jmp 0x1005e94d
test dword [esi + 0x57c], eax
jne 0x1005e956
push 0xffffffffffffffff
mov eax, dword [edi]
push 0x28
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [esi + 0x5a4]
test ax, 0x200
je 0x1005e9bb
test al, al
jns 0x1005e9bb
mov eax, dword [edi]
push 1
push 6
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 1
push 0x66
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], ebx
je 0x1005e9bb
test byte [esi + 0x578], 2
jne 0x1005e99c
mov eax, dword [edi]
push 0
push 6
mov ecx, edi
call dword [eax + 0x2c]
push 0
jmp 0x1005e9b2
test byte [esi + 0x57c], 2
jne 0x1005e9bb
mov eax, dword [edi]
push 0xffffffffffffffff
push 6
mov ecx, edi
call dword [eax + 0x2c]
push 0xffffffffffffffff
mov eax, dword [edi]
push 0x66
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x5a4], 0x40
je 0x1005ea17
mov eax, dword [edi]
push 1
push 7
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], ebx
je 0x1005e9f8
test byte [esi + 0x578], 1
jne 0x1005e9e4
push 0
jmp 0x1005e9ef
test byte [esi + 0x57c], 1
jne 0x1005e9f8
push 0xffffffffffffffff
mov eax, dword [edi]
push 7
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x574], 0x20
je 0x1005ea17
mov eax, dword [edi]
push 1
push 0x32
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 1
push 0x4f
mov ecx, edi
call dword [eax + 0x2c]
test word [esi + 0x5a4], 0x400
je 0x1005eb25
mov eax, dword [ebp + 0x4c0]
lea ecx, [ebp + 0xe64]
push ecx
push eax
call sub.afaapi.dll_FsaGetRaid6Options
test byte [ebp + 0xe74], 1
mov eax, dword [edi]
pop ecx
pop ecx
push 1
mov ecx, edi
je 0x1005ead6
push 0xcc
call dword [eax + 0x2c]
mov eax, dword [edi]
push 1
push 0xee
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 1
mov ebx, 0xda
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], 0x100000
je 0x1005eb25
test byte [esi + 0x578], 4
jne 0x1005eaad
mov eax, dword [edi]
push 0
push 0xcc
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
push 0xee
mov ecx, edi
call dword [eax + 0x2c]
push 0
push ebx
jmp 0x1005eb1e
test byte [esi + 0x57c], 4
jne 0x1005eb25
mov eax, dword [edi]
push 0xffffffffffffffff
push 0xcc
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0xffffffffffffffff
push 0xee
mov ecx, edi
call dword [eax + 0x2c]
push 0xffffffffffffffff
jmp 0x1005eaaa
push 8
call dword [eax + 0x2c]
mov eax, dword [edi]
push 1
push 0x73
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], ebx
je 0x1005eb25
test byte [esi + 0x578], 4
jne 0x1005eb06
mov eax, dword [edi]
push 0
push 8
mov ecx, edi
call dword [eax + 0x2c]
push 0
jmp 0x1005eb1c
test byte [esi + 0x57c], 4
jne 0x1005eb25
mov eax, dword [edi]
push 0xffffffffffffffff
push 8
mov ecx, edi
call dword [eax + 0x2c]
push 0xffffffffffffffff
push 0x73
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x2c]
test word [esi + 0x5a4], 0x800
je 0x1005eba1
test byte [ebp + 0xe74], 1
mov eax, dword [edi]
push 1
mov ecx, edi
je 0x1005eb6f
mov ebx, 0xcd
push ebx
call dword [eax + 0x2c]
test dword [esi + 0x540], 0x100000
je 0x1005eba1
test byte [esi + 0x578], 8
jne 0x1005eb62
push 0
push ebx
jmp 0x1005eb9a
test byte [esi + 0x57c], 8
jne 0x1005eba1
push 0xffffffffffffffff
jmp 0x1005eb5f
push 0x2c
call dword [eax + 0x2c]
test dword [esi + 0x540], 0x100000
je 0x1005eba1
test byte [esi + 0x578], 8
jne 0x1005eb8d
push 0
jmp 0x1005eb98
test byte [esi + 0x57c], 8
jne 0x1005eba1
push 0xffffffffffffffff
push 0x2c
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x540], 0x10
je 0x1005ebb8
mov eax, dword [edi]
push 1
push 0xc7
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x540], 4
je 0x1005ebcc
mov eax, dword [edi]
push 1
push 0x10
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], 0x8000000
je 0x1005ebe6
mov eax, dword [edi]
push 1
push 0x108
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x5ac], 0x80
je 0x1005ebfd
mov eax, dword [edi]
push 1
push 0x109
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 6
mov ecx, edi
call dword [eax + 0x30]
test eax, eax
je 0x1005ec50
test word [esi + 0x574], 0x4000
je 0x1005ec50
mov eax, dword [edi]
push 1
push 0x5b
mov ecx, edi
call dword [eax + 0x2c]
mov ebx, 0x100000
test dword [esi + 0x540], ebx
je 0x1005ec55
test byte [esi + 0x578], 2
jne 0x1005ec43
push 0
mov eax, dword [edi]
push 0x5b
mov ecx, edi
call dword [eax + 0x2c]
jmp 0x1005ec55
test byte [esi + 0x57c], 2
jne 0x1005ec55
push 0xffffffffffffffff
jmp 0x1005ec38
mov ebx, 0x100000
mov eax, dword [edi]
push 8
mov ecx, edi
call dword [eax + 0x30]
test eax, eax
je 0x1005eca1
test word [esi + 0x574], 0x1000
je 0x1005eca1
mov eax, dword [edi]
push 1
push 0x5c
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], ebx
je 0x1005eca1
test byte [esi + 0x578], 4
jne 0x1005ec8d
push 0
jmp 0x1005ec98
test byte [esi + 0x57c], 4
jne 0x1005eca1
push 0xffffffffffffffff
mov eax, dword [edi]
push 0x5c
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0xcc
mov ecx, edi
call dword [eax + 0x30]
test eax, eax
je 0x1005ecf6
test word [esi + 0x574], 0x1000
je 0x1005ecf6
mov eax, dword [edi]
push 1
push 0xd6
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], ebx
je 0x1005ecf6
test byte [esi + 0x578], 4
jne 0x1005ecdf
push 0
jmp 0x1005ecea
test byte [esi + 0x57c], 4
jne 0x1005ecf6
push 0xffffffffffffffff
mov eax, dword [edi]
push 0xd6
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 6
mov ecx, edi
call dword [eax + 0x30]
test eax, eax
je 0x1005ed40
test byte [esi + 0x574], 0x40
je 0x1005ed40
mov eax, dword [edi]
push 1
push 0x33
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], ebx
je 0x1005ed40
test byte [esi + 0x578], 2
jne 0x1005ed2c
push 0
jmp 0x1005ed37
test byte [esi + 0x57c], 2
jne 0x1005ed40
push 0xffffffffffffffff
mov eax, dword [edi]
push 0x33
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 6
mov ecx, edi
call dword [eax + 0x30]
test eax, eax
je 0x1005ed8c
test word [esi + 0x574], 0x8000
je 0x1005ed8c
mov eax, dword [edi]
push 1
push 0x65
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], ebx
je 0x1005ed8c
test byte [esi + 0x578], 2
jne 0x1005ed78
push 0
jmp 0x1005ed83
test byte [esi + 0x57c], 2
jne 0x1005ed8c
push 0xffffffffffffffff
mov eax, dword [edi]
push 0x65
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 8
mov ecx, edi
call dword [eax + 0x30]
test eax, eax
je 0x1005edd6
test byte [esi + 0x574], 4
je 0x1005edd6
mov eax, dword [edi]
push 1
push 0x34
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], ebx
je 0x1005edd6
test byte [esi + 0x578], 4
jne 0x1005edc2
push 0
jmp 0x1005edcd
test byte [esi + 0x57c], 4
jne 0x1005edd6
push 0xffffffffffffffff
mov eax, dword [edi]
push 0x34
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0xcc
mov ecx, edi
call dword [eax + 0x30]
test eax, eax
je 0x1005ee29
test byte [esi + 0x574], 4
je 0x1005ee29
mov eax, dword [edi]
push 1
push 0xce
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], ebx
je 0x1005ee29
test byte [esi + 0x578], 4
jne 0x1005ee12
push 0
jmp 0x1005ee1d
test byte [esi + 0x57c], 4
jne 0x1005ee29
push 0xffffffffffffffff
mov eax, dword [edi]
push 0xce
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 8
mov ecx, edi
call dword [eax + 0x30]
test eax, eax
je 0x1005ee75
test word [esi + 0x574], 0x2000
je 0x1005ee75
mov eax, dword [edi]
push 1
push 0x71
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], ebx
je 0x1005ee75
test byte [esi + 0x578], 4
jne 0x1005ee61
push 0
jmp 0x1005ee6c
test byte [esi + 0x57c], 4
jne 0x1005ee75
push 0xffffffffffffffff
mov eax, dword [edi]
push 0x71
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0xcc
mov ecx, edi
call dword [eax + 0x30]
test eax, eax
je 0x1005eeca
test word [esi + 0x574], 0x2000
je 0x1005eeca
mov eax, dword [edi]
push 1
push 0xeb
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], ebx
je 0x1005eeca
test byte [esi + 0x578], 4
jne 0x1005eeb3
push 0
jmp 0x1005eebe
test byte [esi + 0x57c], 4
jne 0x1005eeca
push 0xffffffffffffffff
mov eax, dword [edi]
push 0xeb
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x574], 8
mov eax, dword [edi]
mov ecx, edi
je 0x1005eedd
push 1
push 0x35
jmp 0x1005eee4
push 0
push 0x80
call dword [eax + 0x2c]
test word [esi + 0x574], 0x800
je 0x1005eefd
mov eax, dword [edi]
push 1
push 0x7a
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x574], 0x10000
je 0x1005ef21
test byte [esi + 0x5a4], 0x80
je 0x1005efc4
mov eax, dword [edi]
push 1
push 0x7d
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x5a4], 0x80
je 0x1005efc4
test byte [esi + 0x530], 0x20
je 0x1005efc4
mov eax, dword [str.SATA1.5_6ch]
and dword [esp + 0x4c], 0
cmp byte [eax], 0
je 0x1005ef95
mov eax, 0x10129db8
xor ebx, ebx
push dword [eax]
lea eax, [ebp + 0x1f0]
push eax
call fcn.10099eb0
test eax, eax
pop ecx
pop ecx
jne 0x1005ef7d
push dword [ebx + 0x10129dc0]
lea eax, [ebp + 0x1d0]
push eax
call fcn.10099eb0
test eax, eax
pop ecx
pop ecx
je 0x1005efc4
inc dword [esp + 0x4c]
mov ebx, dword [esp + 0x4c]
shl ebx, 2
lea eax, [ebx + 0x10129db8]
mov ecx, dword [eax]
cmp byte [ecx], 0
jne 0x1005ef51
mov eax, dword [edi]
push 1
push 5
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
xor ebx, ebx
push ebx
push 0x86
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push ebx
push 0x89
mov ecx, edi
call dword [eax + 0x2c]
push ebx
push 0x8c
jmp 0x1005efef
mov eax, dword [edi]
push 0
push 5
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x86
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
push 0x89
mov ecx, edi
call dword [eax + 0x2c]
push 0
push ebx
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x5a4], 2
je 0x1005f00a
mov eax, dword [edi]
push 1
push 0xc
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x5a4], 4
je 0x1005f01e
mov eax, dword [edi]
push 1
push 0x30
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x57c], 0x40000
je 0x1005f040
mov eax, dword [edi]
push 1
push 0x1b
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 1
push 0x1a
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x12b
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x4000000
je 0x1005f071
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [esi + 0x5a8]
mov dword [ebp + 0x2cc], eax
mov eax, dword [edi]
xor ebx, ebx
inc ebx
push ebx
push 0xf
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push ebx
push 0xe
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push ebx
push 0xd
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x530], bl
je 0x1005f0ed
test dword [esi + 0x540], 0x400000
mov eax, dword [edi]
mov ecx, edi
je 0x1005f0ae
push 2
jmp 0x1005f0af
push ebx
push 0x19
call dword [eax + 0x2c]
test byte [esi + 0x530], 1
je 0x1005f0ed
test dword [esi + 0x540], 0x100000
je 0x1005f0ed
mov eax, 0x800
test dword [esi + 0x578], eax
jne 0x1005f0da
push 0
jmp 0x1005f0e4
test dword [esi + 0x57c], eax
jne 0x1005f0ed
push 0xffffffffffffffff
mov eax, dword [edi]
push 0x19
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x530], 0x40000
je 0x1005f103
mov eax, dword [edi]
push ebx
push 0x2d
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], 0x800000
je 0x1005f11c
mov eax, dword [edi]
push ebx
push 0xc2
mov ecx, edi
call dword [eax + 0x2c]
mov ebx, dword [esi + 0x540]
mov eax, dword [edi]
shr ebx, 5
not ebx
and ebx, 1
push ebx
push 0x29
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push ebx
push 0x2a
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push ebx
push 0x2b
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x530], 0x80000
je 0x1005f1aa
mov eax, dword [edi]
push 1
push 0x2f
mov ecx, edi
call dword [eax + 0x2c]
lea eax, [esi + 0x580]
mov cx, word [eax]
mov word [ebp + 0xa68], cx
lea ecx, [esi + 0x584]
mov dx, word [ecx]
mov word [ebp + 0xa6c], dx
lea edx, [esi + 0x586]
mov bx, word [edx]
mov word [ebp + 0xa6e], bx
movsx eax, word [eax]
mov dword [ebp + 0x27c], eax
movsx eax, word [ecx]
mov dword [ebp + 0x280], eax
movsx eax, word [edx]
mov dword [ebp + 0x284], eax
test byte [esi + 0x540], 0x40
je 0x1005f1be
mov eax, dword [edi]
push 1
push 0x2e
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], 0x4000000
je 0x1005f1d8
mov eax, dword [edi]
push 1
push 0xc8
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x540], 0x80
je 0x1005f204
lea eax, [esi + 0x594]
xor ebx, ebx
mov dword [esp + 0x4c], eax
push dword [esp + 0x4c]
mov ecx, ebp
push ebx
call sym.storarc.dll_public:_void___thiscall_Adapter::setOnBoardExpandersWWN_unsigned_long_int__unsigned_char__
add dword [esp + 0x4c], 8
inc ebx
cmp ebx, 2
jb 0x1005f1ed
test word [esi + 0x540], 0x1000
je 0x1005f21d
mov eax, dword [edi]
push 1
push 0xc9
mov ecx, edi
call dword [eax + 0x2c]
test word [esi + 0x540], 0x200
je 0x1005f244
mov eax, dword [edi]
push 1
push 0xca
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 1
push 0xcb
mov ecx, edi
call dword [eax + 0x2c]
test word [esi + 0x540], 0x8000
je 0x1005f271
lea eax, [esi + 0x5a8]
mov ecx, dword [eax]
shr ecx, 1
not ecx
and ecx, 1
mov dword [ebp + 0x2c8], ecx
mov eax, dword [eax]
not eax
and eax, 1
mov dword [ebp + 0x2c4], eax
test byte [esi + 0x5ac], 1
je 0x1005f288
mov eax, dword [edi]
push 1
push 0x104
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x105
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], 0x100000
je 0x1005f2c6
mov eax, 0x80000
test dword [esi + 0x578], eax
je 0x1005f2c6
test dword [esi + 0x57c], eax
mov eax, dword [edi]
mov ecx, edi
je 0x1005f2c0
push 1
jmp 0x1005f2c2
push 0xffffffffffffffff
push ebx
call dword [eax + 0x2c]
mov eax, dword [esi + 0x5bc]
mov dword [ebp + 0x2d8], eax
mov eax, dword [esi + 0x5b4]
mov dword [ebp + 0x2d4], eax
mov eax, dword [esi + 0x5b8]
mov dword [ebp + 0x2dc], eax
mov eax, dword [esi + 0x5b0]
mov dword [ebp + 0x2d0], eax
movzx eax, word [esi + 0x64c]
mov dword [ebp + 0x14c], eax
cmp dword [esi + 0x678], 0
setne al
xor ebx, ebx
mov byte [ebp + 0x400], al
inc ebx
test dword [esi + 0x540], 0x40000
je 0x1005f32f
mov eax, dword [edi]
push ebx
push 0x106
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], 0x20000
je 0x1005f348
mov eax, dword [edi]
push ebx
push 0x107
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x530], 0x4000000
je 0x1005f37e
mov eax, dword [edi]
push ebx
push 0x10a
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push ebx
push 0x111
mov ecx, edi
call dword [eax + 0x2c]
cmp dword [esi + 0x5f4], 0
setne al
mov byte [ebp + 0x336], al
mov eax, dword [esi + 0x5cc]
mov dword [ebp + 0x2f4], eax
mov eax, dword [esi + 0x5d0]
mov dword [ebp + 0x2f8], eax
test byte [esi + 0x5dc], 4
je 0x1005f40e
mov eax, dword [esi + 0x5c0]
test al, 2
je 0x1005f40e
test al, 1
mov eax, dword [edi]
mov ecx, edi
je 0x1005f404
push ebx
push 0x10b
call dword [eax + 0x2c]
mov eax, dword [esi + 0x5c4]
mov dword [ebp + 0x2ec], eax
mov eax, dword [esi + 0x5c8]
mov dword [ebp + 0x2f0], eax
test byte [esi + 0x5c0], 0x40
je 0x1005f3e2
mov byte [ebp + 0x301], 1
test byte [esi + 0x5c0], 0x20
je 0x1005f3f2
mov byte [ebp + 0x300], 1
mov al, byte [esi + 0x5e4]
test al, al
je 0x1005f40e
mov byte [ebp + 0x302], al
jmp 0x1005f40e
push 0xffffffffffffffff
push 0x10b
call dword [eax + 0x2c]
test word [esi + 0x540], 0x400
je 0x1005f426
mov eax, dword [edi]
push ebx
push 0x10c
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x5dc], 0x20
je 0x1005f43c
mov eax, dword [edi]
push ebx
push 0x10d
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x5dc], 0x40
je 0x1005f46c
mov eax, dword [edi]
push ebx
push 0x10e
mov ecx, edi
call dword [eax + 0x2c]
movzx eax, byte [esi + 0x5e6]
mov dword [ebp + 0x304], eax
movzx eax, byte [esi + 0x5e5]
mov dword [ebp + 0x308], eax
test byte [esi + 0x700], 8
je 0x1005f482
mov eax, dword [edi]
push ebx
push 0x137
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x700], 0x10
je 0x1005f498
mov eax, dword [edi]
push ebx
push 0x139
mov ecx, edi
call dword [eax + 0x2c]
test word [esi + 0x5dc], 0x8000
je 0x1005f4d7
mov eax, dword [edi]
push ebx
push 0x114
mov ecx, edi
call dword [eax + 0x2c]
movzx eax, byte [esi + 0x5e6]
mov dword [ebp + 0x304], eax
movzx eax, byte [esi + 0x5e5]
mov dword [ebp + 0x308], eax
movzx eax, word [esi + 0x5ea]
mov dword [ebp + 0x310], eax
test byte [esi + 0x5dc], 0x80
je 0x1005f4fa
mov eax, dword [edi]
push ebx
push 0x110
mov ecx, edi
call dword [eax + 0x2c]
movzx eax, word [esi + 0x5e8]
mov dword [ebp + 0x30c], eax
test word [esi + 0x5dc], 0x200
je 0x1005f52c
mov eax, dword [edi]
push ebx
push 0x113
mov ecx, edi
call dword [eax + 0x2c]
movsx eax, byte [esi + 0x5f8]
mov dword [ebp + 0x338], eax
movsx eax, byte [esi + 0x5f9]
mov dword [ebp + 0x33c], eax
test byte [esi + 0x5ec], 0x80
je 0x1005f54c
mov byte [ebp + 0x314], 1
cmp dword [esi + 0x5f0], 0
setne al
mov byte [ebp + 0x315], al
test word [esi + 0x5dc], 0x100
je 0x1005f564
mov eax, dword [edi]
push ebx
push 0x112
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x530], 0x8000000
je 0x1005f57d
mov eax, dword [edi]
push ebx
push 0x10f
mov ecx, edi
call dword [eax + 0x2c]
test word [esi + 0x5dc], 0x400
je 0x1005f58f
mov byte [ebp + 0x348], 1
test word [esi + 0x5dc], 0x1000
je 0x1005f5b9
mov eax, dword [esi + 0x600]
mov dword [ebp + 0x350], eax
mov eax, dword [esi + 0x604]
mov dword [ebp + 0x354], eax
mov byte [ebp + 0x358], 1
test word [esi + 0x5dc], 0x2000
je 0x1005f5d8
movzx eax, byte [esi + 0x608]
mov dword [ebp + 0x35c], eax
mov byte [ebp + 0x360], 1
mov eax, dword [edi]
push 0
mov ebx, 0x115
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x10000
je 0x1005f5fd
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x116
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
push 0x117
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
push 0x124
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x610], 4
je 0x1005f63f
mov eax, dword [edi]
push 1
push 0x117
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x610], 1
je 0x1005f756
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [esi + 0x61c]
mov dword [ebp + 0x378], eax
mov eax, dword [esi + 0x618]
mov dword [ebp + 0x380], eax
mov eax, dword [esi + 0x614]
mov dword [ebp + 0x37c], eax
movsx eax, word [esi + 0x620]
mov dword [ebp + 0x384], eax
movsx eax, word [esi + 0x622]
mov dword [ebp + 0x388], eax
movsx eax, word [esi + 0x624]
mov dword [ebp + 0x38c], eax
movsx eax, word [esi + 0x626]
mov dword [ebp + 0x390], eax
mov ax, word [esi + 0x628]
mov word [ebp + 0x394], ax
mov ax, word [esi + 0x62a]
mov word [ebp + 0x396], ax
mov ax, word [esi + 0x62c]
mov word [ebp + 0x398], ax
mov ax, word [esi + 0x62e]
mov word [ebp + 0x39a], ax
mov ax, word [esi + 0x630]
mov word [ebp + 0x39c], ax
mov ax, word [esi + 0x632]
mov word [ebp + 0x39e], ax
mov ax, word [esi + 0x634]
mov word [ebp + 0x3a0], ax
test byte [esi + 0x610], 0x20
je 0x1005f756
mov eax, dword [edi]
push 1
push 0x124
mov ecx, edi
call dword [eax + 0x2c]
mov ax, word [esi + 0x636]
mov word [ebp + 0x3a2], ax
mov eax, dword [esi + 0x638]
mov dword [ebp + 0x3a4], eax
lea eax, [esi + 0x63c]
push eax
lea eax, [ebp + 0x3a8]
push eax
call fcn.1009a280
pop ecx
pop ecx
mov eax, dword [edi]
push 0
mov ebx, 0x118
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
push 0x11a
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
push 0x11b
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
push 0x11c
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
push 0x11d
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
push 0x11e
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
push 0x11f
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
push 0x120
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x20000
je 0x1005f8e3
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test word [esi + 0x60c], 0x800
je 0x1005f7f3
mov byte [ebp + 0x349], 1
movzx eax, word [esi + 0x5e8]
mov dword [ebp + 0x30c], eax
movsx eax, byte [esi + 0x5f8]
mov dword [ebp + 0x338], eax
movsx eax, byte [esi + 0x5f9]
mov dword [ebp + 0x33c], eax
mov eax, dword [edi]
push ebx
mov ecx, edi
call dword [eax + 0x30]
test eax, eax
je 0x1005f8e3
mov eax, dword [ebp + 0x4c0]
lea ecx, [esp + 0x14]
push ecx
push eax
call sub.afaapi.dll_FsaGetMaxCacheFeatures
xor ebx, ebx
inc ebx
test byte [esp + 0x1c], bl
pop ecx
pop ecx
je 0x1005f853
mov eax, dword [edi]
push ebx
push 0x11a
mov ecx, edi
call dword [eax + 0x2c]
test byte [esp + 0x14], 2
je 0x1005f867
mov eax, dword [edi]
push ebx
push 0x11b
mov ecx, edi
call dword [eax + 0x2c]
test byte [esp + 0x14], 4
je 0x1005f87b
mov eax, dword [edi]
push ebx
push 0x11c
mov ecx, edi
call dword [eax + 0x2c]
test byte [esp + 0x14], 8
je 0x1005f88f
mov eax, dword [edi]
push ebx
push 0x11d
mov ecx, edi
call dword [eax + 0x2c]
test byte [esp + 0x14], 0x10
je 0x1005f8a3
mov eax, dword [edi]
push ebx
push 0x11e
mov ecx, edi
call dword [eax + 0x2c]
test word [esp + 0x14], 0x2000
je 0x1005f8b9
mov eax, dword [edi]
push ebx
push 0x120
mov ecx, edi
call dword [eax + 0x2c]
test word [esp + 0x14], 0x1000
je 0x1005f8cf
mov eax, dword [edi]
push ebx
push 0x11f
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [esp + 0x1c]
mov dword [ebp + 0x350], eax
mov eax, dword [esp + 0x20]
mov dword [ebp + 0x354], eax
mov eax, dword [edi]
push 0
mov ebx, 0x121
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], 0x20000000
je 0x1005f908
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x122
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x80000
je 0x1005f92d
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x129
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x40000
je 0x1005f952
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x123
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x100000
je 0x1005f977
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x200000
je 0x1005f9ab
mov eax, dword [edi]
push 1
push 0x125
mov ecx, edi
call dword [eax + 0x2c]
movzx eax, byte [esi + 0x64e]
mov dword [ebp + 0x364], eax
movzx eax, byte [esi + 0x64f]
mov dword [ebp + 0x368], eax
test dword [esi + 0x5dc], 0x400000
je 0x1005f9c5
mov eax, dword [edi]
push 1
push 0x126
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x13c
push ebx
mov ecx, edi
call dword [eax + 0x2c]
cmp dword [esi + 0x464], 0xe
jb 0x1005fa01
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
movzx eax, byte [esi + 0x650]
mov dword [ebp + 0x36c], eax
movzx eax, byte [esi + 0x651]
mov dword [ebp + 0x370], eax
cmp dword [esi + 0x654], 0
je 0x1005fa18
mov eax, dword [edi]
push 1
push 0x127
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x128
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x800000
je 0x1005fa3d
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x12a
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x1000000
je 0x1005fa7e
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [esi + 0x65c]
mov dword [ebp + 0x2e0], eax
cmp dword [esi + 0x658], 0
setne al
mov byte [ebp + 0x2e4], al
mov eax, dword [edi]
push 0
mov ebx, 0x12c
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x2000000
je 0x1005fabc
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
movzx eax, byte [esi + 0x668]
mov dword [ebp + 0x3ec], eax
mov eax, dword [esi + 0x66c]
mov dword [ebp + 0x3f0], eax
mov eax, dword [edi]
push 0
mov ebx, 0x12d
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x8000000
je 0x1005faee
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
movzx eax, byte [esi + 0x670]
mov dword [ebp + 0x3f4], eax
mov eax, dword [edi]
push 0
mov ebx, 0x12e
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x20000000
je 0x1005fb13
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x12f
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x10000000
je 0x1005fb38
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x130
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x540], 0x40000000
je 0x1005fba6
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
xor eax, eax
cmp dword [esi + 0x680], eax
setne cl
mov byte [ebp + 0x316], cl
cmp dword [esi + 0x684], eax
setne cl
mov byte [ebp + 0x317], cl
cmp dword [esi + 0x688], eax
setne al
mov byte [ebp + 0x318], al
movzx eax, byte [esi + 0x68c]
mov dword [ebp + 0x31c], eax
movzx eax, word [esi + 0x68e]
mov dword [ebp + 0x320], eax
push 0x11
lea eax, [esi + 0x690]
push eax
lea ebx, [ebp + 0x324]
push ebx
call fcn.10099130
movzx eax, byte [ebp + 0x32b]
push eax
movzx eax, byte [ebp + 0x32a]
push eax
movzx eax, byte [ebp + 0x329]
push eax
movzx eax, byte [ebp + 0x328]
push eax
movzx eax, byte [ebp + 0x327]
push eax
movzx eax, byte [ebp + 0x326]
push eax
movzx eax, byte [ebp + 0x325]
push eax
movzx eax, byte [ebx]
push eax
push str._02X_02X_02X_02X_02X_02X_02X_02X
push ebx
call fcn.100995c4
mov eax, dword [edi]
add esp, 0x34
push 0
mov ebx, 0x131
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x40000000
je 0x1005fc2a
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x133
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test word [esi + 0x530], 0x800
je 0x1005fc4e
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x132
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x530], 0x2000000
je 0x1005fcb8
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
xor ebx, ebx
push ebx
push 0x27
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push ebx
push 0x1f
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push ebx
push 0x80
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [esi + 0x67c]
mov dword [ebp + 0x3e8], eax
xor eax, eax
mov cl, byte [esi + eax + 0x6b0]
mov byte [eax + ebp + 0x3dc], cl
inc eax
cmp eax, 8
jl 0x1005fca4
cmp word [esi + 0x6bc], 1
jne 0x1005fde2
mov word [ebp + 0x408], 1
mov ax, word [esi + 0x6c0]
mov word [ebp + 0x40a], ax
mov ax, word [esi + 0x6c2]
mov word [ebp + 0x40c], ax
mov ax, word [esi + 0x6c6]
mov word [ebp + 0x40e], ax
mov ax, word [esi + 0x6c4]
mov word [ebp + 0x410], ax
mov ax, word [esi + 0x6c8]
mov word [ebp + 0x412], ax
mov ax, word [esi + 0x6ca]
mov word [ebp + 0x414], ax
mov ax, word [esi + 0x6cc]
mov word [ebp + 0x416], ax
mov ax, word [esi + 0x6ce]
mov word [ebp + 0x418], ax
mov ax, word [esi + 0x6be]
mov word [ebp + 0x41a], ax
mov ax, word [esi + 0x6d4]
mov word [ebp + 0x41c], ax
mov ax, word [esi + 0x6d6]
mov word [ebp + 0x41e], ax
mov ax, word [esi + 0x6d8]
mov word [ebp + 0x420], ax
mov ax, word [esi + 0x6dc]
mov word [ebp + 0x422], ax
lea eax, [esi + 0x6da]
movzx ecx, word [eax]
mov dword [ebp + 0x18c], ecx
movzx eax, word [eax]
mov dword [ebp + 0x1a8], eax
mov ax, word [esi + 0x6e0]
mov word [ebp + 0x424], ax
movzx eax, word [esi + 0x6e2]
mov dword [ebp + 0x1c8], eax
mov ax, word [esi + 0x6e4]
mov word [ebp + 0x426], ax
mov ax, word [esi + 0x6e6]
mov word [ebp + 0x428], ax
mov ax, word [esi + 0x6e8]
mov word [ebp + 0x42a], ax
mov ax, word [esi + 0x6fc]
push 0
mov word [ebp + 0x42c], ax
mov eax, dword [edi]
mov ebx, 0x134
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test dword [esi + 0x5dc], 0x80000000
je 0x1005fe15
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x135
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x700], 2
je 0x1005fe37
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x136
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x700], 4
je 0x1005fe59
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [esi + 0x708]
test eax, eax
je 0x1005fe6b
push eax
push str.maxPassthroughBufferSize:__d
jmp 0x1005fe76
mov eax, 0x40000
push eax
push str.Assigning_default_value_maxPassthroughBufferSize:__d
mov dword [ebp + 0x430], eax
call fcn.10043412
mov eax, dword [edi]
pop ecx
pop ecx
push 0
mov ebx, 0x138
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x700], 0x40
je 0x1005fea5
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
mov ebx, 0x13a
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x700], 0x20
je 0x1005ff17
mov eax, dword [esi + 0x718]
mov dword [ebp + 0x434], eax
cmp dword [esi + 0x710], 0
push 1
setne al
mov byte [ebp + 0x438], al
mov al, byte [esi + 0x70c]
mov byte [ebp + 0x439], al
mov eax, dword [esi + 0x714]
mov dword [ebp + 0x43c], eax
mov al, byte [esi + 0x71c]
mov byte [ebp + 0x440], al
mov eax, dword [edi]
push ebx
mov ecx, edi
call dword [eax + 0x2c]
cmp dword [esi + 0x718], 0
je 0x1005ff17
mov byte [ebp + 0x441], 1
mov eax, dword [edi]
push 0
mov ebx, 0x13b
push ebx
mov ecx, edi
call dword [eax + 0x2c]
test byte [esi + 0x720], 1
je 0x1005ffa5
mov eax, dword [edi]
push 1
push ebx
mov ecx, edi
call dword [eax + 0x2c]
mov eax, dword [esi + 0x724]
sub eax, 0
je 0x1005ff6b
dec eax
je 0x1005ff5f
dec eax
je 0x1005ff53
and dword [ebp + 0x444], 0
jmp 0x1005ff75
mov dword [ebp + 0x444], 3
jmp 0x1005ff75
mov dword [ebp + 0x444], 2
jmp 0x1005ff75
mov dword [ebp + 0x444], 1
mov al, byte [esi + 0x728]
mov byte [ebp + 0x448], al
mov al, byte [esi + 0x729]
mov byte [ebp + 0x449], al
mov al, byte [esi + 0x72a]
mov byte [ebp + 0x44a], al
mov al, byte [esi + 0x72b]
mov byte [ebp + 0x44b], al
or dword [esp + 0x44], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.10043fc2
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 4