Function at 0x42b890
Capabilities:
Query environment variable

Disassembly:
sub esp, 0x134
push ebx
push ebp
mov ebp, dword [esp + 0x140]
push esi
push edi
xor edi, edi
cmp byte [ebp + 0x17], 0
jne 0x42b8b3
mov ebp, dword [ebp + 0xc]
mov dword [esp + 0x148], ebp
push 0xfd
lea eax, [esp + 0x45]
push edi
push eax
mov byte [esp + 0x4c], 0
call fcn.0048a290
mov ebx, dword [esp + 0x48]
add esp, 0xc
mov dword [esp + 0x24], edi
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x24], edi
je 0x42bbda
mov al, byte [ebp + 0x17]
mov dword [esp + 0x20], edx
test al, al
jne 0x42b900
mov ecx, dword [ebp + 0xc]
push 1
push edi
push edx
push edi
push ecx
call fcn.00471040
jmp 0x42b96b
mov bl, 1
mov byte [esp + 0x17], bl
mov cl, bl
cmp edx, 0xffffffff
jne 0x42b915
xor cl, cl
mov dword [esp + 0x20], edi
jmp 0x42b91b
xor bl, bl
mov byte [esp + 0x17], bl
mov edi, dword [esp + 0x20]
inc edi
cmp al, 2
jne 0x42b94a
test bl, bl
je 0x42b938
mov eax, dword [esp + 0x20]
push 0x4947f9
call fcn.00403e10
jmp 0x42b96b
mov esi, 0x4a7cc4
call fcn.00403e90
neg eax
sbb eax, eax
neg eax
jmp 0x42b96b
cmp edi, dword [0x4a23ac]
jbe 0x42b986
cmp edi, dword [ebp + 0x10]
jbe 0x42b986
push 0x4947f9
push str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
mov ecx, 0x4a7ce0
call fcn.0042cde0
cmp eax, 1
jne 0x42bee4
cmp byte [ebp + 0x17], 0
jne 0x42bb9e
mov esi, dword [ebp + 0xc]
jmp 0x42bba0
cmp edi, 2
jae 0x42b9a1
xor edx, edx
test cl, cl
setne dl
xor al, al
mov ecx, ebp
add edx, 3
push edx
call fcn.00471560
jmp 0x42b974
mov al, byte [ebp + 0x15]
test al, 2
je 0x42b9b8
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 edx, dword [ebp + 0x10]
and byte [ebp + 0x15], 0x82
cmp edi, edx
jbe 0x42b9e2
mov cl, byte [ebp + 0x14]
cmp cl, 1
jbe 0x42ba1c
cmp cl, 2
je 0x42ba5b
mov edx, dword [esp + 0x38]
and byte [ebp + 0x15], 0x7f
mov dword [ebp + 8], edx
mov dword [ebp + 0x10], esi
test bl, bl
je 0x42bb8c
mov eax, dword [ebp + 8]
cmp eax, 0x4947f9
je 0x42ba07
mov ecx, dword [esp + 0x20]
push ecx
push 0x4947f9
push eax
call fcn.00481b10
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x20]
mov byte [eax + edx], 0
mov edx, eax
mov dword [ebp + 0xc], edx
jmp 0x42b974
cmp edi, 0x40
ja 0x42ba5b
cmp edi, 4
ja 0x42ba2d
mov esi, 4
jmp 0x42ba3b
mov eax, 8
cmp eax, edi
sbb esi, esi
and esi, 0x38
add esi, eax
mov eax, esi
mov dword [esp + 0x10], esi
call fcn.0046b9e0
mov dword [esp + 0x38], eax
test eax, eax
je 0x42bee4
mov byte [ebp + 0x14], 1
jmp 0x42b9d4
cmp edi, 0x10
jae 0x42ba6a
mov esi, 0x10
jmp 0x42bb1a
cmp edi, 0x104
jae 0x42ba7c
mov esi, 0x104
jmp 0x42bb1a
cmp edi, 0x28000
jae 0x42bac0
mov dword [esp + 0x28], edi
fild dword [esp + 0x28]
test edi, edi
jns 0x42ba96
fadd qword [0x49c5f0]
fmul qword [0x49c600]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
or eax, 0xc00
mov dword [esp + 0x28], eax
fldcw word [esp + 0x28]
fistp qword [esp + 0x28]
mov esi, dword [esp + 0x28]
fldcw word [esp + 0x10]
jmp 0x42bb1a
cmp edi, 0x190000
jae 0x42bad0
lea esi, [edi + 0x4000]
jmp 0x42bb1a
cmp edi, 0x640000
jae 0x42bb14
mov dword [esp + 0x28], edi
fild dword [esp + 0x28]
test edi, edi
jns 0x42baea
fadd qword [0x49c5f0]
fmul qword [0x49c5f8]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
or eax, 0xc00
mov dword [esp + 0x28], eax
fldcw word [esp + 0x28]
fistp qword [esp + 0x28]
mov esi, dword [esp + 0x28]
fldcw word [esp + 0x10]
jmp 0x42bb1a
lea esi, [edi + 0x10000]
mov eax, dword [0x4a23ac]
mov dword [esp + 0x10], esi
cmp esi, eax
jbe 0x42bb2d
mov esi, eax
mov dword [esp + 0x10], esi
cmp cl, 2
jne 0x42bb68
test edx, edx
je 0x42bb68
mov ecx, dword [ebp + 8]
push ecx
mov bl, 1
call fcn.00480f68
add esp, 4
xor edi, edi
cmp esi, edi
jl 0x42bb6c
push esi
call fcn.00481109
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, edi
je 0x42bb6c
mov bl, byte [esp + 0x17]
mov byte [ebp + 0x14], 2
jmp 0x42b9d4
xor bl, bl
jmp 0x42bb44
test bl, bl
je 0x42bb7d
mov dword [ebp + 0x10], edi
mov dword [ebp + 8], 0x4a757d
mov dword [ebp + 0xc], edi
push 0x4947f9
push str.Out_of_memory.
jmp 0x42b961
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x20]
mov byte [ecx], 0
mov dword [ebp + 0xc], edx
jmp 0x42b974
mov esi, ebp
test byte [esi + 0x15], 8
je 0x42bbad
mov eax, esi
call fcn.00401150
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x42bbc6
test byte [esi + 0x15], 4
je 0x42bbc1
mov eax, esi
call fcn.0042d350
mov ebx, dword [esi + 8]
jmp 0x42bbde
cmp al, 2
jne 0x42bbd3
call fcn.00401000
mov ebx, eax
jmp 0x42bbde
mov ebx, 0x4a757d
jmp 0x42bbde
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x14c]
mov al, byte [ecx]
mov esi, dword [esp + 0x24]
test al, al
je 0x42bc15
nop
cmp al, byte [0x4a23cd]
je 0x42bc2a
cmp al, byte [0x4a23cc]
je 0x42bc2a
test esi, esi
je 0x42bc09
mov byte [ebx], al
inc ebx
jmp 0x42bc0d
inc dword [esp + 0x18]
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x42bbf0
inc esi
mov dword [esp + 0x24], esi
cmp esi, 2
jge 0x42bef3
xor edi, edi
jmp 0x42b8d3
mov al, byte [ecx]
test al, al
je 0x42bc15
cmp al, byte [0x4a23cd]
jne 0x42bd05
test esi, esi
je 0x42bcf3
mov al, byte [ecx + 1]
movsx edx, al
add edx, 0xffffff9f
cmp edx, 0x15
ja case.0x42bc5d.99
movzx edx, byte [edx + 0x42c024]
jmp dword [edx*4 + 0x42c004]
mov ebp, dword [esp + 0x148]
mov byte [ebx], 7
inc ecx
inc ebx
inc ecx
jmp 0x42bbe5
mov ebp, dword [esp + 0x148]
mov byte [ebx], 8
inc ecx
inc ebx
inc ecx
jmp 0x42bbe5
mov ebp, dword [esp + 0x148]
mov byte [ebx], 0xc
inc ecx
inc ebx
inc ecx
jmp 0x42bbe5
mov ebp, dword [esp + 0x148]
mov byte [ebx], 0xa
inc ecx
inc ebx
inc ecx
jmp 0x42bbe5
mov ebp, dword [esp + 0x148]
mov byte [ebx], 0xd
inc ecx
inc ebx
inc ecx
jmp 0x42bbe5
mov ebp, dword [esp + 0x148]
mov byte [ebx], 9
inc ecx
inc ebx
inc ecx
jmp 0x42bbe5
mov ebp, dword [esp + 0x148]
mov byte [ebx], 0xb
inc ecx
inc ebx
inc ecx
jmp 0x42bbe5
mov ebp, dword [esp + 0x148]
mov byte [ebx], al
inc ecx
inc ebx
inc ecx
jmp 0x42bbe5
inc dword [esp + 0x18]
mov ebp, dword [esp + 0x148]
inc ecx
inc ecx
jmp 0x42bbe5
lea esi, [ecx + 1]
mov ebp, esi
mov al, byte [ebp]
test al, al
je 0x42bed7
cmp al, byte [0x4a23cc]
je 0x42bd32
mov al, byte [ebp + 1]
inc ebp
test al, al
jne 0x42bd15
mov ebp, dword [esp + 0x148]
inc ecx
jmp 0x42bbe5
cmp byte [ebp], 0
je 0x42bed7
mov edi, ebp
sub edi, ecx
dec edi
je 0x42bed5
cmp edi, 0xfd
ja 0x42bed5
push edi
lea eax, [esp + 0x44]
push esi
push eax
call fcn.00483d90
add esp, 0xc
mov byte [esp + edi + 0x40], 0
cmp byte [esp + 0x40], 0
je 0x42bee4
lea ecx, [esp + 0x1f]
push ecx
push 3
lea edx, [esp + 0x44]
push edx
push edi
lea eax, [esp + 0x50]
push eax
mov ecx, 0x4a7ce0
call fcn.0041f7c0
test eax, eax
jne 0x42bdb2
mov edx, dword [esp + 0x3c]
xor ecx, ecx
cmp byte [esp + 0x1f], cl
setne cl
inc ecx
push ecx
push edx
push 0x4a7ce0
mov ecx, edi
lea edx, [esp + 0x4c]
call fcn.0041fa50
mov esi, eax
test esi, esi
je 0x42bee4
cmp byte [esi + 0x17], 0
jne 0x42bdc5
mov esi, dword [esi + 0xc]
cmp esi, dword [esp + 0x148]
je 0x42bed5
cmp dword [esp + 0x24], 0
je 0x42bdf2
push ebx
mov ecx, esi
call fcn.00471380
mov ecx, ebp
mov ebp, dword [esp + 0x148]
add ebx, eax
inc ecx
jmp 0x42bbe5
movzx eax, byte [esi + 0x17]
cmp eax, 3
ja case.default.0x42bdff
jmp dword [eax*4 + 0x42c03c]
mov eax, esi
call fcn.00401150
cmp dword [0x4a5dd4], 0
jne 0x42be6a
cmp dword [esi + 0xc], 0
jne 0x42be6a
mov ecx, dword [esi + 0x18]
push 0
lea eax, [esp + 0x3b]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x42be4f
dec eax
add dword [esp + 0x18], eax
mov ecx, ebp
mov ebp, dword [esp + 0x148]
mov dword [0x4a8d60], 0
inc ecx
jmp 0x42bbe5
mov dword [0x4a8d60], esi
xor eax, eax
add dword [esp + 0x18], eax
mov ecx, ebp
mov ebp, dword [esp + 0x148]
inc ecx
jmp 0x42bbe5
mov eax, dword [esi + 0xc]
add dword [esp + 0x18], eax
mov ecx, ebp
mov ebp, dword [esp + 0x148]
inc ecx
jmp 0x42bbe5
mov ecx, dword [esi + 0xc]
push 0
call fcn.00471380
add dword [esp + 0x18], eax
mov ecx, ebp
mov ebp, dword [esp + 0x148]
inc ecx
jmp 0x42bbe5
push 0x4a7cc4
xor ecx, ecx
call fcn.00403c70
cmp eax, 0xffffffff
jne 0x42bed1
xor eax, eax
add dword [esp + 0x18], eax
mov ecx, ebp
mov ebp, dword [esp + 0x148]
inc ecx
jmp 0x42bbe5
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x10]
push edx
push 0
call eax
add esp, 8
add dword [esp + 0x18], eax
mov ecx, ebp
mov ebp, dword [esp + 0x148]
inc ecx
jmp 0x42bbe5
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret 8
mov byte [ebx], 0
cmp byte [ebp + 0x17], 0
jne 0x42bf01
mov esi, dword [ebp + 0xc]
jmp 0x42bf03
mov esi, ebp
test byte [esi + 0x15], 8
je 0x42bf10
mov eax, esi
call fcn.00401150
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x42bf29
test byte [esi + 0x15], 4
je 0x42bf24
mov eax, esi
call fcn.0042d350
mov eax, dword [esi + 8]
jmp 0x42bf7c
cmp al, 2
jne 0x42bf77
mov eax, dword [0x4a7cd0]
test eax, eax
jne 0x42bf7c
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push 1
call esi
test eax, eax
jne 0x42bf5a
push 0xf
call esi
test eax, eax
je 0x42bf53
mov eax, 0x4947f4
jmp 0x42bf7c
mov eax, 0x4947f9
jmp 0x42bf7c
push 0x4a7cc4
xor ecx, ecx
call fcn.00403c70
cmp eax, 0xffffffff
mov eax, 0x4947f9
je 0x42bf7c
mov eax, dword [0x4a7ccc]
jmp 0x42bf7c
mov eax, 0x4a757d
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42bf80
sub eax, edx
mov edi, eax
cmp byte [ebp + 0x17], cl
jne 0x42bf95
mov esi, dword [ebp + 0xc]
jmp 0x42bf97
mov esi, ebp
cmp byte [esi + 0x17], 1
jne 0x42bfaf
test byte [esi + 0x15], 8
je 0x42bfaa
mov eax, esi
call fcn.00401150
lea eax, [esi + 0xc]
jmp 0x42bfb4
mov eax, 0x4a8514
mov dword [eax], edi
cmp byte [ebp + 0x17], 0
jne 0x42bfc1
mov eax, dword [ebp + 0xc]
jmp 0x42bfc3
mov eax, ebp
cmp byte [eax + 0x17], 2
jne 0x42bfeb
cmp dword [0x4a7cd0], 0
je 0x42bfeb
push 1
mov ecx, 0x4a7cc4
call fcn.00403f00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret 8
and byte [eax + 0x15], 0x86
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x134
ret 8