Function at 0x4039b6
Capabilities:
Query environment variable
Terminate process

Disassembly:
push 0x416d2f
jmp fcn.004019f4
push 0x416d82
jmp fcn.004019f4
push 0x416d98
jmp fcn.004019f4
push 0x416daf
jmp fcn.004019f4
mov eax, dword [0x417174]
mov dword [0x4171f0], eax
mov eax, dword [0x417178]
mov dword [0x417198], eax
xor eax, eax
mov dword [0x4171e4], eax
mov dword [0x4171e8], eax
mov dword [0x4171ec], eax
mov dword [0x4171fc], eax
mov dword [0x4172c8], eax
mov dword [0x4172cc], eax
mov esi, dword [0x417170]
mov edi, dword [0x41719c]
mov dword [0x4171b4], esi
lea eax, [edi + 0x100]
cmp eax, dword [0x4171f0]
jae 0x4017ad
cmp byte [esi + 0x10], 0
je 0x403b4f
cmp byte [esi + 0x10], 0x3b
je 0x403b4f
mov al, 0xf
stosb byte es:[edi], al
mov eax, esi
stosd dword es:[edi], eax
inc dword [0x4172cc]
add esi, 0x10
mov byte [0x4172ff], 0
cmp byte [esi], 0x1a
jne 0x403b2c
push edi
add esi, 2
movzx ecx, byte [esi - 1]
cmp byte [esi + ecx], 0x3a
je 0x403a8d
cmp byte [esi + ecx], 0x3d
je 0x403a9e
call fcn.004045a0
jae 0x403ad5
cmp byte [esi + ecx], 0x1a
jne 0x403a75
push esi
push ecx
lea esi, [esi + ecx + 2]
movzx ecx, byte [esi - 1]
call fcn.00404574
jae 0x403aba
pop ecx
pop esi
call fcn.00404574
jae 0x403ad5
pop edi
sub esi, 2
xor bx, bx
call fcn.00403f4f
jmp 0x403b57
pop edi
call fcn.00404472
mov byte [edi], 2
inc edi
stosd dword es:[edi], eax
inc esi
xor al, al
stosb byte es:[edi], al
jmp 0x403a31
pop edi
call fcn.00404607
mov byte [edi], 3
inc edi
stosd dword es:[edi], eax
xor al, al
stosb byte es:[edi], al
inc esi
xor bx, bx
call fcn.00403f4f
jmp 0x403b57
pop ecx
pop edx
pop edi
push eax
push ebx
push esi
mov esi, edx
movzx ecx, byte [esi - 1]
call fcn.00404472
mov byte [edi], 2
inc edi
stosd dword es:[edi], eax
pop esi
pop ebx
pop eax
stosb byte es:[edi], al
push edi
pop edi
mov dl, al
mov al, 1
stosb byte es:[edi], al
mov ax, bx
stosw word es:[edi], ax
mov al, dl
stosb byte es:[edi], al
cmp bx, 0x7b8
je 0x403b88
cmp bx, 0x63a
je 0x403b88
cmp bx, 0x70d
je 0x403b88
cmp bx, 0x9af
je 0x403bd1
cmp bx, 0x830
je 0x403cc6
cmp bx, 0x125f
je 0x403d21
call fcn.00403f4f
jmp 0x403b57
lodsb al, byte [esi]
or al, al
je 0x403b57
cmp al, 0x3a
je 0x40199b
dec esi
cmp al, 0x3b
je 0x403b52
mov dword [0x4172c4], 0
call fcn.00403fcf
jmp 0x403b57
add esi, 0x10
call fcn.004035d0
cmp esi, dword [0x41719c]
jb 0x4039f6
cmp dword [0x4172c8], 0
je 0x403b78
pop eax
pop dword [0x4171b4]
jmp 0x4019b7
xor al, al
stosb byte es:[edi], al
add edi, 0xf
and edi, 0xfffffff0
mov dword [0x4171a0], edi
ret
mov eax, esp
sub eax, 0x100
jb 0x4017b7
cmp eax, dword [0x417180]
jb 0x4017b7
push dword [0x4171b4]
mov ax, bx
shl eax, 0x10
push eax
inc dword [0x4172c8]
cmp bx, 0x7b8
je 0x403c63
cmp bx, 0x70d
je 0x403c88
call fcn.00403f4f
jmp 0x403b57
cmp byte [esi], 0x1a
jne 0x403b25
push edi
inc esi
movzx ecx, byte [esi]
inc esi
call fcn.004045a0
pop edi
jae 0x403bf0
sub esi, 2
jmp 0x403b25
mov dl, al
mov al, 1
stosb byte es:[edi], al
mov ax, bx
stosw word es:[edi], ax
mov al, dl
stosb byte es:[edi], al
lodsb al, byte [esi]
or al, al
jne 0x4019c5
cmp bx, 0x7b8
je 0x403c20
cmp bx, 0x63a
je 0x403c20
cmp bx, 0x70d
je 0x403c20
jmp 0x403b57
cmp dword [0x4172c8], 0
je 0x4019be
cmp bx, word [esp + 2]
jne 0x4019be
dec dword [0x4172c8]
pop eax
pop edx
cmp bx, 0x7b8
jne 0x403b57
test al, 0xc
je 0x403b57
test al, 0x10
jne 0x403b57
sub edi, 8
jmp 0x403b57
push edi
call fcn.00403f4f
xor al, al
stosb byte es:[edi], al
xchg dword [esp], esi
mov edi, esi
call fcn.00405108
pop esi
cmp al, 0x30
je 0x403cae
cmp al, 0x31
je 0x403cba
or byte [esp], 0x10
jmp 0x403b57
push edi
call fcn.00403f4f
xor al, al
stosb byte es:[edi], al
xchg dword [esp], esi
mov edi, esi
call fcn.00405108
pop esi
cmp al, 0x30
je 0x403cae
cmp al, 0x31
jne 0x403b57
stosb byte es:[edi], al
jmp 0x403b57
or byte [esp], 1
sub edi, 4
jmp 0x403d6a
or byte [esp], 4
sub edi, 4
jmp 0x403b57
cmp dword [0x4172c8], 0
je 0x4019be
cmp word [esp + 2], 0x7b8
jne 0x4019be
lodsb al, byte [esi]
or al, al
je 0x403d4c
cmp al, 0x1a
jne 0x4019c5
push edi
movzx ecx, byte [esi]
inc esi
call fcn.004045a0
jb 0x4019c5
pop edi
cmp bx, 0x7b8
jne 0x4019c5
test byte [esp], 4
jne 0x403d43
mov dl, al
mov al, 1
stosb byte es:[edi], al
mov ax, bx
stosw word es:[edi], ax
mov al, dl
stosb byte es:[edi], al
jmp 0x403c63
push edi
call fcn.00403f4f
xor al, al
stosb byte es:[edi], al
xchg dword [esp], esi
mov edi, esi
call fcn.00405108
pop esi
or al, al
je 0x403b57
stosb byte es:[edi], al
jmp 0x403b57
sub edi, 4
or byte [esp], 1
jmp 0x403dc9
bts dword [esp], 1
jb 0x4019be
test byte [esp], 4
je 0x403b57
sub edi, 4
or byte [esp], 1
jmp 0x403d6a
cmp esi, dword [0x41719c]
jae 0x403b63
mov dword [0x4171b4], esi
add esi, 0x10
cmp byte [esi], 0x1a
jne 0x403dc9
inc esi
movzx ecx, byte [esi]
inc esi
cmp byte [esi + ecx], 0x3a
je 0x403d9c
push edi
call fcn.004045a0
pop edi
jae 0x403da2
add esi, ecx
jmp 0x403dc9
lea esi, [esi + ecx + 1]
jmp 0x403d7f
cmp bx, 0x7b8
je 0x403de9
cmp bx, 0x63a
je 0x403de9
cmp bx, 0x70d
je 0x403de9
cmp bx, 0x9af
je 0x403e17
cmp bx, 0x830
je 0x403eac
lodsb al, byte [esi]
or al, al
je 0x403d6a
cmp al, 0x1a
je 0x403ddc
cmp al, 0x3b
je 0x403ddc
cmp al, 0x22
je 0x403de4
jmp 0x403dc9
lodsb al, byte [esi]
movzx eax, al
add esi, eax
jmp 0x403dc9
lodsd eax, dword [esi]
add esi, eax
jmp 0x403dc9
mov eax, esp
sub eax, 0x100
jb 0x4017b7
cmp eax, dword [0x417180]
jb 0x4017b7
push dword [0x4171b4]
mov ax, bx
shl eax, 0x10
push eax
inc dword [0x4172c8]
jmp 0x403dc9
cmp byte [esi], 0x1a
jne 0x403dc9
push edi
inc esi
movzx ecx, byte [esi]
inc esi
call fcn.004045a0
pop edi
jae 0x403e2e
add esi, ecx
jmp 0x403dc9
lodsb al, byte [esi]
or al, al
jne 0x4019c5
cmp bx, 0x7b8
je 0x403e51
cmp bx, 0x63a
je 0x403e51
cmp bx, 0x70d
je 0x403e51
jmp 0x403d6a
cmp dword [0x4172c8], 0
je 0x4019be
cmp bx, word [esp + 2]
jne 0x4019be
dec dword [0x4172c8]
pop eax
pop edx
test al, 1
je 0x403d6a
cmp bx, 0x7b8
jne 0x403b57
test al, 0x10
je 0x403b57
mov al, 0xf
stosb byte es:[edi], al
mov eax, dword [0x4171b4]
stosd dword es:[edi], eax
inc dword [0x4172cc]
mov eax, 0x9af01
stosd dword es:[edi], eax
mov eax, 0x7b801
stosd dword es:[edi], eax
jmp 0x403b57
cmp dword [0x4172c8], 0
je 0x4019be
cmp word [esp + 2], 0x7b8
jne 0x4019be
lodsb al, byte [esi]
or al, al
je 0x403f25
cmp al, 0x1a
jne 0x4019c5
push edi
movzx ecx, byte [esi]
inc esi
call fcn.004045a0
jb 0x4019c5
pop edi
cmp bx, 0x7b8
jne 0x4019c5
mov al, byte [esp]
test al, 1
je 0x403dc9
test al, 4
jne 0x403dc9
test al, 0x10
jne 0x403f1a
xor al, al
mov byte [esp], al
mov al, 0xf
stosb byte es:[edi], al
mov eax, dword [0x4171b4]
stosd dword es:[edi], eax
inc dword [0x4172cc]
mov eax, 0x7b801
stosd dword es:[edi], eax
jmp 0x403c63
bts dword [esp], 1
jb 0x4019be
mov al, byte [esp]
test al, 1
je 0x403d6a
test al, 4
jne 0x403d6a
and al, 0xfe
or al, 8
mov byte [esp], al
jmp 0x403b57