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

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push ebx
sub esp, 0x394
mov ebx, edx
mov dword [ebp - 0x370], eax
mov ecx, dword [0x4f195c]
mov eax, dword [eax + 0xc]
xor ecx, ebp
mov dword [ebp - 0x10], ecx
test eax, eax
je 0x441ee6
cmp eax, 1
jne 0x441eac
and byte [ebx + 0x18f], 0xdf
jmp 0x441ee6
cmp eax, 2
jne 0x441eba
or byte [ebx + 0x18f], 0x20
jmp 0x441ee6
mov eax, 0x23d
test byte [ebx + 0x18c], 0x20
mov ecx, dword [ebp - 0x10]
jne 0x441ed0
mov eax, 0x30
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x370]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x441f0e
lea eax, [edx - 1]
cmp eax, 2
ja 0x443b74
mov eax, dword [ebp - 0x370]
mov byte [ebx + 0x17c], dl
mov edx, dword [eax + 0x18]
test edx, edx
je 0x441f66
movsx eax, byte [ebx + 0x17b]
and eax, 0xfffffffe
cmp eax, 2
je 0x441f66
movzx eax, byte [ebx + 0x18f]
test al, 8
jne 0x441f66
test al, 0x10
jne 0x441f66
movzx eax, byte [ebx + 0x194]
test al, 1
jne 0x441f66
test al, 2
jne 0x441f66
movzx eax, byte [ebx + 0x18e]
test eax, 0x80
jne 0x441f66
cmp byte [ebx + 0x17c], 3
je 0x441f5f
mov byte [ebx + 0x17a], 6
jmp 0x441f66
mov byte [ebx + 0x17a], 5
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0x74]
test eax, eax
je 0x441fc0
cmp eax, 2
je 0x441fc0
cmp eax, 1
jne 0x441f86
mov byte [ebx + 0x17f], 0x27
jmp 0x441fc7
cmp eax, 3
jne 0x441f94
mov byte [ebx + 0x17f], 0x22
jmp 0x441fc7
mov eax, 0x2ef
test byte [ebx + 0x18c], 0x20
mov ecx, dword [ebp - 0x10]
jne 0x441faa
mov eax, 0x30
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov byte [ebx + 0x17f], 0
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0x78]
test eax, eax
je 0x442031
cmp eax, 2
jne 0x441ff7
movzx eax, byte [ebx + 0x192]
movzx esi, byte [ebx + 0x18c]
and eax, 0xfffffffd
and esi, 2
or eax, esi
mov byte [ebx + 0x192], al
jmp 0x442031
cmp eax, 1
jne 0x442005
and byte [ebx + 0x192], 0xfd
jmp 0x442031
mov eax, 0x2f1
test byte [ebx + 0x18c], 0x20
mov ecx, dword [ebp - 0x10]
jne 0x44201b
mov eax, 0x30
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
movzx eax, byte [ebx + 0x18e]
test eax, 0x80
jne 0x442052
movzx eax, byte [ebx + 0x194]
test al, 1
jne 0x442052
test al, 2
je 0x442dfd
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0x1c]
cmp eax, 9
ja 0x442129
movzx eax, byte [eax + 0x4c6c94]
add eax, 0x442073
jmp eax
push 0xba4
push str.for_open.c
push 2
push 8
call fcn.00464d00
add esp, 0x10
mov eax, dword [ebx + 0x118]
mov dword [ebp - 0x390], eax
cmp dword [0x4fb650], 0
jne 0x4422b5
push 0x105
lea eax, [ebp - 0x25d]
push eax
push str.F_UFMTENDIAN
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov edx, eax
test edx, edx
jbe 0x442180
cmp edx, 0x105
jae 0x442180
inc edx
jmp 0x442187
mov byte [ebp - 0x25d], 0
xor edi, edi
lea eax, [ebp - 0x25d]
mov dword [ebp - 0x394], eax
mov dword [0x4fb65c], edi
mov dword [0x4fb654], edi
mov dword [0x4fb658], edi
mov dword [0x4fb650], 1
test edx, edx
je 0x442310
cmp byte [ebp - 0x25d], 0
je 0x442310
mov esi, 0x4c6dc0
lea edi, [ebp - 0x25d]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4421f1
test dl, dl
je 0x4421ed
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4421f1
add edi, 2
add esi, 2
test dl, dl
jne 0x4421d1
xor eax, eax
jmp 0x4421f6
sbb eax, eax
or eax, 1
test eax, eax
je 0x442301
mov esi, str.little
lea edi, [ebp - 0x25d]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442229
test dl, dl
je 0x442225
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442229
add edi, 2
add esi, 2
test dl, dl
jne 0x442209
xor eax, eax
jmp 0x44222e
sbb eax, eax
or eax, 1
test eax, eax
je 0x4422f0
push 0x3b
lea eax, [ebp - 0x25d]
push eax
call fcn.004aa0f0
mov esi, eax
add esp, 8
test esi, esi
je 0x443de7
push str.big_
lea eax, [ebp - 0x25d]
push eax
call fcn.004aa220
mov edx, eax
lea eax, [ebp - 0x25d]
add esp, 8
cmp eax, edx
je 0x443dce
push str.little_
lea eax, [ebp - 0x25d]
push eax
call fcn.004aa220
mov edx, eax
lea eax, [ebp - 0x25d]
add esp, 8
cmp eax, edx
je 0x443ba1
xor eax, eax
push eax
push 0x60
mov dword [0x4fb65c], eax
mov dword [0x4fb654], eax
mov dword [0x4fb658], eax
call fcn.00464d00
add esp, 8
mov edi, dword [0x4fb654]
test edi, edi
je 0x4422e8
mov edx, dword [0x4fb658]
test edx, edx
jle 0x4422e8
mov ecx, dword [ebp - 0x390]
xor eax, eax
cmp ecx, dword [eax*4 + 0x4fb440]
jl 0x4422e3
cmp ecx, dword [eax*4 + 0x4fb540]
jle 0x442310
inc eax
cmp eax, edx
jl 0x4422d1
mov edi, dword [0x4fb65c]
jmp 0x442310
mov dword [0x4fb65c], 0xffffffff
mov edi, 0xffffffff
jmp 0x442310
mov dword [0x4fb65c], 1
mov edi, 1
test edi, edi
je 0x442628
cmp edi, 1
je 0x442324
mov ecx, str.LITTLE_ENDIAN
jmp 0x442329
mov ecx, str.BIG_ENDIAN
movzx eax, byte [ebx + 0x191]
and eax, 0xffffffdf
or eax, 0x10
mov byte [ebx + 0x17e], 0
mov dword [ebp - 0x3a0], eax
mov byte [ebx + 0x191], al
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x442360
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x44234b
dec eax
mov esi, eax
xor edi, edi
cmp esi, 0x14
jb 0x44236e
mov esi, 0x14
test esi, esi
jle 0x442399
mov dword [ebp - 0x38c], ebx
mov ebx, ecx
movsx eax, byte [edi + ebx]
push eax
call fcn.004ad596
mov byte [ebp + edi - 0x388], al
inc edi
add esp, 4
cmp edi, esi
jl 0x44237a
mov ebx, dword [ebp - 0x38c]
mov byte [ebp + edi - 0x388], 0
mov edi, str.NATIVE
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4423cc
test dl, dl
je 0x4423c8
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4423cc
add edi, 2
add esi, 2
test dl, dl
jne 0x4423ac
xor eax, eax
jmp 0x4423d1
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4423f0
mov eax, dword [ebp - 0x3a0]
and eax, 0xffffffef
mov byte [ebx + 0x191], al
mov byte [ebx + 0x17e], 0
jmp 0x442628
mov edi, str.BIG_ENDIAN
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x44241b
test dl, dl
je 0x442417
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x44241b
add edi, 2
add esi, 2
test dl, dl
jne 0x4423fb
xor eax, eax
jmp 0x442420
sbb eax, eax
or eax, 1
test eax, eax
jne 0x44243f
mov eax, dword [ebp - 0x3a0]
add eax, 0x20
mov byte [ebx + 0x191], al
mov byte [ebx + 0x17e], 0
jmp 0x442628
mov edi, str.VAXD
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x44246a
test dl, dl
je 0x442466
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x44246a
add edi, 2
add esi, 2
test dl, dl
jne 0x44244a
xor eax, eax
jmp 0x44246f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x44247f
mov byte [ebx + 0x17e], 2
jmp 0x442628
mov edi, str.VAXG
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4424aa
test dl, dl
je 0x4424a6
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4424aa
add edi, 2
add esi, 2
test dl, dl
jne 0x44248a
xor eax, eax
jmp 0x4424af
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4424bf
mov byte [ebx + 0x17e], 1
jmp 0x442628
mov edi, 0x4c6fbc
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4424ea
test dl, dl
je 0x4424e6
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4424ea
add edi, 2
add esi, 2
test dl, dl
jne 0x4424ca
xor eax, eax
jmp 0x4424ef
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4424ff
mov byte [ebx + 0x17e], 5
jmp 0x442628
mov edi, 0x4c6fc0
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x44252a
test dl, dl
je 0x442526
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x44252a
add edi, 2
add esi, 2
test dl, dl
jne 0x44250a
xor eax, eax
jmp 0x44252f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x44253f
mov byte [ebx + 0x17e], 6
jmp 0x442628
mov edi, str.LITTLE_ENDIAN
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x44256a
test dl, dl
je 0x442566
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x44256a
add edi, 2
add esi, 2
test dl, dl
jne 0x44254a
xor eax, eax
jmp 0x44256f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x44258e
mov eax, dword [ebp - 0x3a0]
and eax, 0xffffffef
mov byte [ebx + 0x17e], 0
mov byte [ebx + 0x191], al
jmp 0x442628
mov edi, 0x4c6fb8
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4425b9
test dl, dl
je 0x4425b5
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4425b9
add edi, 2
add esi, 2
test dl, dl
jne 0x442599
xor eax, eax
jmp 0x4425be
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4425da
mov eax, dword [ebp - 0x3a0]
add eax, 0x20
mov byte [ebx + 0x191], al
mov byte [ebx + 0x17e], 3
jmp 0x442628
mov edi, str.CRAY
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442605
test dl, dl
je 0x442601
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442605
add edi, 2
add esi, 2
test dl, dl
jne 0x4425e5
xor eax, eax
jmp 0x44260a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442a67
mov eax, dword [ebp - 0x3a0]
add eax, 0x20
mov byte [ebx + 0x191], al
mov byte [ebx + 0x17e], 4
movsx edx, word [ebx + 0x176]
lea eax, [ebp - 0x374]
push eax
push 0
add edx, 0xd
push edx
call fcn.00460c10
add esp, 0xc
test eax, eax
jne 0x442df7
movsx ecx, word [ebx + 0x176]
mov eax, ecx
add eax, 0xc
jl 0x442675
xor eax, eax
mov ecx, dword [ebp - 0x374]
mov byte [ecx + eax], 0
inc eax
movsx ecx, word [ebx + 0x176]
lea edx, [ecx + 0xc]
cmp eax, edx
jle 0x44265c
lea esi, [ecx + 0xb]
dec ecx
jl 0x442a87
mov edx, dword [ebx + 0x74]
movsx eax, byte [edx + ecx]
cmp eax, 0x2e
jne 0x442a71
movsx eax, word [ebx + 0x176]
dec eax
cmp ecx, eax
je 0x442a7f
mov edi, dword [ebp - 0x374]
movzx edx, byte [edx + ecx]
push 0x105
mov byte [esi + edi], dl
lea edi, [esi - 0xc]
mov eax, dword [ebp - 0x374]
mov dword [edi + eax], 0x54524f46
mov ecx, dword [ebp - 0x374]
mov dword [edi + ecx + 4], 0x4e4f435f
mov eax, dword [ebp - 0x374]
mov dword [edi + eax + 8], 0x54524556
lea edi, [ebp - 0x118]
mov edx, dword [ebp - 0x374]
push edi
lea eax, [edx + esi - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jbe 0x442709
cmp eax, 0x105
jae 0x442709
movsx eax, byte [ebp - 0x118]
jmp 0x442712
mov byte [ebp - 0x118], 0
xor eax, eax
test eax, eax
jne 0x442754
mov eax, dword [ebp - 0x374]
push 0x105
push edi
mov byte [esi + eax], 0x5f
mov edx, dword [ebp - 0x374]
lea esi, [edx + esi - 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jbe 0x44274b
cmp eax, 0x105
jae 0x44274b
movsx eax, byte [ebp - 0x118]
jmp 0x442754
mov byte [ebp - 0x118], 0
xor eax, eax
test eax, eax
je 0x442a87
movzx eax, byte [ebx + 0x191]
mov ecx, edi
and eax, 0xffffffdf
or eax, 0x10
mov byte [ebx + 0x17e], 0
mov dword [ebp - 0x3a0], eax
mov byte [ebx + 0x191], al
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x442795
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x442780
dec eax
cmp eax, 0x14
jb 0x44279f
mov eax, 0x14
xor esi, esi
test eax, eax
jle 0x4427cc
mov dword [ebp - 0x38c], ebx
mov ebx, eax
movsx edx, byte [esi + edi]
push edx
call fcn.004ad596
mov byte [ebp + esi - 0x388], al
inc esi
add esp, 4
cmp esi, ebx
jl 0x4427ad
mov ebx, dword [ebp - 0x38c]
mov byte [ebp + esi - 0x388], 0
mov edi, str.NATIVE
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4427ff
test dl, dl
je 0x4427fb
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4427ff
add edi, 2
add esi, 2
test dl, dl
jne 0x4427df
xor eax, eax
jmp 0x442804
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442823
mov eax, dword [ebp - 0x3a0]
and eax, 0xffffffef
mov byte [ebx + 0x191], al
mov byte [ebx + 0x17e], 0
jmp 0x442a87
mov edi, str.BIG_ENDIAN
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x44284e
test dl, dl
je 0x44284a
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x44284e
add edi, 2
add esi, 2
test dl, dl
jne 0x44282e
xor eax, eax
jmp 0x442853
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442872
mov eax, dword [ebp - 0x3a0]
add eax, 0x20
mov byte [ebx + 0x191], al
mov byte [ebx + 0x17e], 0
jmp 0x442a87
mov edi, str.VAXD
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x44289d
test dl, dl
je 0x442899
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x44289d
add edi, 2
add esi, 2
test dl, dl
jne 0x44287d
xor eax, eax
jmp 0x4428a2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4428b2
mov byte [ebx + 0x17e], 2
jmp 0x442a87
mov edi, str.VAXG
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4428dd
test dl, dl
je 0x4428d9
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4428dd
add edi, 2
add esi, 2
test dl, dl
jne 0x4428bd
xor eax, eax
jmp 0x4428e2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4428f2
mov byte [ebx + 0x17e], 1
jmp 0x442a87
mov edi, 0x4c6fbc
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x44291d
test dl, dl
je 0x442919
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x44291d
add edi, 2
add esi, 2
test dl, dl
jne 0x4428fd
xor eax, eax
jmp 0x442922
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442932
mov byte [ebx + 0x17e], 5
jmp 0x442a87
mov edi, 0x4c6fc0
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x44295d
test dl, dl
je 0x442959
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x44295d
add edi, 2
add esi, 2
test dl, dl
jne 0x44293d
xor eax, eax
jmp 0x442962
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442972
mov byte [ebx + 0x17e], 6
jmp 0x442a87
mov edi, str.LITTLE_ENDIAN
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x44299d
test dl, dl
je 0x442999
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x44299d
add edi, 2
add esi, 2
test dl, dl
jne 0x44297d
xor eax, eax
jmp 0x4429a2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4429c1
mov eax, dword [ebp - 0x3a0]
and eax, 0xffffffef
mov byte [ebx + 0x17e], 0
mov byte [ebx + 0x191], al
jmp 0x442a87
mov edi, 0x4c6fb8
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4429ec
test dl, dl
je 0x4429e8
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4429ec
add edi, 2
add esi, 2
test dl, dl
jne 0x4429cc
xor eax, eax
jmp 0x4429f1
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442a0d
mov eax, dword [ebp - 0x3a0]
add eax, 0x20
mov byte [ebx + 0x191], al
mov byte [ebx + 0x17e], 3
jmp 0x442a87
mov edi, str.CRAY
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442a38
test dl, dl
je 0x442a34
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442a38
add edi, 2
add esi, 2
test dl, dl
jne 0x442a18
xor eax, eax
jmp 0x442a3d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442a59
mov eax, dword [ebp - 0x3a0]
add eax, 0x20
mov byte [ebx + 0x191], al
mov byte [ebx + 0x17e], 4
jmp 0x442a87
push dword [ebp - 0x374]
call fcn.00460cc0
add esp, 4
mov eax, 0x2e
jmp 0x443b5f
cmp eax, 0x5c
je 0x442a7f
mov edx, dword [ebp - 0x374]
mov byte [edx + esi], al
dec esi
dec ecx
jns 0x44267f
push dword [ebp - 0x374]
call fcn.00460cc0
add esp, 4
test eax, eax
jne 0x442df7
cmp dword [0x4f1980], 0
je 0x443df6
mov eax, dword [0x4f19f0]
push dword [ebx + 0x118]
push str.FORT_CONVERT_d
lea esi, [ebp - 0x158]
push esi
call eax
add esp, 0xc
push 0x105
lea edi, [ebp - 0x118]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jbe 0x442aed
cmp eax, 0x105
jae 0x442aed
movsx eax, byte [ebp - 0x118]
jmp 0x442af6
mov byte [ebp - 0x118], 0
xor eax, eax
test eax, eax
je 0x442dfd
movzx eax, byte [ebx + 0x191]
mov ecx, edi
and eax, 0xffffffdf
or eax, 0x10
mov byte [ebx + 0x17e], 0
mov dword [ebp - 0x3a0], eax
mov byte [ebx + 0x191], al
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x442b37
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x442b22
dec eax
mov edi, eax
xor esi, esi
cmp edi, 0x14
jb 0x442b45
mov edi, 0x14
test edi, edi
jle 0x442b66
movsx eax, byte [ebp + esi - 0x118]
push eax
call fcn.004ad596
mov byte [ebp + esi - 0x388], al
inc esi
add esp, 4
cmp esi, edi
jl 0x442b49
mov byte [ebp + esi - 0x388], 0
mov edi, str.NATIVE
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442b99
test dl, dl
je 0x442b95
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442b99
add edi, 2
add esi, 2
test dl, dl
jne 0x442b79
xor eax, eax
jmp 0x442b9e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442bbd
mov eax, dword [ebp - 0x3a0]
and eax, 0xffffffef
mov byte [ebx + 0x191], al
mov byte [ebx + 0x17e], 0
jmp 0x442dfd
mov edi, str.BIG_ENDIAN
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442be8
test dl, dl
je 0x442be4
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442be8
add edi, 2
add esi, 2
test dl, dl
jne 0x442bc8
xor eax, eax
jmp 0x442bed
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442c0c
mov eax, dword [ebp - 0x3a0]
add eax, 0x20
mov byte [ebx + 0x191], al
mov byte [ebx + 0x17e], 0
jmp 0x442dfd
mov edi, str.VAXD
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442c37
test dl, dl
je 0x442c33
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442c37
add edi, 2
add esi, 2
test dl, dl
jne 0x442c17
xor eax, eax
jmp 0x442c3c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442c4c
mov byte [ebx + 0x17e], 2
jmp 0x442dfd
mov edi, str.VAXG
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442c77
test dl, dl
je 0x442c73
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442c77
add edi, 2
add esi, 2
test dl, dl
jne 0x442c57
xor eax, eax
jmp 0x442c7c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442c8c
mov byte [ebx + 0x17e], 1
jmp 0x442dfd
mov edi, 0x4c6fbc
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442cb7
test dl, dl
je 0x442cb3
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442cb7
add edi, 2
add esi, 2
test dl, dl
jne 0x442c97
xor eax, eax
jmp 0x442cbc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442ccc
mov byte [ebx + 0x17e], 5
jmp 0x442dfd
mov edi, 0x4c6fc0
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442cf7
test dl, dl
je 0x442cf3
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442cf7
add edi, 2
add esi, 2
test dl, dl
jne 0x442cd7
xor eax, eax
jmp 0x442cfc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442d0c
mov byte [ebx + 0x17e], 6
jmp 0x442dfd
mov edi, str.LITTLE_ENDIAN
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442d37
test dl, dl
je 0x442d33
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442d37
add edi, 2
add esi, 2
test dl, dl
jne 0x442d17
xor eax, eax
jmp 0x442d3c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442d5b
mov eax, dword [ebp - 0x3a0]
and eax, 0xffffffef
mov byte [ebx + 0x17e], 0
mov byte [ebx + 0x191], al
jmp 0x442dfd
mov edi, 0x4c6fb8
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442d86
test dl, dl
je 0x442d82
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442d86
add edi, 2
add esi, 2
test dl, dl
jne 0x442d66
xor eax, eax
jmp 0x442d8b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442da7
mov eax, dword [ebp - 0x3a0]
add eax, 0x20
mov byte [ebx + 0x191], al
mov byte [ebx + 0x17e], 3
jmp 0x442dfd
mov edi, str.CRAY
lea esi, [ebp - 0x388]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442dd2
test dl, dl
je 0x442dce
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442dd2
add edi, 2
add esi, 2
test dl, dl
jne 0x442db2
xor eax, eax
jmp 0x442dd7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x442a67
mov eax, dword [ebp - 0x3a0]
add eax, 0x20
mov byte [ebx + 0x191], al
mov byte [ebx + 0x17e], 4
jmp 0x442dfd
jne 0x443b5f
cmp dword [ebx + 0x154], 1
je 0x4430a3
cmp dword [0x508060], 0
je 0x442e42
movzx eax, byte [ebx + 0x194]
mov edx, dword [ebx + 0x15c]
test eax, 0x80
je 0x442e30
cmp edx, 0xfffffffa
je 0x4430a3
cmp edx, 1
je 0x4430a3
cmp edx, 2
je 0x4430a3
test byte [ebx + 0x18e], 0x40
je 0x4430a3
cmp byte [ebx + 0x17a], 0
jne 0x4430a3
mov eax, dword [ebx + 0x118]
mov dword [ebp - 0x390], eax
cmp dword [0x4fb640], 0
jne 0x443028
push 0x105
lea eax, [ebp - 0x36c]
push eax
push str.FOR_FMT_TERMINATOR
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov edx, eax
test edx, edx
jbe 0x442e9d
cmp edx, 0x105
jae 0x442e9d
inc edx
jmp 0x442ea4
mov byte [ebp - 0x36c], 0
mov dword [0x4fb640], 1
lea eax, [ebp - 0x36c]
mov dword [eax - 0x28], eax
xor eax, eax
mov dword [0x4fb64c], eax
mov dword [0x4fb644], eax
mov dword [0x4fb648], eax
test edx, edx
je 0x443092
cmp byte [ebp - 0x36c], 0
je 0x443092
mov esi, 0x4c6df0
lea edi, [ebp - 0x36c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442f08
test dl, dl
je 0x442f04
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442f08
add edi, 2
add esi, 2
test dl, dl
jne 0x442ee8
xor eax, eax
jmp 0x442f0d
sbb eax, eax
or eax, 1
test eax, eax
je 0x443083
mov esi, 0x4c6dec
lea edi, [ebp - 0x36c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442f40
test dl, dl
je 0x442f3c
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442f40
add edi, 2
add esi, 2
test dl, dl
jne 0x442f20
xor eax, eax
jmp 0x442f45
sbb eax, eax
or eax, 1
test eax, eax
je 0x443072
mov esi, str.CRLF
lea edi, [ebp - 0x36c]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x442f78
test dl, dl
je 0x442f74
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x442f78
add edi, 2
add esi, 2
test dl, dl
jne 0x442f58
xor eax, eax
jmp 0x442f7d
sbb eax, eax
or eax, 1
test eax, eax
je 0x443061
push 0x3b
lea eax, [ebp - 0x36c]
push eax
call fcn.004aa0f0
mov edi, eax
add esp, 8
test edi, edi
je 0x444087
push 0x4c6e00
lea eax, [ebp - 0x36c]
push eax
call fcn.004aa220
mov edx, eax
lea eax, [ebp - 0x36c]
add esp, 8
cmp eax, edx
je 0x444073
push 0x4c6dfc
lea eax, [ebp - 0x36c]
push eax
call fcn.004aa220
mov edx, eax
lea eax, [ebp - 0x36c]
add esp, 8
cmp eax, edx
je 0x44405f
push str.CRLF_
lea eax, [ebp - 0x36c]
push eax
call fcn.004aa220
mov edx, eax
lea eax, [ebp - 0x36c]
add esp, 8
cmp eax, edx
je 0x443e00
xor eax, eax
push eax
push 0x60
mov dword [0x4fb64c], eax
mov dword [0x4fb644], eax
mov dword [0x4fb648], eax
call fcn.00464d00
add esp, 8
mov eax, dword [0x4fb644]
test eax, eax
je 0x44305a
mov ecx, dword [0x4fb648]
test ecx, ecx
jle 0x44305a
mov esi, dword [ebp - 0x390]
xor edx, edx
cmp esi, dword [edx*4 + 0x4fb240]
jl 0x443055
cmp esi, dword [edx*4 + 0x4fb340]
jle 0x443092
inc edx
cmp edx, ecx
jl 0x443043
mov eax, dword [0x4fb64c]
jmp 0x443092
mov dword [0x4fb64c], 8
mov eax, 8
jmp 0x443092
mov dword [0x4fb64c], 6
mov eax, 6
jmp 0x443092
mov dword [0x4fb64c], 7
mov eax, 7
test eax, eax
je 0x4430a3
mov byte [ebx + 0x17a], al
mov byte [ebx + 0x17c], 3
mov eax, dword [ebp - 0x370]
mov dword [ebx + 0x7c], 0
mov eax, dword [eax]
dec eax
cmp eax, 4
ja 0x44323d
movzx eax, word [eax*2 + 0x4c6ca0]
add eax, 0x4430cb
jmp eax
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0x70]
cmp eax, 1
je 0x4432ba
cmp eax, 3
jne 0x44327e
test byte [ebx + 0x192], 1
jne 0x4432c7
mov dword [ebx + 0x7c], str.ACTION
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp eax, 2
jne 0x4432c7
test byte [ebx + 0x18d], 0x40
jne 0x443295
test byte [ebx + 0x192], 1
je 0x4432c7
mov dword [ebx + 0x7c], str.ACTION
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test byte [ebx + 0x18d], 0x40
je 0x443b3e
mov eax, dword [ebp - 0x370]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4432ee
mov edx, eax
mov al, byte [ebx + 0x17d]
cmp al, byte [edx + 8]
jne 0x443b1d
cmp ecx, dword [ebx + 0x68]
jne 0x443b1d
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0xa4]
cmp eax, 1
je 0x4445bb
cmp eax, 2
je 0x444594
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0xa0]
cmp eax, 1
je 0x444575
cmp eax, 2
je 0x4443b0
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0x28]
dec eax
cmp eax, 5
ja 0x44340c
movzx eax, byte [eax + 0x4c6cac]
add eax, 0x44334c
jmp eax
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0x34]
cmp eax, 1
je 0x443493
cmp eax, 2
jne 0x443460
movzx eax, byte [ebx + 0x18e]
test eax, 0x80
jne 0x4434a0
movzx eax, byte [ebx + 0x18c]
test eax, 0x80
jne 0x4434a0
mov dword [ebx + 0x7c], str.FORM
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp eax, 4
jne 0x4434a0
test byte [ebx + 0x194], 2
jne 0x4434a0
mov dword [ebx + 0x7c], str.FORM
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test byte [ebx + 0x18e], 0x40
je 0x443af8
mov eax, dword [ebp - 0x370]
cmp dword [eax + 0x88], 0
je 0x44350d
cmp dword [0x508060], 0
je 0x4434ef
cmp dword [eax + 0x8c], 0
je 0x44350d
test byte [ebx + 0x195], 1
jne 0x44350d
mov dword [ebx + 0x7c], str.IOFOCUS
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
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 0x443541
cmp eax, dword [ebx + 0xf0]
je 0x443541
mov dword [ebx + 0x7c], str.MAXREC
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0x90]
cmp eax, 1
je 0x4435c1
cmp eax, 3
jne 0x443585
test byte [ebx + 0x192], 1
jne 0x4435ce
mov dword [ebx + 0x7c], str.MODE
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp eax, 2
jne 0x4435ce
test byte [ebx + 0x18d], 0x40
jne 0x44359c
test byte [ebx + 0x192], 1
je 0x4435ce
mov dword [ebx + 0x7c], str.MODE
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test byte [ebx + 0x18d], 0x40
je 0x443ad3
mov eax, dword [ebp - 0x370]
cmp dword [eax + 0x54], 0
je 0x443608
test byte [ebx + 0x18e], 1
je 0x443608
mov dword [ebx + 0x7c], str.NOSHARED
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
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 0x44367a
cmp eax, 2
jne 0x443647
cmp byte [ebx + 0x17b], 2
je 0x4436a8
mov dword [ebx + 0x7c], str.ORGANIZATION
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp eax, 3
jne 0x4436a8
cmp byte [ebx + 0x17b], 3
je 0x4436a8
mov dword [ebx + 0x7c], str.ORGANIZATION
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp byte [ebx + 0x17b], 1
je 0x4436a8
mov dword [ebx + 0x7c], str.ORGANIZATION
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0x7c]
test eax, eax
je 0x44373c
cmp eax, 2
je 0x44373c
test byte [ebx + 0x190], 8
jne 0x4436d1
xor esi, esi
mov dword [ebp - 0x380], esi
jmp 0x44370b
push 1
xor edx, edx
lea eax, [ebp - 0x384]
push eax
push edx
push dword [ebx + 0xfc]
mov dword [eax - 4], edx
mov dword [eax], edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov esi, eax
mov dword [ebp - 0x388], esi
cmp esi, 0xffffffff
je 0x444322
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0x380], eax
movzx eax, byte [ebx + 0x18f]
test al, 8
jne 0x44371e
test al, 0x10
je 0x4440e6
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x2e
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x370]
cmp dword [eax + 0x44], 0
je 0x443776
test byte [ebx + 0x18d], 0x40
jne 0x443776
mov dword [ebx + 0x7c], str.READONLY
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
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 0x4437b3
mov eax, dword [ebx + 0x114]
sub esi, eax
or esi, ecx
je 0x4437b3
mov dword [ebx + 0x7c], str.RECL
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0x50]
test eax, eax
je 0x443822
cmp eax, 2
jne 0x4437f3
cmp byte [ebx + 0x17a], 4
je 0x443822
mov dword [ebx + 0x7c], str.RECORDTYPE
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dl, byte [ebx + 0x17a]
cmp dl, al
je 0x443822
mov dword [ebx + 0x7c], str.RECORDTYPE
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0x94]
lea edx, [eax - 1]
cmp edx, 1
jbe 0x44436f
cmp eax, 3
je 0x4438db
cmp eax, 4
jne 0x443891
test byte [ebx + 0x18e], 1
jne 0x44386c
movzx eax, byte [ebx + 0x194]
test al, 4
jne 0x44386c
test al, 8
jne 0x44386c
test al, 0x10
je 0x44386c
test al, 0x20
je 0x44390f
mov dword [ebx + 0x7c], str.SHARE
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
cmp eax, 5
jne 0x44390f
test byte [ebx + 0x18e], 1
jne 0x4438b6
movzx eax, byte [ebx + 0x194]
test al, 4
jne 0x4438b6
test al, 8
jne 0x4438b6
test al, 0x10
jne 0x4438b6
test al, 0x20
jne 0x44390f
mov dword [ebx + 0x7c], str.SHARE
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
test byte [ebx + 0x18e], 1
jne 0x443aae
movzx eax, byte [ebx + 0x194]
test al, 4
jne 0x443aae
test al, 8
je 0x443aae
test al, 0x10
jne 0x443aae
test al, 0x20
jne 0x443aae
mov eax, dword [ebp - 0x370]
cmp dword [eax + 0x58], 0
je 0x443949
test byte [ebx + 0x18e], 1
jne 0x443949
mov dword [ebx + 0x7c], str.SHARED
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
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 0x443989
cmp eax, 4
je 0x443989
cmp eax, 3
jne 0x443964
test byte [ebx + 0x18e], 4
jne 0x443989
mov dword [ebx + 0x7c], str.STATUS
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x370]
cmp dword [eax + 0x98], 0
je 0x443a3f
cmp dword [0x508060], 0
je 0x443a90
mov eax, dword [ebx + 0x15c]
test eax, 0xfffffffe
je 0x44435f
cmp eax, 2
je 0x44435f
push dword [ebx + 0xfc]
call fcn.004a89d0
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x443a3f
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x4439ee
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x4439d9
dec eax
mov edx, eax
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0x9c]
cmp edx, eax
jne 0x443a1a
push eax
mov eax, dword [ebp - 0x370]
push dword [eax + 0x98]
push ecx
call fcn.004ad5d0
add esp, 0xc
test eax, eax
je 0x443a3f
mov dword [ebx + 0x7c], str.TITLE
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov esi, dword [ebp - 0x370]
mov eax, dword [esi + 0xb8]
mov byte [ebx + 0x185], al
mov edx, dword [esi + 0xbc]
mov byte [ebx + 0x187], dl
mov ecx, dword [esi + 0xc0]
mov byte [ebx + 0x189], cl
mov eax, dword [esi + 0xc4]
mov byte [ebx + 0x18b], al
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x234
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebx + 0x7c], str.SHARE
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebx + 0x7c], str.MODE
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebx + 0x7c], str.FORM
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebx + 0x7c], str.ASSOCIATEVARIABLE
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov dword [ebx + 0x7c], str.ACTION
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
mov eax, 0x68
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, 0x2f2
test byte [ebx + 0x18c], 0x20
mov ecx, dword [ebp - 0x10]
jne 0x443b8a
mov eax, 0x30
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
call fcn.004a91cc
mov dword [0x4fb65c], 0xffffffff
mov dword [ebp - 0x3a0], 0xffffffff
lea eax, [esi + 1]
mov dword [ebp - 0x394], eax
push 0x3a
push dword [ebp - 0x394]
call fcn.004aa0f0
mov esi, eax
add esp, 8
test esi, esi
je 0x443dc4
push str.big:
push dword [ebp - 0x394]
call fcn.004aa220
add esp, 8
cmp eax, dword [ebp - 0x394]
je 0x443dba
push str.little:
push dword [ebp - 0x394]
call fcn.004aa220
add esp, 8
cmp eax, dword [ebp - 0x394]
jne 0x442299
mov edi, 0xffffffff
lea eax, [esi + 1]
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x394]
mov ecx, edi
cmp edi, dword [ebp - 0x3a0]
jne 0x443c39
mov ecx, 0
jne 0x443c40
mov edi, 0
cmp byte [eax], 0
je 0x442299
xor edx, edx
mov dword [ebp - 0x3a0], edx
mov dword [ebp - 0x39c], ecx
mov dword [ebp - 0x38c], ebx
mov dword [ebp - 0x398], edi
mov ebx, edx
mov ecx, dword [ebp - 0x394]
movsx esi, byte [ecx]
test esi, esi
je 0x443d97
test ebx, ebx
je 0x443cbe
cmp ebx, 2
je 0x443cbe
cmp ebx, 1
jne 0x443c94
mov edi, esi
and edi, 0xfffffffe
cmp edi, 0x2c
je 0x443d41
jmp 0x443c99
cmp ebx, 3
jne 0x443cb3
cmp esi, 0x2c
je 0x443d5b
lea edi, [esi - 0x30]
cmp edi, 9
ja 0x443cb3
lea eax, [eax + eax*4]
lea eax, [esi + eax*2 - 0x30]
jmp 0x443cc7
mov ebx, dword [ebp - 0x38c]
jmp 0x442299
lea eax, [esi - 0x30]
cmp eax, 9
ja 0x443cb3
inc ebx
inc ecx
cmp edx, 0x40
jl 0x443c6b
mov dword [ebp - 0x394], ecx
mov esi, ecx
mov dword [ebp - 0x3a0], ebx
mov ecx, dword [ebp - 0x39c]
mov edi, dword [ebp - 0x398]
mov ebx, dword [ebp - 0x38c]
cmp byte [esi], 0
jne 0x442299
mov esi, dword [ebp - 0x394]
movsx esi, byte [esi - 1]
cmp esi, 0x2c
je 0x442299
cmp esi, 0x2d
je 0x442299
cmp dword [ebp - 0x3a0], 1
je 0x443d77
cmp eax, dword [edx*4 + 0x4fb440]
jl 0x442299
mov dword [edx*4 + 0x4fb540], eax
inc edx
mov dword [0x4fb654], ecx
mov dword [0x4fb658], edx
jmp 0x4422bb
mov dword [edx*4 + 0x4fb440], eax
cmp esi, 0x2d
jne 0x443c99
mov ebx, 2
jmp 0x443cc7
cmp eax, dword [edx*4 + 0x4fb440]
jl 0x443cb3
mov dword [edx*4 + 0x4fb540], eax
inc edx
xor ebx, ebx
jmp 0x443cc7
mov dword [edx*4 + 0x4fb440], eax
mov dword [edx*4 + 0x4fb540], eax
inc edx
mov dword [0x4fb654], ecx
mov dword [0x4fb658], edx
jmp 0x4422bb
mov dword [ebp - 0x3a0], ebx
mov dword [ebp - 0x394], ecx
mov ecx, dword [ebp - 0x39c]
mov edi, dword [ebp - 0x398]
mov ebx, dword [ebp - 0x38c]
jmp 0x443cf6
mov edi, 1
jmp 0x443c1b
mov edi, 1
jmp 0x443c24
mov dword [0x4fb65c], 1
mov dword [ebp - 0x3a0], 1
jmp 0x443bb5
mov dword [ebp - 0x3a0], 0
jmp 0x443bbe
call fcn.004a0af0
jmp 0x442aaa
mov dword [0x4fb64c], 8
mov esi, 8
lea eax, [edi + 1]
mov dword [ebp - 0x394], eax
push 0x3a
push dword [ebp - 0x394]
call fcn.004aa0f0
add esp, 8
mov dword [ebp - 0x3a0], eax
test eax, eax
je 0x444055
push 0x4c6e10
push dword [ebp - 0x394]
call fcn.004aa220
add esp, 8
cmp eax, dword [ebp - 0x394]
je 0x44404b
push 0x4c6e0c
push dword [ebp - 0x394]
call fcn.004aa220
add esp, 8
cmp eax, dword [ebp - 0x394]
je 0x444041
push str.CRLF:
push dword [ebp - 0x394]
call fcn.004aa220
add esp, 8
cmp eax, dword [ebp - 0x394]
jne 0x44300c
mov eax, 8
mov edx, dword [ebp - 0x3a0]
lea ecx, [edx + 1]
mov dword [ebp - 0x394], ecx
mov edx, dword [ebp - 0x394]
cmp eax, esi
mov esi, eax
jne 0x443eb8
mov esi, 0
jne 0x443ebf
mov eax, 0
cmp byte [edx], 0
je 0x44300c
xor edx, edx
mov dword [ebp - 0x39c], eax
xor ecx, ecx
mov dword [ebp - 0x38c], ebx
mov dword [ebp - 0x398], esi
mov eax, dword [ebp - 0x3a0]
mov ebx, dword [ebp - 0x394]
movsx esi, byte [ebx]
test esi, esi
je 0x44401e
test ecx, ecx
je 0x443f3d
cmp ecx, 2
je 0x443f3d
cmp ecx, 1
jne 0x443f13
mov edi, esi
and edi, 0xfffffffe
cmp edi, 0x2c
je 0x443fc2
jmp 0x443f18
cmp ecx, 3
jne 0x443f32
cmp esi, 0x2c
je 0x443fdc
lea edi, [esi - 0x30]
cmp edi, 9
ja 0x443f32
lea eax, [eax + eax*4]
lea eax, [esi + eax*2 - 0x30]
jmp 0x443f46
mov ebx, dword [ebp - 0x38c]
jmp 0x44300c
lea eax, [esi - 0x30]
cmp eax, 9
ja 0x443f32
inc ecx
inc ebx
cmp edx, 0x40
jl 0x443eea
mov dword [ebp - 0x394], ebx
mov edi, ebx
mov dword [ebp - 0x3a0], eax
mov esi, dword [ebp - 0x398]
mov eax, dword [ebp - 0x39c]
mov ebx, dword [ebp - 0x38c]
cmp byte [edi], 0
jne 0x44300c
mov edi, dword [ebp - 0x394]
movsx edi, byte [edi - 1]
cmp edi, 0x2c
je 0x44300c
cmp edi, 0x2d
je 0x44300c
cmp ecx, 1
je 0x443ff8
mov ecx, dword [ebp - 0x3a0]
cmp ecx, dword [edx*4 + 0x4fb240]
jl 0x44300c
mov dword [edx*4 + 0x4fb340], ecx
inc edx
mov dword [0x4fb644], esi
mov dword [0x4fb648], edx
jmp 0x44302d
mov dword [edx*4 + 0x4fb240], eax
cmp esi, 0x2d
jne 0x443f18
mov ecx, 2
jmp 0x443f46
cmp eax, dword [edx*4 + 0x4fb240]
jl 0x443f32
mov dword [edx*4 + 0x4fb340], eax
inc edx
xor ecx, ecx
jmp 0x443f46
mov ecx, dword [ebp - 0x3a0]
mov dword [edx*4 + 0x4fb240], ecx
mov dword [edx*4 + 0x4fb340], ecx
inc edx
mov dword [0x4fb644], esi
mov dword [0x4fb648], edx
jmp 0x44302d
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x394], ebx
mov esi, dword [ebp - 0x398]
mov eax, dword [ebp - 0x39c]
mov ebx, dword [ebp - 0x38c]
jmp 0x443f75
mov eax, 6
jmp 0x443e98
mov eax, 7
jmp 0x443e98
mov eax, 7
jmp 0x443ea7
mov dword [0x4fb64c], 6
mov esi, 6
jmp 0x443e0f
mov dword [0x4fb64c], 7
mov esi, 7
jmp 0x443e0f
xor esi, esi
jmp 0x443e18
mov eax, 0x78
lea esp, [ebp - 0xc]
pop ebx
pop edi
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x370]
mov eax, dword [eax + 0x7c]
cmp eax, 1
jne 0x44413b
test byte [ebx + 0x190], 8
je 0x444191
push 2
xor edx, edx
lea eax, [ebp - 0x39c]
push eax
push edx
push dword [ebx + 0xfc]
mov dword [eax - 4], edx
mov dword [eax], edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x3a0], eax
cmp eax, 0xffffffff
je 0x444236
mov edx, dword [ebp - 0x39c]
mov dword [ebp - 0x398], edx
jmp 0x444177
cmp eax, 3
jne 0x444191
xor eax, eax
lea edx, [ebp - 0x38c]
push eax
push edx
push eax
push dword [ebx + 0xfc]
mov dword [edx - 4], eax
mov dword [edx], eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x390], eax
cmp eax, 0xffffffff
je 0x444295
mov edx, dword [ebp - 0x38c]
mov dword [ebp - 0x398], edx
mov edi, eax
mov edx, 0xffffffff
mov ecx, dword [ebp - 0x398]
sub edi, edx
sub ecx, edx
or edi, ecx
jne 0x444199
jmp 0x444273
xor eax, eax
mov dword [ebp - 0x398], eax
mov edi, esi
mov edx, 0xffffffff
mov ecx, dword [ebp - 0x380]
sub edi, edx
sub ecx, edx
or edi, ecx
je 0x444273
mov edx, dword [ebp - 0x398]
sub eax, esi
sub edx, dword [ebp - 0x380]
or eax, edx
je 0x44373c
push 0
mov edx, dword [ebp - 0x380]
lea eax, [ebp - 0x394]
push eax
push esi
push dword [ebx + 0xfc]
mov dword [eax - 4], esi
mov dword [eax], edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, eax
mov dword [ebp - 0x398], ecx
cmp ecx, 0xffffffff
je 0x4442f4
mov edx, dword [ebp - 0x394]
mov eax, 0xffffffff
sub ecx, eax
sub edx, eax
or ecx, edx
je 0x4442d2
mov dword [ebx + 0x7c], str.POSITION
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
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 0x44425c
mov eax, 0xffffffff
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x398], eax
jmp 0x444177
mov edx, dword [ebp - 0x39c]
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x398], edx
jmp 0x444177
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + 0x100], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
jmp 0x4440ab
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x4442bb
mov eax, 0xffffffff
mov dword [ebp - 0x390], eax
mov dword [ebp - 0x38c], eax
mov dword [ebp - 0x398], eax
jmp 0x444177
mov edx, dword [ebp - 0x38c]
mov eax, dword [ebp - 0x390]
mov dword [ebp - 0x398], edx
jmp 0x444177
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + 0x100], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
jmp 0x4440ab
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x444311
mov eax, 0xffffffff
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x394], eax
jmp 0x4442d2
mov ecx, dword [ebp - 0x398]
mov edx, dword [ebp - 0x394]
jmp 0x444200
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x444348
mov esi, 0xffffffff
mov dword [ebp - 0x388], esi
mov dword [ebp - 0x384], esi
mov dword [ebp - 0x380], esi
jmp 0x44370b
mov eax, dword [ebp - 0x384]
mov esi, dword [ebp - 0x388]
mov dword [ebp - 0x380], eax
jmp 0x44370b
call fcn.004a89f0
push eax
call fcn.004a89d0
jmp 0x4439ce
test byte [ebx + 0x18e], 1
je 0x444393
movzx eax, byte [ebx + 0x194]
test al, 4
je 0x444393
test al, 8
jne 0x444393
test al, 0x10
jne 0x444393
test al, 0x20
je 0x44390f
mov dword [ebx + 0x7c], str.SHARE
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
jmp 0x4430f0
test byte [ebx + 0x195], 0x40
jne 0x44332a
test byte [ebx + 0x198], 4
jne 0x44332a
mov ecx, dword [ebx + 0x74]
mov dword [ebp - 0x394], ecx
xor eax, eax
movzx edx, byte [ecx + eax]
test edx, edx
je 0x4443ea
movzx edx, byte [ecx + eax + 1]
add eax, 2
test edx, edx
jne 0x4443d5
dec eax
mov edx, eax
dec edx
mov edi, edx
js 0x444403
movsx eax, byte [edx + ecx]
dec edx
cmp eax, 0x2e
je 0x444566
test edx, edx
jns 0x4443f1
xor eax, eax
mov edx, edi
and edx, 0xfffffffe
cmp edx, 2
je 0x444417
lea edx, [edi - 5]
cmp edx, 1
ja 0x444481
inc edi
lea edx, [ebp - 0x267]
push edi
push dword [ebp - 0x394]
push edx
mov dword [ebp - 0x39c], eax
call fcn.004ad650
mov eax, dword [ebp - 0x39c]
add esp, 0xc
mov byte [ebp + edi - 0x267], 0
xor esi, esi
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x398], edi
lea edi, [ebp - 0x267]
mov dword [ebp - 0x38c], ebx
mov ebx, esi
shl ebx, 4
lea eax, [ebx + 0x4c67c0]
push eax
push edi
call fcn.004ad7af
add esp, 8
test eax, eax
je 0x4444b4
inc esi
cmp esi, 0x11
jl 0x44445c
mov ebx, dword [ebp - 0x38c]
test byte [ebx + 0x18f], 8
je 0x444497
test byte [ebx + 0x18c], 4
jne 0x44332a
mov dword [ebx + 0x7c], str.BUFFERED
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
jmp 0x4430f0
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x3a0], ebx
mov edi, dword [ebp - 0x398]
mov ebx, dword [ebp - 0x38c]
test eax, eax
je 0x444528
mov eax, dword [ebp - 0x394]
movsx eax, byte [eax]
add eax, 0xffffffbd
cmp eax, 0x32
ja 0x444528
movzx eax, byte [eax + 0x4c6cb4]
add eax, 0x444481
jmp eax
mov esi, dword [ebp - 0x394]
mov edx, dword [ebp - 0x3a0]
mov byte [edi + esi], 0
movzx eax, byte [ebx + 0x196]
movzx edi, byte [edx + 0x4c67cc]
and eax, 0xfffffffe
and edi, 1
or eax, edi
mov byte [ebx + 0x196], al
cmp byte [edx + 0x4c67ca], 0xff
je 0x444481
jmp 0x44332a
dec edi
xor eax, eax
cmp edx, edi
mov edi, edx
setl al
jmp 0x444405
test byte [ebx + 0x195], 0x40
jne 0x444497
test byte [ebx + 0x198], 4
jne 0x444497
jmp 0x44332a
cmp dword [ebx + 0x20], 0
jne 0x44330c
mov dword [ebx + 0x7c], str.ASYNCHRONOUS
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
cmp ecx, dword [0x4f195c]
jne 0x443b9c
jmp 0x4430f0
cmp dword [ebx + 0x20], 0
jne 0x44459e
jmp 0x44330c