Function at 0x1003aa30
Capabilities:
Query environment variable

Disassembly:
sub esp, 0x40c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x408], eax
cmp dword [0x1008fa7c], 0
push esi
push edi
mov edi, edx
mov esi, ecx
je 0x1003aa6d
pop edi
or eax, 0xffffffff
pop esi
mov ecx, dword [esp + 0x408]
xor ecx, esp
call fcn.1003d20f
add esp, 0x40c
ret
or dword [0x1008f344], 0x100
mov edx, 6
or dword [0x1008f310], 0x100
mov ecx, 0x1008f220
push ebx
push ebp
mov dword [0x1008fa7c], 3
mov dword [0x1008fa78], 0
call fcn.1003a500
mov edx, edi
mov ecx, esi
call fcn.1003a2c0
mov edx, 3
mov ecx, str.no_debug
mov ebp, eax
call fcn.1003a600
test eax, eax
je 0x1003aad4
cmp dword [eax + 0x24], 0
je 0x1003aad4
mov dword [0x1008f994], 0
mov ecx, str.zlib
call fcn.10004df0
mov ecx, eax
test ecx, ecx
jns 0x1003ab0d
mov ecx, 0x20
mov eax, 0x100791f0
nop
sub eax, 0xc
dec ecx
cmp eax, 0x10079070
jl 0x1003ab09
cmp dword [eax], ecx
je 0x1003aaf0
lea eax, [ecx + ecx*2]
mov dword [eax*4 + 0x10079070], ecx
test ecx, ecx
js 0x1003ab33
lea eax, [ecx + ecx*2]
mov dword [eax*4 + str.critical], 0x1007537c
mov dword [eax*4 + str.critical_error_message], 0x10075370
mov eax, dword [0x1008ec68]
btr eax, ecx
mov dword [0x1008ec68], eax
cmp dword [0x1009fa8c], 0
mov eax, dword [0x1008f990]
mov dword [0x1008ec6c], ecx
mov dword [0x1008f40c], eax
mov dword [0x1008f3a0], 0x1008f40c
mov dword [0x1008f3fc], 0x1008f3a0
mov dword [0x1008f990], 0x1008f3fc
je 0x1003ab7c
push str.rsc68:_already_initialized_n
call fcn.10004dc0
add esp, 4
jmp 0x1003ad29
mov ecx, 0x1007694c
call fcn.10004df0
mov ecx, eax
test ecx, ecx
jns 0x1003abb3
mov ecx, 0x20
mov eax, 0x100791f0
sub eax, 0xc
dec ecx
cmp eax, 0x10079070
jl 0x1003abaf
cmp dword [eax], ecx
je 0x1003ab96
lea eax, [ecx + ecx*2]
mov dword [eax*4 + 0x10079070], ecx
test ecx, ecx
js 0x1003abd9
lea eax, [ecx + ecx*2]
mov dword [eax*4 + str.critical], 0x1007694c
mov dword [eax*4 + str.critical_error_message], 0x10076930
mov eax, dword [0x1008ec68]
btr eax, ecx
mov dword [0x1008ec68], eax
push dword [0x1009fa88]
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov dword [0x1008efec], 0x1003bd40
mov dword [0x1009fa90], 0
mov dword [0x1009fa94], 0x100767a0
mov dword [0x1009fa98], 0x100767a8
mov dword [0x1009fa9c], 0x100767b4
mov dword [0x1009faa0], 1
mov dword [0x1009faa4], 0x10075d84
mov dword [0x1009faa8], 0x100767bc
mov dword [0x1009faac], 0x100767c0
mov dword [0x1009fab0], 2
mov dword [0x1009fab4], 0x100767c8
mov dword [0x1009fab8], 0x100767d0
mov dword [0x1009fabc], 0x100767d8
call esi
push dword [0x1009fac0]
mov dword [0x1009fa88], 0
call esi
push dword [0x1009fa80]
mov dword [0x1009fac0], 0
call esi
push dword [0x1009fa84]
mov dword [0x1009fa80], 0
call esi
push 0x25
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, eax
add esp, 0x14
test edx, edx
je 0x1003ad05
lea eax, [edx + 0x24]
cmp edx, 0x10076804
ja 0x1003ace0
cmp eax, str.http:__sc68.atari.org_Download_Music
jb 0x1003ace0
mov edi, str.http:__sc68.atari.org_Download_Music
mov ecx, edx
sub edi, edx
mov esi, 0x25
mov al, byte [ecx + edi]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
sub esi, 1
jne 0x1003acd0
jmp 0x1003ad05
movups xmm0, xmmword [str.http:__sc68.atari.org_Download_Music]
mov eax, dword [0x10076800]
movups xmmword [edx], xmm0
movups xmm0, xmmword [0x100767f0]
movups xmmword [edx + 0x10], xmm0
mov dword [edx + 0x20], eax
mov al, byte [0x10076804]
mov byte [edx + 0x24], al
mov eax, dword [0x1008f990]
mov dword [0x1009fa84], edx
mov dword [0x1008f3b0], eax
mov dword [0x1008f990], 0x1008f3b0
mov dword [0x1009fa8c], 1
mov ecx, str.loader
call fcn.10004df0
mov ecx, eax
test ecx, ecx
jns 0x1003ad60
mov ecx, 0x20
mov eax, 0x100791f0
sub eax, 0xc
dec ecx
cmp eax, 0x10079070
jl 0x1003ad5c
cmp dword [eax], ecx
je 0x1003ad43
lea eax, [ecx + ecx*2]
mov dword [eax*4 + 0x10079070], ecx
test ecx, ecx
js 0x1003ad86
lea eax, [ecx + ecx*2]
mov dword [eax*4 + str.critical], 0x100751c8
mov dword [eax*4 + str.critical_error_message], 0x100751b4
mov eax, dword [0x1008ec68]
btr eax, ecx
mov dword [0x1008ec68], eax
mov dword [0x10079060], ecx
mov edx, 1
mov ecx, str.user_path
call fcn.1003a600
mov ebx, eax
test ebx, ebx
je 0x1003ae9a
test dword [ebx + 0x20], 0xe00
jne 0x1003ae9a
mov ax, word [0x10076644]
mov ecx, dword [str._.sc68]
mov word [esp + 0x14], ax
mov al, byte [0x10076646]
push str.HOME
mov dword [esp + 0x14], ecx
mov byte [esp + 0x1a], al
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x1003ae9a
mov edx, ecx
lea esi, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x1003adf0
sub edx, esi
lea eax, [edx + 7]
cmp eax, 0x400
jae 0x1003ae9a
lea edx, [esp + 0x18]
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x1003ae10
lea edx, [esp + 0x10]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x1003ae23
lea edi, [esp + 0x18]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x1003ae31
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov cl, byte [esp + 0x18]
test cl, cl
je 0x1003ae63
lea eax, [esp + 0x18]
cmp cl, 0x5c
jne 0x1003ae5b
mov byte [eax], 0x2f
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x1003ae53
mov eax, dword [ebx + 0x20]
shr eax, 5
and eax, 3
jmp dword [eax*4 + 0x1003aec0]
mov eax, ebp
mov dword [0x1008fa7c], 1
mov ecx, dword [esp + 0x418]
pop ebp
pop ebx
pop edi
pop esi
xor ecx, esp
call fcn.1003d20f
add esp, 0x40c
ret