Function at 0x5c38d8
Capabilities:
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x1a8
mov ebx, edx
mov dword [ebp - 0x178], eax
mov ecx, dword [0x6d159c]
mov eax, dword [eax + 0xc]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
test eax, eax
je 0x5c394d
cmp eax, 1
jne 0x5c390c
and byte [ebx + 0x1a3], 0xdf
jmp 0x5c394d
cmp eax, 2
jne 0x5c391a
or byte [ebx + 0x1a3], 0x20
jmp 0x5c394d
mov eax, 0x23d
test byte [ebx + 0x1a0], 0x20
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
jne 0x5c3937
mov eax, 0x30
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x178]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x5c3975
lea eax, [edx - 1]
cmp eax, 2
ja 0x5c53fa
mov eax, dword [ebp - 0x178]
mov byte [ebx + 0x18e], dl
mov edx, dword [eax + 0x18]
test edx, edx
je 0x5c39cd
movsx eax, byte [ebx + 0x18d]
and eax, 0xfffffffe
cmp eax, 2
je 0x5c39cd
movzx eax, byte [ebx + 0x1a3]
test al, 8
jne 0x5c39cd
test al, 0x10
jne 0x5c39cd
movzx eax, byte [ebx + 0x1a8]
test al, 1
jne 0x5c39cd
test al, 2
jne 0x5c39cd
movzx eax, byte [ebx + 0x1a2]
test eax, 0x80
jne 0x5c39cd
cmp byte [ebx + 0x18e], 3
je 0x5c39c6
mov byte [ebx + 0x18c], 6
jmp 0x5c39cd
mov byte [ebx + 0x18c], 5
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x74]
test eax, 0xfffffffd
je 0x5c59da
cmp eax, 1
jne 0x5c39ef
mov byte [ebx + 0x191], 0x27
jmp 0x5c39ff
cmp eax, 3
jne 0x5c53cb
mov byte [ebx + 0x191], 0x22
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x78]
test eax, eax
je 0x5c3a70
cmp eax, 2
jne 0x5c3a2f
movzx eax, byte [ebx + 0x1a6]
movzx esi, byte [ebx + 0x1a0]
and eax, 0xfffffffd
and esi, 2
or eax, esi
mov byte [ebx + 0x1a6], al
jmp 0x5c3a70
cmp eax, 1
jne 0x5c3a3d
and byte [ebx + 0x1a6], 0xfd
jmp 0x5c3a70
mov eax, 0x2f1
test byte [ebx + 0x1a0], 0x20
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
jne 0x5c3a5a
mov eax, 0x30
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx eax, byte [ebx + 0x1a2]
test eax, 0x80
jne 0x5c3a91
movzx eax, byte [ebx + 0x1a8]
test al, 1
jne 0x5c3a91
test al, 2
je 0x5c46a4
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x1c]
cmp eax, 9
ja 0x5c3b67
movzx eax, byte [eax + 0x698174]
add eax, 0x5c3ab1
jmp eax
push 0xc30
push str.for_open.c
push 2
push 8
call fcn.005b16e0
add esp, 0x10
mov esi, dword [ebx + 0x124]
cmp dword [0x718eb4], 0
jne 0x5c3b91
call fcn.005c18e0
mov ecx, dword [0x718eb8]
test ecx, ecx
je 0x5c3bbe
mov edx, dword [0x718ebc]
test edx, edx
jle 0x5c3bbe
xor eax, eax
cmp esi, dword [eax*4 + 0x718c80]
jl 0x5c3bb9
cmp esi, dword [eax*4 + 0x718da0]
jle 0x5c3bc4
inc eax
cmp eax, edx
jl 0x5c3ba7
mov ecx, dword [0x718ec0]
test ecx, ecx
je 0x5c3edc
cmp ecx, 1
je 0x5c3bd8
mov ecx, str.LITTLE_ENDIAN
jmp 0x5c3bdd
mov ecx, str.BIG_ENDIAN
movzx eax, byte [ebx + 0x1a5]
and eax, 0xffffffdf
or eax, 0x10
mov byte [ebx + 0x190], 0
mov dword [ebp - 0x1b4], eax
mov byte [ebx + 0x1a5], al
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5c3c14
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5c3bff
dec eax
mov esi, eax
xor edi, edi
cmp esi, 0x14
jb 0x5c3c22
mov esi, 0x14
test esi, esi
jle 0x5c3c4d
mov dword [ebp - 0x1a4], ebx
mov ebx, ecx
movsx eax, byte [edi + ebx]
push eax
call fcn.00657fd7
mov byte [ebp + edi - 0x19c], al
inc edi
add esp, 4
cmp edi, esi
jl 0x5c3c2e
mov ebx, dword [ebp - 0x1a4]
mov byte [ebp + edi - 0x19c], 0
mov edi, str.NATIVE
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c3c80
test dl, dl
je 0x5c3c7c
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c3c80
add edi, 2
add esi, 2
test dl, dl
jne 0x5c3c60
xor eax, eax
jmp 0x5c3c85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c3ca4
mov eax, dword [ebp - 0x1b4]
and eax, 0xffffffef
mov byte [ebx + 0x1a5], al
mov byte [ebx + 0x190], 0
jmp 0x5c3edc
mov edi, str.BIG_ENDIAN
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c3ccf
test dl, dl
je 0x5c3ccb
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c3ccf
add edi, 2
add esi, 2
test dl, dl
jne 0x5c3caf
xor eax, eax
jmp 0x5c3cd4
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c3cf3
mov eax, dword [ebp - 0x1b4]
add eax, 0x20
mov byte [ebx + 0x1a5], al
mov byte [ebx + 0x190], 0
jmp 0x5c3edc
mov edi, str.VAXD
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c3d1e
test dl, dl
je 0x5c3d1a
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c3d1e
add edi, 2
add esi, 2
test dl, dl
jne 0x5c3cfe
xor eax, eax
jmp 0x5c3d23
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c3d33
mov byte [ebx + 0x190], 2
jmp 0x5c3edc
mov edi, str.VAXG
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c3d5e
test dl, dl
je 0x5c3d5a
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c3d5e
add edi, 2
add esi, 2
test dl, dl
jne 0x5c3d3e
xor eax, eax
jmp 0x5c3d63
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c3d73
mov byte [ebx + 0x190], 1
jmp 0x5c3edc
mov edi, 0x6984bc
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c3d9e
test dl, dl
je 0x5c3d9a
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c3d9e
add edi, 2
add esi, 2
test dl, dl
jne 0x5c3d7e
xor eax, eax
jmp 0x5c3da3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c3db3
mov byte [ebx + 0x190], 5
jmp 0x5c3edc
mov edi, 0x6984c0
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c3dde
test dl, dl
je 0x5c3dda
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c3dde
add edi, 2
add esi, 2
test dl, dl
jne 0x5c3dbe
xor eax, eax
jmp 0x5c3de3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c3df3
mov byte [ebx + 0x190], 6
jmp 0x5c3edc
mov edi, str.LITTLE_ENDIAN
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c3e1e
test dl, dl
je 0x5c3e1a
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c3e1e
add edi, 2
add esi, 2
test dl, dl
jne 0x5c3dfe
xor eax, eax
jmp 0x5c3e23
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c3e42
mov eax, dword [ebp - 0x1b4]
and eax, 0xffffffef
mov byte [ebx + 0x190], 0
mov byte [ebx + 0x1a5], al
jmp 0x5c3edc
mov edi, 0x6984b8
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c3e6d
test dl, dl
je 0x5c3e69
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c3e6d
add edi, 2
add esi, 2
test dl, dl
jne 0x5c3e4d
xor eax, eax
jmp 0x5c3e72
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c3e8e
mov eax, dword [ebp - 0x1b4]
add eax, 0x20
mov byte [ebx + 0x1a5], al
mov byte [ebx + 0x190], 3
jmp 0x5c3edc
mov edi, str.CRAY
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c3eb9
test dl, dl
je 0x5c3eb5
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c3eb9
add edi, 2
add esi, 2
test dl, dl
jne 0x5c3e99
xor eax, eax
jmp 0x5c3ebe
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c4318
mov eax, dword [ebp - 0x1b4]
add eax, 0x20
mov byte [ebx + 0x1a5], al
mov byte [ebx + 0x190], 4
movsx edx, word [ebx + 0x188]
lea eax, [ebp - 0x17c]
push eax
push 0
add edx, 0xd
push edx
call fcn.005c09a0
add esp, 0xc
test eax, eax
jne 0x5c469e
movsx ecx, word [ebx + 0x188]
mov eax, ecx
add eax, 0xc
jl 0x5c3f29
xor eax, eax
mov ecx, dword [ebp - 0x17c]
mov byte [ecx + eax], 0
inc eax
movsx ecx, word [ebx + 0x188]
lea edx, [ecx + 0xc]
cmp eax, edx
jle 0x5c3f10
lea esi, [ecx + 0xb]
dec ecx
jl 0x5c4338
mov edx, dword [ebx + 0x78]
movsx eax, byte [edx + ecx]
cmp eax, 0x2e
jne 0x5c4322
movsx eax, word [ebx + 0x188]
dec eax
cmp ecx, eax
je 0x5c4330
mov edi, dword [ebp - 0x17c]
movzx edx, byte [edx + ecx]
push 0x105
mov byte [esi + edi], dl
lea edi, [esi - 0xc]
mov eax, dword [ebp - 0x17c]
mov dword [edi + eax], 0x54524f46
mov ecx, dword [ebp - 0x17c]
mov dword [edi + ecx + 4], 0x4e4f435f
mov eax, dword [ebp - 0x17c]
mov dword [edi + eax + 8], 0x54524556
lea edi, [ebp - 0x12a]
mov edx, dword [edi - 0x52]
push edi
lea eax, [edx + esi - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jbe 0x5c3fba
cmp eax, 0x105
jae 0x5c3fba
movsx eax, byte [ebp - 0x12a]
jmp 0x5c3fc3
mov byte [ebp - 0x12a], 0
xor eax, eax
test eax, eax
jne 0x5c4005
mov eax, dword [ebp - 0x17c]
push 0x105
push edi
mov byte [esi + eax], 0x5f
mov edx, dword [ebp - 0x17c]
lea esi, [edx + esi - 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jbe 0x5c3ffc
cmp eax, 0x105
jae 0x5c3ffc
movsx eax, byte [ebp - 0x12a]
jmp 0x5c4005
mov byte [ebp - 0x12a], 0
xor eax, eax
test eax, eax
je 0x5c4338
movzx eax, byte [ebx + 0x1a5]
mov ecx, edi
and eax, 0xffffffdf
or eax, 0x10
mov byte [ebx + 0x190], 0
mov dword [ebp - 0x1b4], eax
mov byte [ebx + 0x1a5], al
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5c4046
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5c4031
dec eax
cmp eax, 0x14
jb 0x5c4050
mov eax, 0x14
xor esi, esi
test eax, eax
jle 0x5c407d
mov dword [ebp - 0x1a4], ebx
mov ebx, eax
movsx edx, byte [esi + edi]
push edx
call fcn.00657fd7
mov byte [ebp + esi - 0x19c], al
inc esi
add esp, 4
cmp esi, ebx
jl 0x5c405e
mov ebx, dword [ebp - 0x1a4]
mov byte [ebp + esi - 0x19c], 0
mov edi, str.NATIVE
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c40b0
test dl, dl
je 0x5c40ac
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c40b0
add edi, 2
add esi, 2
test dl, dl
jne 0x5c4090
xor eax, eax
jmp 0x5c40b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c40d4
mov eax, dword [ebp - 0x1b4]
and eax, 0xffffffef
mov byte [ebx + 0x1a5], al
mov byte [ebx + 0x190], 0
jmp 0x5c4338
mov edi, str.BIG_ENDIAN
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c40ff
test dl, dl
je 0x5c40fb
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c40ff
add edi, 2
add esi, 2
test dl, dl
jne 0x5c40df
xor eax, eax
jmp 0x5c4104
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c4123
mov eax, dword [ebp - 0x1b4]
add eax, 0x20
mov byte [ebx + 0x1a5], al
mov byte [ebx + 0x190], 0
jmp 0x5c4338
mov edi, str.VAXD
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c414e
test dl, dl
je 0x5c414a
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c414e
add edi, 2
add esi, 2
test dl, dl
jne 0x5c412e
xor eax, eax
jmp 0x5c4153
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c4163
mov byte [ebx + 0x190], 2
jmp 0x5c4338
mov edi, str.VAXG
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c418e
test dl, dl
je 0x5c418a
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c418e
add edi, 2
add esi, 2
test dl, dl
jne 0x5c416e
xor eax, eax
jmp 0x5c4193
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c41a3
mov byte [ebx + 0x190], 1
jmp 0x5c4338
mov edi, 0x6984bc
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c41ce
test dl, dl
je 0x5c41ca
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c41ce
add edi, 2
add esi, 2
test dl, dl
jne 0x5c41ae
xor eax, eax
jmp 0x5c41d3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c41e3
mov byte [ebx + 0x190], 5
jmp 0x5c4338
mov edi, 0x6984c0
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c420e
test dl, dl
je 0x5c420a
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c420e
add edi, 2
add esi, 2
test dl, dl
jne 0x5c41ee
xor eax, eax
jmp 0x5c4213
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c4223
mov byte [ebx + 0x190], 6
jmp 0x5c4338
mov edi, str.LITTLE_ENDIAN
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c424e
test dl, dl
je 0x5c424a
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c424e
add edi, 2
add esi, 2
test dl, dl
jne 0x5c422e
xor eax, eax
jmp 0x5c4253
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c4272
mov eax, dword [ebp - 0x1b4]
and eax, 0xffffffef
mov byte [ebx + 0x190], 0
mov byte [ebx + 0x1a5], al
jmp 0x5c4338
mov edi, 0x6984b8
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c429d
test dl, dl
je 0x5c4299
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c429d
add edi, 2
add esi, 2
test dl, dl
jne 0x5c427d
xor eax, eax
jmp 0x5c42a2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c42be
mov eax, dword [ebp - 0x1b4]
add eax, 0x20
mov byte [ebx + 0x1a5], al
mov byte [ebx + 0x190], 3
jmp 0x5c4338
mov edi, str.CRAY
lea esi, [ebp - 0x19c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c42e9
test dl, dl
je 0x5c42e5
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c42e9
add edi, 2
add esi, 2
test dl, dl
jne 0x5c42c9
xor eax, eax
jmp 0x5c42ee
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c430a
mov eax, dword [ebp - 0x1b4]
add eax, 0x20
mov byte [ebx + 0x1a5], al
mov byte [ebx + 0x190], 4
jmp 0x5c4338
push dword [ebp - 0x17c]
call fcn.005c0a60
add esp, 4
mov eax, 0x2e
jmp 0x5c53af
cmp eax, 0x5c
je 0x5c4330
mov edx, dword [ebp - 0x17c]
mov byte [edx + esi], al
dec esi
dec ecx
jns 0x5c3f33
push dword [ebp - 0x17c]
call fcn.005c0a60
add esp, 4
test eax, eax
jne 0x5c469e
mov eax, dword [ebx + 0x124]
mov esi, str.FORT_CONVERT_d
mov dword [ebp - 0x188], esi
mov dword [ebp - 0x184], eax
call fcn.0062fd20
lea edi, [ebp - 0x184]
push edi
push 0
push esi
push 0xffffffffffffffff
mov edx, dword [eax]
lea edi, [ebp - 0x16a]
push edi
push dword [eax + 4]
or edx, 1
push edx
call fcn.0064c89e
add esp, 0x1c
push 0x105
lea esi, [ebp - 0x12a]
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jbe 0x5c43b5
cmp eax, 0x105
jae 0x5c43b5
movsx eax, byte [ebp - 0x12a]
jmp 0x5c43be
mov byte [ebp - 0x12a], 0
xor eax, eax
test eax, eax
je 0x5c46a4
movzx eax, byte [ebx + 0x1a5]
mov ecx, esi
and eax, 0xffffffdf
or eax, 0x10
mov byte [ebx + 0x190], 0
mov dword [ebp - 0x1b4], eax
mov byte [ebx + 0x1a5], al
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5c43ff
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5c43ea
dec eax
mov edi, eax
xor esi, esi
cmp edi, 0x14
jb 0x5c440d
mov edi, 0x14
test edi, edi
jle 0x5c442b
movsx eax, byte [ebp + esi - 0x12a]
push eax
call fcn.00657fd7
mov byte [ebp + esi - 0x25], al
inc esi
add esp, 4
cmp esi, edi
jl 0x5c4411
mov byte [ebp + esi - 0x25], 0
mov edi, str.NATIVE
lea esi, [ebp - 0x25]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c4458
test dl, dl
je 0x5c4454
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c4458
add edi, 2
add esi, 2
test dl, dl
jne 0x5c4438
xor eax, eax
jmp 0x5c445d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c447c
mov eax, dword [ebp - 0x1b4]
and eax, 0xffffffef
mov byte [ebx + 0x1a5], al
mov byte [ebx + 0x190], 0
jmp 0x5c46a4
mov edi, str.BIG_ENDIAN
lea esi, [ebp - 0x25]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c44a4
test dl, dl
je 0x5c44a0
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c44a4
add edi, 2
add esi, 2
test dl, dl
jne 0x5c4484
xor eax, eax
jmp 0x5c44a9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c44c8
mov eax, dword [ebp - 0x1b4]
add eax, 0x20
mov byte [ebx + 0x1a5], al
mov byte [ebx + 0x190], 0
jmp 0x5c46a4
mov edi, str.VAXD
lea esi, [ebp - 0x25]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c44f0
test dl, dl
je 0x5c44ec
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c44f0
add edi, 2
add esi, 2
test dl, dl
jne 0x5c44d0
xor eax, eax
jmp 0x5c44f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c4505
mov byte [ebx + 0x190], 2
jmp 0x5c46a4
mov edi, str.VAXG
lea esi, [ebp - 0x25]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c452d
test dl, dl
je 0x5c4529
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c452d
add edi, 2
add esi, 2
test dl, dl
jne 0x5c450d
xor eax, eax
jmp 0x5c4532
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c4542
mov byte [ebx + 0x190], 1
jmp 0x5c46a4
mov edi, 0x6984bc
lea esi, [ebp - 0x25]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c456a
test dl, dl
je 0x5c4566
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c456a
add edi, 2
add esi, 2
test dl, dl
jne 0x5c454a
xor eax, eax
jmp 0x5c456f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c457f
mov byte [ebx + 0x190], 5
jmp 0x5c46a4
mov edi, 0x6984c0
lea esi, [ebp - 0x25]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c45a7
test dl, dl
je 0x5c45a3
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c45a7
add edi, 2
add esi, 2
test dl, dl
jne 0x5c4587
xor eax, eax
jmp 0x5c45ac
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c45bc
mov byte [ebx + 0x190], 6
jmp 0x5c46a4
mov edi, str.LITTLE_ENDIAN
lea esi, [ebp - 0x25]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c45e4
test dl, dl
je 0x5c45e0
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c45e4
add edi, 2
add esi, 2
test dl, dl
jne 0x5c45c4
xor eax, eax
jmp 0x5c45e9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c4608
mov eax, dword [ebp - 0x1b4]
and eax, 0xffffffef
mov byte [ebx + 0x190], 0
mov byte [ebx + 0x1a5], al
jmp 0x5c46a4
mov edi, 0x6984b8
lea esi, [ebp - 0x25]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c4630
test dl, dl
je 0x5c462c
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c4630
add edi, 2
add esi, 2
test dl, dl
jne 0x5c4610
xor eax, eax
jmp 0x5c4635
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c4651
mov eax, dword [ebp - 0x1b4]
add eax, 0x20
mov byte [ebx + 0x1a5], al
mov byte [ebx + 0x190], 3
jmp 0x5c46a4
mov edi, str.CRAY
lea esi, [ebp - 0x25]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x5c4679
test dl, dl
je 0x5c4675
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x5c4679
add edi, 2
add esi, 2
test dl, dl
jne 0x5c4659
xor eax, eax
jmp 0x5c467e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5c4318
mov eax, dword [ebp - 0x1b4]
add eax, 0x20
mov byte [ebx + 0x1a5], al
mov byte [ebx + 0x190], 4
jmp 0x5c46a4
jne 0x5c53af
cmp dword [ebx + 0x164], 1
je 0x5c4745
cmp dword [0x7253f4], 0
je 0x5c46dd
movzx eax, byte [ebx + 0x1a8]
mov edx, dword [ebx + 0x16c]
test eax, 0x80
je 0x5c46d3
cmp edx, 0xfffffffa
je 0x5c4745
cmp edx, 1
je 0x5c4745
cmp edx, 2
je 0x5c4745
test byte [ebx + 0x1a2], 0x40
je 0x5c4745
cmp byte [ebx + 0x18c], 0
jne 0x5c4745
mov esi, dword [ebx + 0x124]
cmp dword [0x718ea4], 0
jne 0x5c4703
call fcn.005c1420
mov eax, dword [0x718ea8]
test eax, eax
je 0x5c472f
mov ecx, dword [0x718eac]
test ecx, ecx
jle 0x5c472f
xor edx, edx
cmp esi, dword [edx*4 + 0x718a40]
jl 0x5c472a
cmp esi, dword [edx*4 + 0x718b60]
jle 0x5c4734
inc edx
cmp edx, ecx
jl 0x5c4718
mov eax, dword [0x718eb0]
test eax, eax
je 0x5c4745
mov byte [ebx + 0x18c], al
mov byte [ebx + 0x18e], 3
mov eax, dword [ebp - 0x178]
mov dword [ebx + 0x80], 0
mov eax, dword [eax]
dec eax
cmp eax, 4
ja 0x5c491e
movzx eax, word [eax*2 + 0x698180]
add eax, 0x5c4770
jmp eax
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x70]
cmp eax, 1
je 0x5c49b7
cmp eax, 3
jne 0x5c4971
test byte [ebx + 0x1a6], 1
jne 0x5c49c4
mov dword [ebx + 0x80], str.ACTION
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp eax, 2
jne 0x5c49c4
test byte [ebx + 0x1a1], 0x40
jne 0x5c4988
test byte [ebx + 0x1a6], 1
je 0x5c49c4
mov dword [ebx + 0x80], str.ACTION
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test byte [ebx + 0x1a1], 0x40
je 0x5c5380
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x5c49eb
mov edx, eax
mov al, byte [ebx + 0x18f]
cmp al, byte [edx + 8]
jne 0x5c5351
cmp ecx, dword [ebx + 0x6c]
jne 0x5c5351
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0xa4]
cmp eax, 1
je 0x5c59cf
cmp eax, 2
je 0x5c599e
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0xa0]
cmp eax, 1
je 0x5c597f
cmp eax, 2
je 0x5c57ae
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x28]
dec eax
cmp eax, 5
ja 0x5c4b30
movzx eax, byte [eax + 0x69818c]
add eax, 0x5c4a48
jmp eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x34]
cmp eax, 1
je 0x5c4bd3
cmp eax, 2
jne 0x5c4b96
movzx eax, byte [ebx + 0x1a2]
test eax, 0x80
jne 0x5c4be0
movzx eax, byte [ebx + 0x1a0]
test eax, 0x80
jne 0x5c4be0
mov dword [ebx + 0x80], str.FORM
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp eax, 4
jne 0x5c4be0
test byte [ebx + 0x1a8], 2
jne 0x5c4be0
mov dword [ebx + 0x80], str.FORM
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test byte [ebx + 0x1a2], 0x40
je 0x5c5322
mov eax, dword [ebp - 0x178]
cmp dword [eax + 0x88], 0
je 0x5c4c5e
cmp dword [0x7253f4], 0
je 0x5c4c39
cmp dword [eax + 0x8c], 0
je 0x5c4c5e
test byte [ebx + 0x1a9], 1
jne 0x5c4c5e
mov dword [ebx + 0x80], str.IOFOCUS
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x232
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x5c4c9c
cmp eax, dword [ebx + 0xf8]
je 0x5c4c9c
mov dword [ebx + 0x80], str.MAXREC
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x90]
cmp eax, 1
je 0x5c4d38
cmp eax, 3
jne 0x5c4cf2
test byte [ebx + 0x1a6], 1
jne 0x5c4d45
mov dword [ebx + 0x80], str.MODE
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp eax, 2
jne 0x5c4d45
test byte [ebx + 0x1a1], 0x40
jne 0x5c4d09
test byte [ebx + 0x1a6], 1
je 0x5c4d45
mov dword [ebx + 0x80], str.MODE
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test byte [ebx + 0x1a1], 0x40
je 0x5c52f3
mov eax, dword [ebp - 0x178]
cmp dword [eax + 0x54], 0
je 0x5c4d89
test byte [ebx + 0x1a2], 1
je 0x5c4d89
mov dword [ebx + 0x80], str.NOSHARED
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x67
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [eax + 0x40]
cmp eax, 1
je 0x5c4e0f
cmp eax, 2
jne 0x5c4dd2
cmp byte [ebx + 0x18d], 2
je 0x5c4e47
mov dword [ebx + 0x80], str.ORGANIZATION
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp eax, 3
jne 0x5c4e47
cmp byte [ebx + 0x18d], 3
je 0x5c4e47
mov dword [ebx + 0x80], str.ORGANIZATION
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp byte [ebx + 0x18d], 1
je 0x5c4e47
mov dword [ebx + 0x80], str.ORGANIZATION
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x7c]
test eax, eax
je 0x5c4ee6
cmp eax, 2
je 0x5c4ee6
test byte [ebx + 0x1a4], 8
jne 0x5c4e74
xor edi, edi
mov dword [ebp - 0x194], edi
jmp 0x5c4eae
push 1
xor edx, edx
lea eax, [ebp - 0x198]
push eax
push edx
push dword [ebx + 0x104]
mov dword [eax - 4], edx
mov dword [eax], edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov edi, eax
mov dword [ebp - 0x19c], edi
cmp edi, 0xffffffff
je 0x5c5716
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x194], eax
movzx eax, byte [ebx + 0x1a3]
test al, 8
jne 0x5c4ec1
test al, 0x10
je 0x5c5489
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x2e
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x178]
cmp dword [eax + 0x44], 0
je 0x5c4f2a
test byte [ebx + 0x1a1], 0x40
jne 0x5c4f2a
mov dword [ebx + 0x80], str.READONLY
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x67
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov esi, dword [eax + 0x48]
mov edx, esi
mov ecx, dword [eax + 0x4c]
or edx, ecx
je 0x5c4f71
mov eax, dword [ebx + 0x11c]
sub esi, eax
or esi, ecx
je 0x5c4f71
mov dword [ebx + 0x80], str.RECL
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x50]
test eax, eax
je 0x5c4ff4
cmp eax, 2
jne 0x5c4fbb
cmp byte [ebx + 0x18c], 4
je 0x5c4ff4
mov dword [ebx + 0x80], str.RECORDTYPE
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dl, byte [ebx + 0x18c]
cmp dl, al
je 0x5c4ff4
mov dword [ebx + 0x80], str.RECORDTYPE
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x94]
lea edx, [eax - 1]
cmp edx, 1
jbe 0x5c5763
cmp eax, 3
je 0x5c50c5
cmp eax, 4
jne 0x5c506d
test byte [ebx + 0x1a2], 1
jne 0x5c503e
movzx eax, byte [ebx + 0x1a8]
test al, 4
jne 0x5c503e
test al, 8
jne 0x5c503e
test al, 0x10
je 0x5c503e
test al, 0x20
je 0x5c50f9
mov dword [ebx + 0x80], str.SHARE
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp eax, 5
jne 0x5c50f9
test byte [ebx + 0x1a2], 1
jne 0x5c5096
movzx eax, byte [ebx + 0x1a8]
test al, 4
jne 0x5c5096
test al, 8
jne 0x5c5096
test al, 0x10
jne 0x5c5096
test al, 0x20
jne 0x5c50f9
mov dword [ebx + 0x80], str.SHARE
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test byte [ebx + 0x1a2], 1
jne 0x5c52c4
movzx eax, byte [ebx + 0x1a8]
test al, 4
jne 0x5c52c4
test al, 8
je 0x5c52c4
test al, 0x10
jne 0x5c52c4
test al, 0x20
jne 0x5c52c4
mov eax, dword [ebp - 0x178]
cmp dword [eax + 0x58], 0
je 0x5c513d
test byte [ebx + 0x1a2], 1
jne 0x5c513d
mov dword [ebx + 0x80], str.SHARED
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x67
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [eax + 0x5c]
cmp eax, 1
jbe 0x5c5187
cmp eax, 4
je 0x5c5187
cmp eax, 3
jne 0x5c5158
test byte [ebx + 0x1a2], 4
jne 0x5c5187
mov dword [ebx + 0x80], str.STATUS
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x178]
cmp dword [eax + 0x98], 0
je 0x5c5247
cmp dword [0x7253f4], 0
je 0x5c529f
mov eax, dword [ebx + 0x16c]
test eax, 0xfffffffe
je 0x5c5753
cmp eax, 2
je 0x5c5753
push dword [ebx + 0x104]
call fcn.0062f340
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x5c5247
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5c51ec
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5c51d7
dec eax
mov edx, eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x9c]
cmp edx, eax
jne 0x5c5218
push eax
mov eax, dword [ebp - 0x178]
push dword [eax + 0x98]
push ecx
call fcn.0064cbc0
add esp, 0xc
test eax, eax
je 0x5c5247
mov dword [ebx + 0x80], str.TITLE
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov esi, dword [ebp - 0x178]
mov eax, dword [esi + 0xb8]
mov byte [ebx + 0x197], al
mov edx, dword [esi + 0xbc]
mov byte [ebx + 0x199], dl
mov ecx, dword [esi + 0xc0]
mov byte [ebx + 0x19b], cl
mov eax, dword [esi + 0xc4]
mov byte [ebx + 0x19d], al
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x234
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebx + 0x80], str.SHARE
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebx + 0x80], str.MODE
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebx + 0x80], str.FORM
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebx + 0x80], str.ASSOCIATEVARIABLE
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebx + 0x80], str.ACTION
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, 0x2ef
test byte [ebx + 0x1a0], 0x20
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
jne 0x5c53e8
mov eax, 0x30
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, 0x2f2
test byte [ebx + 0x1a0], 0x20
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
jne 0x5c5417
mov eax, 0x30
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
call fcn.0063f93a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + 0x108], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x78
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x178]
mov eax, dword [eax + 0x7c]
cmp eax, 1
jne 0x5c54e9
test byte [ebx + 0x1a4], 8
je 0x5c5549
push 2
xor edx, edx
lea eax, [ebp - 0x1b0]
push eax
push edx
push dword [ebx + 0x104]
mov dword [eax - 4], edx
mov dword [eax], edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1b4], eax
cmp eax, 0xffffffff
je 0x5c55ff
mov eax, dword [ebp - 0x1b0]
mov esi, 0xffffffff
mov dword [ebp - 0x1ac], eax
jmp 0x5c5530
cmp eax, 3
jne 0x5c5549
xor eax, eax
lea edx, [ebp - 0x1a0]
push eax
push edx
push eax
push dword [ebx + 0x104]
mov dword [edx - 4], eax
mov dword [edx], eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], eax
cmp eax, 0xffffffff
je 0x5c5676
mov eax, dword [ebp - 0x1a0]
mov esi, 0xffffffff
mov dword [ebp - 0x1ac], eax
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1ac]
sub edx, esi
sub eax, esi
or edx, eax
jne 0x5c555c
jmp 0x5c564d
xor eax, eax
mov esi, 0xffffffff
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1ac], eax
mov edx, edi
mov eax, dword [ebp - 0x194]
sub edx, esi
sub eax, esi
or edx, eax
je 0x5c564d
mov eax, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1a8]
sub eax, dword [ebp - 0x194]
sub edx, edi
or edx, eax
je 0x5c4ee6
push 0
mov edx, dword [ebp - 0x194]
lea eax, [ebp - 0x1a8]
push eax
push edi
push dword [ebx + 0x104]
mov dword [eax - 4], edi
mov dword [eax], edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov edx, eax
mov dword [ebp - 0x1ac], edx
cmp edx, 0xffffffff
je 0x5c56ed
mov eax, dword [ebp - 0x1a8]
sub edx, esi
sub eax, esi
or edx, eax
je 0x5c56c4
mov dword [ebx + 0x80], str.POSITION
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x5c562b
mov esi, 0xffffffff
mov dword [ebp - 0x1b4], esi
mov dword [ebp - 0x1b0], esi
mov dword [ebp - 0x1a8], esi
mov dword [ebp - 0x1ac], esi
jmp 0x5c5530
mov eax, dword [ebp - 0x1b4]
mov esi, 0xffffffff
mov edx, dword [ebp - 0x1b0]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1ac], edx
jmp 0x5c5530
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + 0x108], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
jmp 0x5c544e
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x5c56a2
mov esi, 0xffffffff
mov dword [ebp - 0x1a4], esi
mov dword [ebp - 0x1a0], esi
mov dword [ebp - 0x1a8], esi
mov dword [ebp - 0x1ac], esi
jmp 0x5c5530
mov eax, dword [ebp - 0x1a4]
mov esi, 0xffffffff
mov edx, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1ac], edx
jmp 0x5c5530
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + 0x108], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
jmp 0x5c544e
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x5c5705
mov dword [ebp - 0x1ac], esi
mov dword [ebp - 0x1a8], esi
jmp 0x5c56c4
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1a8]
jmp 0x5c55c4
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x5c573c
mov edi, 0xffffffff
mov dword [ebp - 0x19c], edi
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x194], edi
jmp 0x5c4eae
mov eax, dword [ebp - 0x198]
mov edi, dword [ebp - 0x19c]
mov dword [ebp - 0x194], eax
jmp 0x5c4eae
call fcn.0062f360
push eax
call fcn.0062f340
jmp 0x5c51cc
test byte [ebx + 0x1a2], 1
je 0x5c5787
movzx eax, byte [ebx + 0x1a8]
test al, 4
je 0x5c5787
test al, 8
jne 0x5c5787
test al, 0x10
jne 0x5c5787
test al, 0x20
je 0x5c50f9
mov dword [ebx + 0x80], str.SHARE
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
jmp 0x5c479f
test byte [ebx + 0x1a9], 0x40
jne 0x5c4a27
test byte [ebx + 0x1ac], 4
jne 0x5c4a27
mov ecx, dword [ebx + 0x78]
mov dword [ebp - 0x1a8], ecx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x5c57e8
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x5c57d3
dec eax
mov edx, eax
dec edx
mov esi, edx
js 0x5c5801
movsx eax, byte [edx + ecx]
dec edx
cmp eax, 0x2e
je 0x5c5970
test edx, edx
jns 0x5c57ef
xor eax, eax
mov edx, esi
and edx, 0xfffffffe
cmp edx, 2
je 0x5c5815
lea edx, [esi - 5]
cmp edx, 1
ja 0x5c5882
inc esi
lea edx, [ebp - 0x174]
push esi
push dword [ebp - 0x1a8]
push edx
mov dword [edx - 0x3c], eax
call fcn.00657070
mov eax, dword [ebp - 0x1b0]
add esp, 0xc
xor edi, edi
mov dword [ebp - 0x1b4], edi
mov dword [ebp - 0x1a4], ebx
mov byte [ebp + esi - 0x174], 0
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], esi
lea esi, [ebp - 0x174]
mov ebx, edi
lea eax, [ebx + 0x697ca0]
push eax
push esi
call fcn.0064cade
add esp, 8
test eax, eax
je 0x5c58bf
inc edi
add ebx, 0x10
cmp edi, 0x11
jl 0x5c585f
mov ebx, dword [ebp - 0x1a4]
test byte [ebx + 0x1a3], 8
je 0x5c5898
test byte [ebx + 0x1a0], 4
jne 0x5c4a27
mov dword [ebx + 0x80], str.BUFFERED
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
jmp 0x5c479f
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b4], ebx
mov esi, dword [ebp - 0x1ac]
mov ebx, dword [ebp - 0x1a4]
test eax, eax
je 0x5c5932
mov eax, dword [ebp - 0x1a8]
movsx eax, byte [eax]
add eax, 0xffffffbd
cmp eax, 0x32
ja 0x5c5932
movzx eax, byte [eax + 0x698194]
add eax, 0x5c5882
jmp eax
mov edi, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1b4]
mov byte [esi + edi], 0
movzx eax, byte [ebx + 0x1aa]
movzx esi, byte [edx + 0x697cac]
and eax, 0xfffffffe
and esi, 1
or eax, esi
mov byte [ebx + 0x1aa], al
cmp byte [edx + 0x697caa], 0xff
je 0x5c5882
jmp 0x5c4a27
dec esi
xor eax, eax
cmp edx, esi
mov esi, edx
setl al
jmp 0x5c5803
test byte [ebx + 0x1a9], 0x40
jne 0x5c5898
test byte [ebx + 0x1ac], 4
jne 0x5c5898
jmp 0x5c4a27
cmp dword [ebx + 0x20], 0
jne 0x5c4a09
mov dword [ebx + 0x80], str.ASYNCHRONOUS
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
xor ecx, ebp
cmp ecx, dword [0x6d159c]
jne 0x5c5429
jmp 0x5c479f
cmp dword [ebx + 0x20], 0
jne 0x5c59a8
jmp 0x5c4a09
mov byte [ebx + 0x191], 0
jmp 0x5c39ff