Function at 0x410a09
Capabilities:
Query environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
push edi
mov edi, ecx
test edx, edx
jne 0x410a22
mov eax, 0x80070057
jmp 0x410c1f
mov ecx, dword [edi + 0xc04]
push esi
xor esi, esi
mov dword [ebp - 8], ecx
cmp ecx, 0xc00
jae 0x410bfa
mov eax, ecx
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov cl, byte [edx]
inc edx
test cl, cl
je 0x410bf6
cmp cl, 0x25
jne 0x410b12
mov cl, byte [edx]
inc edx
movsx eax, cl
mov ch, cl
mov byte [ebp - 1], cl
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x1c], edx
cmp eax, 0x6d
jg 0x410b50
je 0x410b34
sub eax, 0x25
je 0x410b0f
sub eax, 0x3d
je 0x410ac8
sub eax, 1
je 0x410ab7
sub eax, 5
jne 0x410b6c
mov al, byte [edx]
inc edx
mov dword [ebp - 0xc], edx
cmp al, 0x72
jne 0x410ab2
mov edx, dword [ebx]
add ebx, 4
push ecx
mov ecx, edi
mov dword [ebp + 8], ebx
call fcn.00410d46
jmp 0x410d2a
mov edx, dword [ebp - 0x1c]
jmp 0x410b1b
mov ecx, dword [ebp - 0x10]
add ebx, 4
mov dword [ebp + 8], ebx
mov al, byte [ebx - 4]
mov byte [ecx + edi], al
jmp 0x410b15
mov ecx, dword [ebp - 0x10]
mov eax, 0xbff
mov edx, dword [ebx]
sub eax, ecx
mov dword [ebp - 0x10], eax
add ebx, 8
mov dword [ebp + 8], ebx
lea eax, [ecx + edi]
push eax
mov ecx, dword [ebx - 4]
lea eax, [ebp - 0x10]
push eax
call fcn.00410e09
mov esi, eax
test esi, esi
js 0x410bf6
mov eax, dword [ebp - 0x10]
add dword [edi + 0xc04], eax
mov eax, dword [edi + 0xc04]
mov byte [eax + edi], 0
jmp 0x410d34
mov eax, dword [ebp - 0x10]
mov byte [eax + edi], cl
inc dword [edi + 0xc04]
mov eax, dword [edi + 0xc04]
mov dword [ebp - 0x10], eax
cmp eax, 0xc00
jb 0x410a43
jmp 0x410bf6
mov edx, dword [ebx]
add ebx, 4
mov dword [ebp + 8], ebx
test edx, edx
je 0x410bf1
mov ecx, edi
call fcn.004107aa
jmp 0x410d2a
sub eax, 0x73
je 0x410d13
sub eax, 1
je 0x410cf5
dec eax
sub eax, 1
je 0x410ca0
xor esi, esi
mov byte [ebp - 0x18], 1
mov dword [ebp - 0x1c], 0xa
cmp cl, 0x30
jne 0x410b87
mov cl, byte [edx]
inc edx
mov byte [ebp - 1], cl
mov dword [ebp - 0xc], edx
cmp ch, 0x30
sete al
dec al
and al, 0xf0
add al, 0x30
mov byte [ebp - 0x14], al
lea eax, [ecx - 0x31]
cmp al, 8
ja 0x410bc4
mov bl, byte [ebp - 1]
imul ecx, esi, 0xa
movsx esi, bl
mov bl, byte [edx]
add esi, 0xffffffd0
add esi, ecx
inc edx
cmp bl, 0x30
jl 0x410bb8
cmp bl, 0x39
jle 0x410ba0
mov byte [ebp - 1], bl
mov ebx, dword [ebp + 8]
mov cl, byte [ebp - 1]
mov dword [ebp - 0xc], edx
movsx eax, cl
sub eax, 0x58
je 0x410c78
sub eax, 0xc
je 0x410c60
sub eax, 0xf
je 0x410c24
dec eax
sub eax, 1
je 0x410c81
sub eax, 3
je 0x410c7c
mov esi, 0x8004a100
mov ecx, dword [ebp - 8]
pop ebx
mov eax, dword [edi + 0xc04]
cmp eax, 0xc00
jb 0x410c0c
mov esi, 0x8007007a
test esi, esi
jns 0x410c18
mov dword [edi + 0xc04], ecx
mov eax, ecx
mov byte [eax + edi], 0
mov eax, esi
pop esi
pop edi
leave
ret 4
mov eax, dword [ebx]
add ebx, 4
mov dword [ebp + 8], ebx
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x410bf1
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410c38
sub ecx, edx
cmp ecx, esi
jae 0x410c58
mov dl, byte [ebp - 0x14]
sub esi, ecx
push esi
mov ecx, edi
call fcn.0041099d
mov esi, eax
test esi, esi
js 0x410bf6
mov edx, dword [ebp - 0x1c]
jmp 0x410d23
push dword [ebp - 0x14]
mov edx, dword [ebx]
add ebx, 4
push esi
mov ecx, edi
mov dword [ebp + 8], ebx
call fcn.004108f4
jmp 0x410d2a
mov byte [ebp - 0x18], 0
push 0x10
pop eax
jmp 0x410c84
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x18]
mov edx, dword [ebx]
add ebx, 4
push dword [ebp - 0x14]
mov ecx, edi
mov dword [ebp + 8], ebx
push esi
push eax
call fcn.00410822
jmp 0x410d2a
add ebx, 4
mov dword [ebp + 8], ebx
cmp dword [ebx - 4], 0
je 0x410d3c
mov eax, dword [ebp - 0x10]
mov ecx, 0xc00
sub ecx, eax
xor esi, esi
push ecx
add eax, edi
mov dword [ebp - 0x1c], ecx
push eax
push dword [ebx - 4]
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jne 0x410cd7
mov esi, 0x8004a102
jmp 0x410ce9
cmp eax, dword [ebp - 0x1c]
jbe 0x410ce3
mov esi, 0x8007007a
jmp 0x410ce9
add dword [edi + 0xc04], eax
mov eax, dword [edi + 0xc04]
mov byte [edi + eax], 0
jmp 0x410d2c
add ebx, 4
mov dword [ebp + 8], ebx
cmp dword [ebx - 4], 0xc
ja 0x410bf1
push dword [ebx - 4]
mov dl, 9
mov ecx, edi
call fcn.0041099d
jmp 0x410d2a
mov edx, dword [ebx]
add ebx, 4
mov dword [ebp + 8], ebx
test edx, edx
je 0x410bf1
mov ecx, edi
call fcn.0041075e
mov esi, eax
test esi, esi
js 0x410bf6
mov edx, dword [ebp - 0xc]
jmp 0x410b1b
mov esi, 0x80070057
jmp 0x410bf6