Function at 0x602d3aa0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x60312954]
push ebx
push esi
push edi
xor edi, edi
mov esi, 1
test eax, eax
mov dword [ebp - 4], edi
jne 0x602d3add
push str.NETSCAPE_LOCALIZATION_DEBUG
mov dword [0x60312954], esi
call dword [sym.imp.PNCRT.dll_getenv]
add esp, 4
test eax, eax
je 0x602d3add
cmp byte [eax], 0x31
jne 0x602d3add
mov dword [0x60312958], esi
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
xor edx, edx
mov dword [eax], 0
mov al, byte [ebx]
lea esi, [ebx + 1]
test al, al
mov ecx, esi
je 0x602d3b38
cmp al, 0x25
jne 0x602d3b2a
mov al, byte [ecx]
inc ecx
cmp al, 0x25
je 0x602d3b2a
test al, al
je 0x602d3b2a
cmp al, 0x39
jg 0x602d3b16
cmp al, 0x30
jl 0x602d3b16
mov al, byte [ecx]
inc ecx
test al, al
jne 0x602d3b05
jmp 0x602d3b2a
cmp al, 0x24
jne 0x602d3b21
test edx, edx
jg 0x602d3b41
inc edi
jmp 0x602d3b2a
test edi, edi
jg 0x602d3b72
mov edx, 1
mov al, byte [ecx]
inc ecx
test al, al
jne 0x602d3af6
test edi, edi
mov dword [ebp - 4], edi
jne 0x602d3b9f
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 4], edi
mov dword [ecx], 0xffffffff
mov eax, dword [0x60312958]
test eax, eax
je 0x602d3bde
push ebx
push str.either_no_OR_all_arguments_are_numbered___s__n
call dword [sym.imp.PNCRT.dll_printf]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x60312958]
mov dword [ebp - 4], edi
test eax, eax
je 0x602d3b8d
push ebx
push str.either_no_OR_all_arguments_are_numbered___s__n
call dword [sym.imp.PNCRT.dll_printf]
add esp, 8
mov edx, dword [ebp + 0x10]
pop edi
pop esi
xor eax, eax
mov dword [edx], 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0x14
jle 0x602d3be7
mov eax, dword [ebp - 4]
lea ecx, [eax*8]
push ecx
call fcn.602e0190
mov edi, eax
add esp, 4
test edi, edi
jne 0x602d3bea
mov edx, dword [ebp + 0x10]
mov dword [edx], 0xffffffff
mov eax, dword [0x60312958]
test eax, eax
je 0x602d3bde
push ebx
push str.malloc___error_for___s__n
call dword [sym.imp.PNCRT.dll_printf]
add esp, 8
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x14]
mov ecx, dword [ebp - 4]
test ecx, ecx
jle 0x602d3bff
mov eax, edi
mov dword [eax], 0x14
add eax, 8
dec ecx
jne 0x602d3bf3
mov al, byte [ebx]
mov ecx, esi
test al, al
je 0x602d3db9
cmp al, 0x25
jne 0x602d3d1b
mov al, byte [ecx]
inc ecx
cmp al, 0x25
je 0x602d3d1b
xor edx, edx
test al, al
je 0x602d3d94
cmp al, 0x24
je 0x602d3c44
movsx eax, al
lea edx, [edx + edx*4]
inc ecx
lea edx, [eax + edx*2 - 0x30]
mov al, byte [ecx - 1]
test al, al
je 0x602d3d94
jmp 0x602d3c28
cmp edx, 1
jl 0x602d3d94
cmp edx, dword [ebp - 4]
jg 0x602d3d94
mov eax, dword [edi + edx*8 - 8]
dec edx
cmp eax, 0x14
jne 0x602d3d1b
mov al, byte [ecx]
inc ecx
cmp al, 0x2a
je 0x602d3d2b
cmp al, 0x30
jl 0x602d3c7e
cmp al, 0x39
jg 0x602d3c7e
mov al, byte [ecx]
inc ecx
cmp al, 0x30
jge 0x602d3c73
cmp al, 0x2e
jne 0x602d3c9c
mov al, byte [ecx]
inc ecx
cmp al, 0x2a
je 0x602d3d4e
cmp al, 0x30
jl 0x602d3c9c
cmp al, 0x39
jg 0x602d3c9c
mov al, byte [ecx]
inc ecx
cmp al, 0x30
jge 0x602d3c91
cmp al, 0x68
mov dword [edi + edx*8], 2
jne 0x602d3cb0
mov dword [edi + edx*8], 0
jmp 0x602d3ccd
cmp al, 0x4c
je 0x602d3cc6
cmp al, 0x6c
jne 0x602d3cd0
mov dword [edi + edx*8], 4
mov al, byte [ecx]
inc ecx
cmp al, 0x6c
jne 0x602d3cd0
mov dword [edi + edx*8], 6
mov al, byte [ecx]
inc ecx
movsx eax, al
lea esi, [eax - 0x43]
cmp esi, 0x35
ja case.0x602d3ce3.67
xor eax, eax
mov al, byte [esi + 0x602d3e5c]
jmp dword [eax*4 + 0x602d3e40]
mov dword [edi + edx*8], 9
jmp case.0x602d3ce3.68
mov dword [edi + edx*8], 5
jmp case.0x602d3ce3.68
mov dword [edi + edx*8], 8
jmp case.0x602d3ce3.68
mov dword [edi + edx*8], 0xa
jmp case.0x602d3ce3.68
mov dword [edi + edx*8], 0x14
cmp dword [edi + edx*8], 0x14
je 0x602d3d71
mov al, byte [ecx]
inc ecx
test al, al
je 0x602d3db9
jmp 0x602d3c0b
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0xffffffff
mov eax, dword [0x60312958]
test eax, eax
je 0x602d3db9
push ebx
push str._width_specifier_not_support_for_numbered_arguments___s__n
call dword [sym.imp.PNCRT.dll_printf]
add esp, 8
jmp 0x602d3db9
mov eax, dword [0x60312958]
test eax, eax
je 0x602d3d66
push ebx
push str._precision_specifier_not_support_for_numbered_arguments___s__n
call dword [sym.imp.PNCRT.dll_printf]
add esp, 8
mov edx, dword [ebp + 0x10]
mov dword [edx], 0xffffffff
jmp 0x602d3db9
mov eax, dword [0x60312958]
test eax, eax
je 0x602d3d89
push ebx
push str.unknown_type___s__n
call dword [sym.imp.PNCRT.dll_printf]
add esp, 8
mov eax, dword [ebp + 0x10]
mov dword [eax], 0xffffffff
jmp 0x602d3db9
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0xffffffff
mov eax, dword [0x60312958]
test eax, eax
je 0x602d3db9
mov edx, dword [ebp - 4]
push ebx
push edx
push str.invalid_argument_number__valid_range__1___d______s__n
call dword [sym.imp.PNCRT.dll_printf]
add esp, 0xc
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
jge 0x602d3dd8
cmp edi, dword [ebp + 0x14]
je 0x602d3dcf
push edi
call fcn.602e01b0
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 4]
xor esi, esi
test ebx, ebx
jle 0x602d3e16
mov eax, dword [ebp + 0xc]
mov edx, edi
cmp dword [edx], 0x14
je 0x602d3e0e
mov dword [edx + 4], eax
mov ecx, dword [edx]
cmp ecx, 0xa
ja case.default.0x602d3df5
jmp dword [ecx*4 + 0x602d3e94]
add eax, 3
and al, 0xfc
add eax, 4
jmp 0x602d3e0e
add eax, 3
and al, 0xfc
add eax, 8
inc esi
add edx, 8
cmp esi, ebx
jl 0x602d3de6
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, dword [ebp + 0x14]
je 0x602d3e2d
push edi
call fcn.602e01b0
add esp, 4
mov ecx, dword [ebp + 0x10]
pop edi
pop esi
xor eax, eax
mov dword [ecx], 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret