Function at 0x42e020
Capabilities:
Query environment variable

Disassembly:
sub esp, 0x234
push ebx
push ebp
mov ebp, dword [esp + 0x240]
cmp byte [ebp + 0x17], 0
push esi
push edi
jne 0x42e041
mov ebp, dword [ebp + 0xc]
mov dword [esp + 0x248], ebp
xor eax, eax
push 0x1fa
push eax
lea ecx, [esp + 0x4a]
push ecx
mov word [esp + 0x4c], ax
call fcn.00494120
mov esi, dword [esp + 0x24]
add esp, 0xc
xor ebx, ebx
mov dword [esp + 0x20], ebx
test ebx, ebx
je 0x42e39c
mov al, byte [ebp + 0x17]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
test al, al
jne 0x42e08e
push 1
push 0
push edx
mov edx, dword [ebp + 0xc]
push 0
push edx
call fcn.00474e60
jmp 0x42e103
cmp dword [esp + 0x1c], 0xffffffff
mov byte [esp + 0x13], 1
mov cl, 1
jne 0x42e0a6
xor cl, cl
xor edx, edx
mov dword [esp + 0x18], edx
jmp 0x42e0ab
mov byte [esp + 0x13], 0
lea edi, [edx + 1]
lea esi, [edi + edi]
cmp al, 2
jne 0x42e0dc
cmp byte [esp + 0x13], 0
je 0x42e0ca
push 0x49e828
mov eax, edx
call fcn.00403c90
jmp 0x42e103
mov esi, 0x4c6b48
call fcn.00403d10
neg eax
sbb eax, eax
neg eax
jmp 0x42e103
mov ebx, dword [0x4c03dc]
cmp esi, ebx
jbe 0x42e11e
cmp esi, dword [ebp + 0x10]
jbe 0x42e11e
push 0x49e828
push str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
mov ecx, 0x4c6048
call fcn.0042f670
mov ebx, dword [esp + 0x20]
cmp eax, 1
jne 0x42e72c
cmp byte [ebp + 0x17], 0
jne 0x42e354
mov esi, dword [ebp + 0xc]
jmp 0x42e356
cmp edi, 2
jae 0x42e13d
xor eax, eax
test cl, cl
setne al
mov ecx, ebp
add eax, 3
push eax
xor al, al
call fcn.004753a0
mov ebx, dword [esp + 0x20]
jmp 0x42e10c
mov al, byte [ebp + 0x15]
test al, 2
je 0x42e15a
and al, 0x3d
mov byte [ebp + 0x15], al
mov eax, dword [ebp]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [0x4c03dc]
mov edx, dword [ebp + 0x10]
and byte [ebp + 0x15], 0x82
cmp esi, edx
jbe 0x42e188
mov cl, byte [ebp + 0x14]
cmp cl, 1
jbe 0x42e1cf
cmp cl, 2
je 0x42e211
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
and byte [ebp + 0x15], 0x7f
mov dword [ebp + 8], eax
mov dword [ebp + 0x10], esi
cmp byte [esp + 0x13], 0
je 0x42e339
mov eax, dword [ebp + 8]
cmp eax, 0x49e828
je 0x42e1b3
mov edx, dword [esp + 0x18]
lea ecx, [edx + edx]
push ecx
push 0x49e828
push eax
call fcn.0048be80
add esp, 0xc
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
xor eax, eax
mov word [edx + ecx*2], ax
lea edx, [ecx + ecx]
mov dword [ebp + 0xc], edx
jmp 0x42e10c
cmp esi, 0x80
ja 0x42e211
cmp esi, 8
ja 0x42e1e3
mov esi, 8
jmp 0x42e1f1
mov eax, 0x10
cmp eax, esi
sbb esi, esi
and esi, 0x70
add esi, eax
mov eax, esi
mov dword [esp + 0x14], esi
call fcn.0046f6a0
mov dword [esp + 0x34], eax
test eax, eax
je 0x42e72c
mov byte [ebp + 0x14], 1
jmp 0x42e17e
cmp esi, 0x20
jae 0x42e220
mov esi, 0x20
jmp 0x42e2d0
cmp esi, 0x208
jae 0x42e232
mov esi, 0x208
jmp 0x42e2d0
cmp esi, 0x50000
jae 0x42e276
mov dword [esp + 0x28], esi
fild dword [esp + 0x28]
test esi, esi
jns 0x42e24c
fadd qword [0x4baf30]
fmul qword [0x4baf70]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x28], eax
fldcw word [esp + 0x28]
fistp qword [esp + 0x28]
mov esi, dword [esp + 0x28]
fldcw word [esp + 0x14]
jmp 0x42e2d0
cmp esi, 0x320000
jae 0x42e286
add esi, 0x8000
jmp 0x42e2d0
cmp esi, 0xc80000
jae 0x42e2ca
mov dword [esp + 0x28], esi
fild dword [esp + 0x28]
test esi, esi
jns 0x42e2a0
fadd qword [0x4baf30]
fmul qword [0x4baf68]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x28], eax
fldcw word [esp + 0x28]
fistp qword [esp + 0x28]
mov esi, dword [esp + 0x28]
fldcw word [esp + 0x14]
jmp 0x42e2d0
add esi, 0x20000
mov dword [esp + 0x14], esi
cmp esi, ebx
jbe 0x42e2de
mov esi, ebx
mov dword [esp + 0x14], esi
cmp cl, 2
jne 0x42e315
test edx, edx
je 0x42e315
mov ecx, dword [ebp + 8]
push ecx
mov bl, 1
call fcn.0048ca6f
add esp, 4
xor edi, edi
cmp esi, edi
jl 0x42e319
push esi
call fcn.0048b4a4
add esp, 4
mov dword [esp + 0x34], eax
cmp eax, edi
je 0x42e319
mov byte [ebp + 0x14], 2
jmp 0x42e17e
xor bl, bl
jmp 0x42e2f5
test bl, bl
je 0x42e32a
mov dword [ebp + 0x10], edi
mov dword [ebp + 8], 0x4c5ff0
mov dword [ebp + 0xc], edi
push 0x49e828
push str.Out_of_memory.
jmp 0x42e0f5
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
xor eax, eax
mov word [edx], ax
lea edx, [ecx + ecx]
mov dword [ebp + 0xc], edx
jmp 0x42e10c
mov esi, ebp
test byte [esi + 0x15], 8
je 0x42e363
mov eax, esi
call fcn.00401160
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x42e380
test byte [esi + 0x15], 4
je 0x42e377
mov eax, esi
call fcn.0042fc10
mov esi, dword [esi + 8]
mov dword [esp + 0x18], esi
jmp 0x42e3a4
cmp al, 2
jne 0x42e391
call fcn.00401000
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x42e3a4
mov esi, 0x4c5ff0
mov dword [esp + 0x18], esi
jmp 0x42e3a4
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x24c]
jmp 0x42e3b0
movzx eax, word [ecx]
mov edi, 1
test ax, ax
je 0x42e3f2
mov dx, word [0x4c0404]
cmp ax, dx
je 0x42e417
cmp ax, word [0x4c0400]
je 0x42e417
test ebx, ebx
je 0x42e3e2
mov word [esi], ax
add esi, 2
mov dword [esp + 0x18], esi
jmp 0x42e3e6
add dword [esp + 0x1c], edi
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x42e3c4
add ebx, edi
mov dword [esp + 0x20], ebx
cmp ebx, 2
jl 0x42e065
xor ecx, ecx
mov word [esi], cx
cmp byte [ebp + 0x17], cl
jne 0x42e73b
mov esi, dword [ebp + 0xc]
jmp 0x42e73d
movzx eax, word [ecx]
test ax, ax
je 0x42e3f2
cmp ax, dx
jne 0x42e56f
test ebx, ebx
je 0x42e551
movzx eax, word [ecx + 2]
lea edx, [eax - 0x61]
cmp edx, 0x15
ja case.0x42e447.99
movzx edx, byte [edx + 0x42e868]
jmp dword [edx*4 + 0x42e848]
mov ebp, dword [esp + 0x248]
mov ebx, dword [esp + 0x20]
mov eax, 7
mov word [esi], ax
add esi, 2
add ecx, 2
mov dword [esp + 0x18], esi
add ecx, 2
jmp 0x42e3b0
mov ebp, dword [esp + 0x248]
mov ebx, dword [esp + 0x20]
mov edx, 8
mov word [esi], dx
add esi, 2
add ecx, 2
mov dword [esp + 0x18], esi
add ecx, 2
jmp 0x42e3b0
mov ebp, dword [esp + 0x248]
mov ebx, dword [esp + 0x20]
mov eax, 0xc
mov word [esi], ax
add esi, 2
add ecx, 2
mov dword [esp + 0x18], esi
add ecx, 2
jmp 0x42e3b0
mov ebp, dword [esp + 0x248]
mov ebx, dword [esp + 0x20]
mov edx, 0xa
mov word [esi], dx
add esi, 2
add ecx, 2
mov dword [esp + 0x18], esi
add ecx, 2
jmp 0x42e3b0
mov ebp, dword [esp + 0x248]
mov ebx, dword [esp + 0x20]
mov eax, 0xd
mov word [esi], ax
add esi, 2
add ecx, 2
mov dword [esp + 0x18], esi
add ecx, 2
jmp 0x42e3b0
mov ebp, dword [esp + 0x248]
mov ebx, dword [esp + 0x20]
mov edx, 9
mov word [esi], dx
add esi, 2
add ecx, 2
mov dword [esp + 0x18], esi
add ecx, 2
jmp 0x42e3b0
mov eax, 0xb
mov ebp, dword [esp + 0x248]
mov ebx, dword [esp + 0x20]
mov word [esi], ax
add esi, 2
add ecx, 2
mov dword [esp + 0x18], esi
add ecx, 2
jmp 0x42e3b0
add dword [esp + 0x1c], edi
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x248]
mov ebx, dword [esp + 0x20]
add ecx, 2
add ecx, 2
jmp 0x42e3b0
lea edx, [ecx + 2]
mov ebp, edx
movzx eax, word [ebp]
test ax, ax
je 0x42e715
mov si, word [0x4c0400]
cmp ax, si
je 0x42e5b0
movzx eax, word [ebp + 2]
add ebp, 2
test ax, ax
jne 0x42e588
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x248]
mov ebx, dword [esp + 0x20]
add ecx, 2
jmp 0x42e3b0
cmp word [ebp], 0
je 0x42e715
mov edi, ebp
sub edi, ecx
sar edi, 1
dec edi
je 0x42e713
cmp edi, 0xfd
ja 0x42e713
push edi
push edx
lea ecx, [esp + 0x48]
push ecx
call fcn.0048dfc4
xor edx, edx
add esp, 0xc
mov word [esp + edi*2 + 0x40], dx
cmp word [esp + 0x40], dx
je 0x42e72c
lea eax, [esp + 0x27]
push eax
push 3
lea ecx, [esp + 0x40]
push ecx
push edi
lea edx, [esp + 0x50]
push edx
mov ecx, 0x4c6048
call fcn.00420520
test eax, eax
jne 0x42e633
cmp byte [esp + 0x27], al
mov ecx, dword [esp + 0x38]
setne al
lea edx, [esp + 0x40]
inc eax
push eax
push ecx
push 0x4c6048
mov ecx, edi
call fcn.004207c0
mov esi, eax
test esi, esi
je 0x42e72c
cmp byte [esi + 0x17], 0
jne 0x42e646
mov esi, dword [esi + 0xc]
cmp esi, dword [esp + 0x248]
je 0x42e713
cmp dword [esp + 0x20], 0
je 0x42e684
mov edi, dword [esp + 0x18]
push edi
mov ecx, esi
call fcn.004751b0
mov ebx, dword [esp + 0x20]
lea edx, [edi + eax*2]
mov ecx, ebp
mov ebp, dword [esp + 0x248]
mov dword [esp + 0x18], edx
add ecx, 2
mov esi, edx
jmp 0x42e3b0
movzx eax, byte [esi + 0x17]
cmp eax, 3
ja case.default.0x42e68d
jmp dword [eax*4 + 0x42e880]
mov eax, esi
call fcn.00401160
cmp dword [0x4c404c], 0
jne 0x42e6d6
cmp dword [esi + 0xc], 0
jne 0x42e6d6
mov ecx, dword [esi + 0x18]
push 0
lea eax, [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x42e6cc
mov dword [0x4c7718], 0
dec eax
jmp 0x42e70f
mov dword [0x4c7718], esi
xor eax, eax
jmp 0x42e70f
mov eax, dword [esi + 0xc]
shr eax, 1
jmp 0x42e70f
mov ecx, dword [esi + 0xc]
push 0
call fcn.004751b0
jmp 0x42e70f
xor ecx, ecx
mov ebx, 0x4c6b48
call fcn.00403b00
cmp eax, 0xffffffff
jne 0x42e70f
xor eax, eax
jmp 0x42e70f
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x10]
push edx
push 0
call eax
add esp, 8
add dword [esp + 0x1c], eax
mov ecx, ebp
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x248]
mov ebx, dword [esp + 0x20]
add ecx, 2
jmp 0x42e3b0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x234
ret 8
mov esi, ebp
test byte [esi + 0x15], 8
je 0x42e74a
mov eax, esi
call fcn.00401160
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x42e763
test byte [esi + 0x15], 4
je 0x42e75e
mov eax, esi
call fcn.0042fc10
mov eax, dword [esi + 8]
jmp 0x42e7b6
cmp al, 2
jne 0x42e7b1
mov eax, dword [0x4c6b54]
test eax, eax
jne 0x42e7b6
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push 0xd
call esi
test eax, eax
jne 0x42e794
push 0xf
call esi
test eax, eax
je 0x42e78d
mov eax, 0x49e81c
jmp 0x42e7b6
mov eax, 0x49e828
jmp 0x42e7b6
xor ecx, ecx
mov ebx, 0x4c6b48
call fcn.00403b00
cmp eax, 0xffffffff
mov eax, 0x49e828
je 0x42e7b6
mov eax, dword [0x4c6b50]
jmp 0x42e7b6
mov eax, 0x4c5ff0
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42e7c0
sub eax, edx
sar eax, 1
mov edi, eax
cmp byte [ebp + 0x17], cl
jne 0x42e7db
mov esi, dword [ebp + 0xc]
jmp 0x42e7dd
mov esi, ebp
cmp byte [esi + 0x17], 1
jne 0x42e7f5
test byte [esi + 0x15], 8
je 0x42e7f0
mov eax, esi
call fcn.00401160
lea eax, [esi + 0xc]
jmp 0x42e7fa
mov eax, 0x4c6ecc
lea edx, [edi + edi]
mov dword [eax], edx
cmp byte [ebp + 0x17], 0
jne 0x42e80a
mov eax, dword [ebp + 0xc]
jmp 0x42e80c
mov eax, ebp
cmp byte [eax + 0x17], 2
jne 0x42e832
cmp dword [0x4c6b54], 0
je 0x42e832
mov ecx, 0x4c6b48
call fcn.00403d90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x234
ret 8
and byte [eax + 0x15], 0x86
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x234
ret 8