Function at 0x42bb50
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x134
push ebx
mov ebx, dword [ebp + 8]
cmp byte [ebx + 0x17], 0
push esi
push edi
jne 0x42bb6e
mov ebx, dword [ebx + 0xc]
mov dword [ebp + 8], ebx
push 0xfd
lea eax, [esp + 0x45]
push 0
push eax
mov byte [esp + 0x4c], 0
call fcn.00488100
mov esi, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + 0x24], 0
mov edi, dword [esp + 0x1c]
xor edx, edx
cmp dword [esp + 0x24], edx
je 0x42bec7
mov al, byte [ebx + 0x17]
mov esi, edi
mov dword [esp + 0x18], esi
test al, al
jne 0x42bbd8
mov ecx, dword [ebx + 0xc]
push 1
push edx
push edi
push edx
call fcn.0046f180
cmp eax, 1
jne 0x42c1f4
cmp byte [ebx + 0x17], 0
jne 0x42be7f
mov esi, dword [ebx + 0xc]
jmp 0x42be81
mov byte [esp + 0x17], 1
mov cl, 1
cmp edi, 0xffffffff
jne 0x42bbee
xor cl, cl
mov dword [esp + 0x18], edx
mov esi, edx
jmp 0x42bbf2
mov byte [esp + 0x17], dl
lea edi, [esi + 1]
cmp al, 2
jne 0x42bc1f
cmp byte [esp + 0x17], dl
je 0x42bc0d
push 0x4927f1
mov eax, esi
call fcn.00403db0
jmp 0x42bbbd
mov esi, 0x4a52b8
call fcn.00403e30
neg eax
sbb eax, eax
neg eax
jmp 0x42bbbd
mov esi, dword [0x49f3ac]
cmp edi, esi
jbe 0x42bc47
cmp edi, dword [ebx + 0x10]
jbe 0x42bc47
push 0x4927f1
push str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
mov ecx, 0x4a4c80
call fcn.0042d140
jmp 0x42bbbd
cmp edi, 2
jae 0x42bc65
xor edx, edx
test cl, cl
setne dl
xor al, al
mov ecx, ebx
add edx, 3
push edx
call fcn.0046f690
jmp 0x42bbc6
mov al, byte [ebx + 0x15]
test al, 2
je 0x42bc81
and al, 0x3d
mov byte [ebx + 0x15], al
mov eax, dword [ebx]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [0x49f3ac]
mov edx, dword [ebx + 0x10]
and byte [ebx + 0x15], 0x82
cmp edi, edx
jbe 0x42bcaf
mov cl, byte [ebx + 0x14]
cmp cl, 1
jbe 0x42bcec
cmp cl, 2
je 0x42bd2b
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
and byte [ebx + 0x15], 0x7f
mov dword [ebx + 8], ecx
mov dword [ebx + 0x10], edi
cmp byte [esp + 0x17], 0
je 0x42be6d
mov eax, dword [ebx + 8]
cmp eax, 0x4927f1
je 0x42bcd7
mov edx, dword [esp + 0x18]
push edx
push 0x4927f1
push eax
call fcn.0047f980
add esp, 0xc
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax], 0
mov eax, ecx
mov dword [ebx + 0xc], eax
jmp 0x42bbc6
cmp edi, 0x40
ja 0x42bd2b
cmp edi, 4
ja 0x42bcfd
mov edi, 4
jmp 0x42bd0b
mov eax, 8
cmp eax, edi
sbb edi, edi
and edi, 0x38
add edi, eax
mov eax, edi
mov dword [esp + 0x10], edi
call fcn.00469c60
mov dword [esp + 0x38], eax
test eax, eax
je 0x42c1f4
mov byte [ebx + 0x14], 1
jmp 0x42bca1
cmp edi, 0x10
jae 0x42bd3a
mov edi, 0x10
jmp 0x42bdea
cmp edi, 0x104
jae 0x42bd4c
mov edi, 0x104
jmp 0x42bdea
cmp edi, 0x28000
jae 0x42bd90
mov dword [esp + 0x28], edi
fild dword [esp + 0x28]
test edi, edi
jns 0x42bd66
fadd qword [0x49a4b8]
fmul qword [0x49a4c8]
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 edi, dword [esp + 0x28]
fldcw word [esp + 0x10]
jmp 0x42bdea
cmp edi, 0x190000
jae 0x42bda0
add edi, 0x4000
jmp 0x42bdea
cmp edi, 0x640000
jae 0x42bde4
mov dword [esp + 0x28], edi
fild dword [esp + 0x28]
test edi, edi
jns 0x42bdba
fadd qword [0x49a4b8]
fmul qword [0x49a4c0]
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 edi, dword [esp + 0x28]
fldcw word [esp + 0x10]
jmp 0x42bdea
add edi, 0x10000
mov dword [esp + 0x10], edi
cmp edi, esi
jbe 0x42bdf6
mov dword [esp + 0x10], esi
cmp cl, 2
jne 0x42be39
test edx, edx
je 0x42be39
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
mov bl, 1
call fcn.0047edd8
add esp, 4
mov eax, dword [esp + 0x10]
xor edi, edi
cmp eax, edi
jl 0x42be3d
push eax
call fcn.0047ef79
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, edi
je 0x42be3d
mov eax, dword [ebp + 8]
mov byte [eax + 0x14], 2
mov ebx, eax
jmp 0x42bc9d
xor bl, bl
jmp 0x42be10
test bl, bl
je 0x42be51
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], edi
mov dword [eax + 8], 0x4a453d
mov dword [eax + 0xc], edi
push 0x4927f1
push str.Out_of_memory.
mov ecx, 0x4a4c80
call fcn.0042d140
mov ebx, dword [ebp + 8]
jmp 0x42bbbd
mov edx, dword [ebx + 8]
mov eax, dword [esp + 0x18]
mov byte [edx], 0
mov dword [ebx + 0xc], eax
jmp 0x42bbc6
mov esi, ebx
test byte [esi + 0x15], 8
je 0x42be8e
mov eax, esi
call fcn.00401150
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x42beab
test byte [esi + 0x15], 4
je 0x42bea2
mov eax, esi
call fcn.0042d6b0
mov esi, dword [esi + 8]
mov dword [esp + 0x18], esi
jmp 0x42becb
cmp al, 2
jne 0x42bebc
call fcn.00401000
mov esi, eax
mov dword [esp + 0x18], esi
jmp 0x42becb
mov esi, 0x4a453d
mov dword [esp + 0x18], esi
jmp 0x42becb
mov dword [esp + 0x1c], edx
mov ecx, dword [ebp + 0xc]
mov edi, edi
mov al, byte [ecx]
test al, al
je 0x42c1d4
mov dl, byte [0x49f3ce]
cmp al, dl
je 0x42bf0d
cmp al, byte [0x49f3cd]
je 0x42bf0a
cmp dword [esp + 0x24], 0
je 0x42bf00
mov ebx, dword [ebp + 8]
mov byte [esi], al
inc esi
mov dword [esp + 0x18], esi
inc ecx
jmp 0x42bed0
inc dword [esp + 0x1c]
mov ebx, dword [ebp + 8]
inc ecx
jmp 0x42bed0
mov ebx, dword [ebp + 8]
mov al, byte [ecx]
test al, al
je 0x42c1d4
cmp al, dl
jne 0x42bfeb
cmp dword [esp + 0x24], 0
je 0x42bfd9
mov al, byte [ecx + 1]
movsx edx, al
add edx, 0xffffff9f
cmp edx, 0x15
ja case.0x42bf43.99
movzx edx, byte [edx + 0x42c31c]
jmp dword [edx*4 + 0x42c2fc]
mov ebx, dword [ebp + 8]
mov byte [esi], 7
inc esi
inc ecx
mov dword [esp + 0x18], esi
inc ecx
jmp 0x42bed0
mov ebx, dword [ebp + 8]
mov byte [esi], 8
inc esi
inc ecx
mov dword [esp + 0x18], esi
inc ecx
jmp 0x42bed0
mov ebx, dword [ebp + 8]
mov byte [esi], 0xc
inc esi
inc ecx
mov dword [esp + 0x18], esi
inc ecx
jmp 0x42bed0
mov ebx, dword [ebp + 8]
mov byte [esi], 0xa
inc esi
inc ecx
mov dword [esp + 0x18], esi
inc ecx
jmp 0x42bed0
mov ebx, dword [ebp + 8]
mov byte [esi], 0xd
inc esi
inc ecx
mov dword [esp + 0x18], esi
inc ecx
jmp 0x42bed0
mov ebx, dword [ebp + 8]
mov byte [esi], 9
inc esi
inc ecx
mov dword [esp + 0x18], esi
inc ecx
jmp 0x42bed0
mov ebx, dword [ebp + 8]
mov byte [esi], 0xb
inc esi
inc ecx
mov dword [esp + 0x18], esi
inc ecx
jmp 0x42bed0
mov ebx, dword [ebp + 8]
mov byte [esi], al
inc esi
inc ecx
mov dword [esp + 0x18], esi
inc ecx
jmp 0x42bed0
inc dword [esp + 0x1c]
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0x18]
inc ecx
inc ecx
jmp 0x42bed0
lea esi, [ecx + 1]
mov ebx, esi
mov al, byte [ebx]
test al, al
je 0x42c1c7
lea ebx, [ebx]
cmp al, byte [0x49f3cd]
je 0x42c01d
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x42c000
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0x18]
inc ecx
jmp 0x42bed0
cmp byte [ebx], 0
je 0x42c1c7
mov edi, ebx
sub edi, ecx
dec edi
je 0x42c1c5
cmp edi, 0xfd
ja 0x42c1c5
push edi
lea eax, [esp + 0x44]
push esi
push eax
call fcn.00481c00
add esp, 0xc
mov byte [esp + edi + 0x40], 0
cmp byte [esp + 0x40], 0
je 0x42c1f4
lea ecx, [esp + 0x23]
push ecx
push 3
lea edx, [esp + 0x44]
push edx
push edi
lea eax, [esp + 0x50]
push eax
mov ecx, 0x4a4c80
call fcn.0041f970
test eax, eax
jne 0x42c09c
mov edx, dword [esp + 0x3c]
xor ecx, ecx
cmp byte [esp + 0x23], cl
setne cl
inc ecx
push ecx
push edx
push 0x4a4c80
mov ecx, edi
lea edx, [esp + 0x4c]
call fcn.0041fc00
mov esi, eax
test esi, esi
je 0x42c1f4
cmp byte [esi + 0x17], 0
jne 0x42c0af
mov esi, dword [esi + 0xc]
cmp esi, dword [ebp + 8]
je 0x42c1c5
cmp dword [esp + 0x24], 0
je 0x42c0de
mov edi, dword [esp + 0x18]
push edi
mov ecx, esi
call fcn.0046f4b0
add edi, eax
mov ecx, ebx
mov ebx, dword [ebp + 8]
mov dword [esp + 0x18], edi
inc ecx
mov esi, edi
jmp 0x42bed0
movzx eax, byte [esi + 0x17]
cmp eax, 3
ja case.default.0x42c0eb
jmp dword [eax*4 + 0x42c334]
mov eax, esi
call fcn.00401150
cmp dword [0x4a2d94], 0
jne 0x42c156
cmp dword [esi + 0xc], 0
jne 0x42c156
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 0x42c13b
mov esi, dword [esp + 0x18]
dec eax
add dword [esp + 0x1c], eax
mov ecx, ebx
mov ebx, dword [ebp + 8]
mov dword [0x4a5d20], 0
inc ecx
jmp 0x42bed0
mov dword [0x4a5d20], esi
mov esi, dword [esp + 0x18]
xor eax, eax
add dword [esp + 0x1c], eax
mov ecx, ebx
mov ebx, dword [ebp + 8]
inc ecx
jmp 0x42bed0
mov eax, dword [esi + 0xc]
add dword [esp + 0x1c], eax
mov esi, dword [esp + 0x18]
mov ecx, ebx
mov ebx, dword [ebp + 8]
inc ecx
jmp 0x42bed0
mov ecx, dword [esi + 0xc]
push 0
call fcn.0046f4b0
add dword [esp + 0x1c], eax
mov esi, dword [esp + 0x18]
mov ecx, ebx
mov ebx, dword [ebp + 8]
inc ecx
jmp 0x42bed0
push 0x4a52b8
xor ecx, ecx
call fcn.00403c10
cmp eax, 0xffffffff
jne 0x42c1c1
mov esi, dword [esp + 0x18]
xor eax, eax
add dword [esp + 0x1c], eax
mov ecx, ebx
mov ebx, dword [ebp + 8]
inc ecx
jmp 0x42bed0
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, ebx
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0x18]
inc ecx
jmp 0x42bed0
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, 2
jl 0x42bb93
mov byte [esi], 0
cmp byte [ebx + 0x17], 0
jne 0x42c1ff
mov esi, dword [ebx + 0xc]
jmp 0x42c201
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, ebx
test byte [esi + 0x15], 8
je 0x42c20e
mov eax, esi
call fcn.00401150
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x42c227
test byte [esi + 0x15], 4
je 0x42c222
mov eax, esi
call fcn.0042d6b0
mov eax, dword [esi + 8]
jmp 0x42c27a
cmp al, 2
jne 0x42c275
mov eax, dword [0x4a52c4]
test eax, eax
jne 0x42c27a
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push 1
call esi
test eax, eax
jne 0x42c258
push 0xf
call esi
test eax, eax
je 0x42c251
mov eax, 0x4927ec
jmp 0x42c27a
mov eax, 0x4927f1
jmp 0x42c27a
push 0x4a52b8
xor ecx, ecx
call fcn.00403c10
cmp eax, 0xffffffff
mov eax, 0x4927f1
je 0x42c27a
mov eax, dword [0x4a52c0]
jmp 0x42c27a
mov eax, 0x4a453d
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42c280
sub eax, edx
mov edi, eax
cmp byte [ebx + 0x17], cl
jne 0x42c295
mov esi, dword [ebx + 0xc]
jmp 0x42c297
mov esi, ebx
cmp byte [esi + 0x17], 1
jne 0x42c2af
test byte [esi + 0x15], 8
je 0x42c2aa
mov eax, esi
call fcn.00401150
lea eax, [esi + 0xc]
jmp 0x42c2b4
mov eax, 0x4a54d0
mov dword [eax], edi
cmp byte [ebx + 0x17], 0
jne 0x42c2c1
mov eax, dword [ebx + 0xc]
jmp 0x42c2c3
mov eax, ebx
cmp byte [eax + 0x17], 2
jne 0x42c2e7
cmp dword [0x4a52c4], 0
je 0x42c2e7
push 1
mov ecx, 0x4a52b8
call fcn.00403ea0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
and byte [eax + 0x15], 0x86
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 8