Function at 0x403fcf
Capabilities:
Query environment variable
Terminate process

Disassembly:
push 0x416a72
jmp fcn.00401542
cmp bx, 0x60b4
je 0x4040e7
cmp bx, 0x3cf
je 0x404120
cmp bx, 0x9af
je 0x4040e7
cmp bx, 0xc8
je 0x40413a
cmp bx, 0x2f8c
je 0x404133
cmp bx, 0x190
je 0x404168
cmp bx, 0x30b1
je 0x404209
cmp bx, 0x2fe2
je 0x40418f
cmp bx, 0x2fb3
je 0x403fc8
cmp bx, 0x2e4d
je 0x403fc8
cmp bx, 0x3e00
je 0x403fc8
jmp fcn.00403fcf
or byte [0x4172ff], 0xff
lea eax, [edi + 0x100]
cmp eax, dword [0x4171f0]
jae 0x4017ad
lodsb al, byte [esi]
cmp al, 0x3a
je 0x4040e6
cmp al, 0x2c
je 0x404425
cmp al, 0x3d
je 0x40433e
cmp al, 0x7c
je 0x404425
cmp al, 0x26
je 0x404425
cmp al, 0x7e
je 0x404425
cmp al, 0x3e
je 0x404341
cmp al, 0x3c
je 0x404352
cmp al, 0x29
je 0x404423
or al, al
je 0x40445d
cmp al, 0x5b
je 0x4043a6
cmp al, 0x5d
je 0x404425
cmp al, 0x7b
je 0x40441f
cmp al, 0x7d
je 0x40441f
cmp al, 0x23
je 0x40441f
cmp al, 0x60
je 0x40441f
dec esi
cmp al, 0x1a
jne 0x4042c4
push edi
mov edi, 0x412b2c
call fcn.0040449f
or al, al
jne 0x4040a7
inc esi
movzx ecx, byte [esi]
inc esi
call fcn.00404503
jae 0x40409f
cmp ecx, 1
jne 0x404295
cmp byte [esi], 0x3f
jne 0x404295
pop edi
movsb byte es:[edi], byte [esi]
jmp 0x404426
pop edi
stosw word es:[edi], ax
jmp 0x404426
pop edi
cmp al, 0x85
je 0x40428b
stosb byte es:[edi], al
cmp al, 0x80
je 0x404387
cmp al, 0x8c
je 0x404387
cmp al, 0x81
je 0x404415
cmp al, 0x82
je 0x404250
cmp al, 0x89
je 0x404231
cmp al, 0xf8
je 0x404387
jmp 0x404426
stosb byte es:[edi], al
cmp byte [esi], 0x1a
jne fcn.00403fcf
push edi
inc esi
movzx ecx, byte [esi]
inc esi
call fcn.004045a0
jae 0x40410d
call fcn.00404574
jae 0x40410d
pop edi
sub esi, 2
jmp fcn.00403fcf
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
jmp 0x403f59
mov al, 0x28
stosb byte es:[edi], al
call fcn.004048e7
mov al, 0x29
stosb byte es:[edi], al
cmp byte [esi], 0x3a
jne 0x4040e7
movsb byte es:[edi], byte [esi]
jmp 0x4040e7
or byte [0x4172ff], 0xff
cmp byte [esi], 0x1a
jne 0x404426
push esi
inc esi
movzx ecx, byte [esi]
inc esi
call fcn.00404472
pop ebx
cmp eax, 0xf
je 0x404161
mov byte [edi], 2
inc edi
stosd dword es:[edi], eax
xor al, al
stosb byte es:[edi], al
jmp 0x404426
mov esi, ebx
jmp 0x404426
cmp byte [esi], 0x1a
jne 0x404426
push esi
inc esi
movzx ecx, byte [esi]
inc esi
call fcn.00404607
pop ebx
cmp eax, 0xf
je 0x404161
mov byte [edi], 2
inc edi
stosd dword es:[edi], eax
xor al, al
stosb byte es:[edi], al
jmp 0x404426
cmp byte [esi], 0x1a
jne fcn.00403fcf
inc esi
push esi
movzx ecx, byte [esi]
inc esi
push esi
push ecx
push edi
or byte [0x4172ff], 0xff
call fcn.00404503
mov byte [0x4172ff], 0
pop edi
jb 0x4041c2
cmp al, 0x1d
jne 0x4041c2
add esp, 0xc
stosw word es:[edi], ax
jmp 0x40418f
pop ecx
pop esi
mov al, 2
stosb byte es:[edi], al
call fcn.00404607
stosd dword es:[edi], eax
mov ax, 0x8600
stosw word es:[edi], ax
pop ebx
push ebx
push esi
push edi
mov edi, 0x412b2c
call fcn.0040449f
pop edi
pop edx
pop ebx
cmp al, 0x86
je 0x404426
mov esi, edx
xchg ebx, esi
movzx ecx, byte [esi]
inc esi
mov ax, 0x28
stosw word es:[edi], ax
mov eax, ecx
stosd dword es:[edi], eax
rep movsb byte es:[edi], byte [esi]
xor al, al
stosb byte es:[edi], al
xchg ebx, esi
jmp 0x404426
cmp byte [esi], 0x22
je 0x40425e
cmp byte [esi], 0x1a
jne fcn.00403fcf
push esi
movzx ecx, byte [esi + 1]
add esi, 2
mov ax, 0x28
stosw word es:[edi], ax
mov eax, ecx
stosd dword es:[edi], eax
rep movsb byte es:[edi], byte [esi]
mov ax, 0x8600
stosw word es:[edi], ax
pop esi
cmp byte [esi], 0x1a
jne 0x404426
inc esi
movzx ecx, byte [esi]
inc esi
mov al, 2
stosb byte es:[edi], al
call fcn.00404607
stosd dword es:[edi], eax
xor al, al
stosb byte es:[edi], al
jmp 0x404426
cmp byte [esi], 0x22
jne 0x404387
jmp 0x404426
inc esi
mov ax, 0x28
stosw word es:[edi], ax
lodsd eax, dword [esi]
mov ecx, eax
stosd dword es:[edi], eax
rep movsb byte es:[edi], byte [esi]
xor al, al
stosb byte es:[edi], al
push esi
push edi
mov edi, 0x412b2c
call fcn.0040449f
mov edx, esi
pop edi
pop esi
cmp al, 0x86
jne 0x404426
stosb byte es:[edi], al
mov esi, edx
jmp 0x404231
call fcn.004043bb
jmp 0x4043b6
push esi
push ecx
sub esi, 2
mov edi, 0x412b16
call fcn.0040449f
pop ecx
pop esi
or al, al
jne 0x4042c0
call fcn.004045a0
jae 0x40410d
call fcn.00404574
jae 0x40410d
pop edi
sub esi, 2
cmp byte [esi], 0x22
jne 0x40430f
mov eax, dword [esi + 1]
lea ebx, [esi + eax + 5]
push ebx
push ecx
push esi
push edi
mov al, 0x28
stosb byte es:[edi], al
call fcn.004048e7
mov al, 0x29
stosb byte es:[edi], al
pop eax
pop edx
pop ecx
pop ebx
cmp esi, ebx
jne 0x40443e
mov edi, eax
mov esi, edx
inc esi
mov ax, 0x28
stosw word es:[edi], ax
lodsd eax, dword [esi]
mov ecx, eax
stosd dword es:[edi], eax
shr ecx, 1
jae 0x4042ff
movsb byte es:[edi], byte [esi]
shr ecx, 1
jae 0x404305
movsw word es:[edi], word [esi]
rep movsd dword es:[edi], dword [esi]
xor al, al
stosb byte es:[edi], al
jmp 0x40443e
cmp byte [esi], 0x28
jne 0x404377
mov eax, esp
sub eax, 0x100
jb 0x4017b7
cmp eax, dword [0x417180]
jb 0x4017b7
push esi
push edi
inc esi
mov al, 0x7b
stosb byte es:[edi], al
inc dword [0x4172c4]
jmp fcn.00403fcf
stosb byte es:[edi], al
jmp 0x404387
cmp byte [esi], 0x3d
jne 0x404425
inc esi
mov al, 0xf2
jmp 0x404425
cmp byte [edi - 1], 0xf6
je 0x404425
cmp byte [esi], 0x3e
je 0x404372
cmp byte [esi], 0x3d
jne 0x404425
inc esi
mov al, 0xf3
jmp 0x404425
inc esi
mov al, 0xf1
jmp 0x40433e
mov al, 0x28
stosb byte es:[edi], al
call fcn.004048e7
mov al, 0x29
stosb byte es:[edi], al
jmp 0x40443e
xor al, al
xchg byte [0x4172ff], al
push eax
mov al, 0x28
stosb byte es:[edi], al
call fcn.004048e7
mov al, 0x29
stosb byte es:[edi], al
pop eax
mov byte [0x4172ff], al
jmp 0x404426
call fcn.004043bb
lodsb al, byte [esi]
cmp al, 0x5d
je 0x4043b6
dec esi
mov al, 0x29
stosb byte es:[edi], al
jmp 0x404426
mov al, 0x5d
stosb byte es:[edi], al
jmp 0x404426
cmp byte [esi], 0x28
jne 0x404426
inc esi
mov al, 0x7b
jmp 0x404425
mov al, 0xff
jmp 0x404425
mov al, 0x7d
stosb byte es:[edi], al
cmp dword [0x4172c4], 0
je fcn.00403fcf
dec dword [0x4172c4]
add esp, 8
jmp 0x404426
cmp dword [0x4172c4], 0
je fcn.00403fcf
cmp byte [esi], 0x29
jne 0x404426
dec dword [0x4172c4]
pop edi
pop esi
jmp 0x404377
cmp dword [0x4172c4], 0
je 0x404471
dec dword [0x4172c4]
add esp, 8
jmp 0x40445d
ret