Function at 0x42d280
Capabilities:
Query environment variable

Disassembly:
sub esp, 0x134
push ebx
push ebp
mov ebp, dword [esp + 0x140]
cmp byte [ebp + 0x17], 0
push esi
push edi
jne 0x42d2a1
mov ebp, dword [ebp + 0xc]
mov dword [esp + 0x148], ebp
push 0xfd
lea eax, [esp + 0x45]
push 0
push eax
mov byte [esp + 0x4c], 0
call fcn.0048e5e0
add esp, 0xc
xor ebx, ebx
mov dword [esp + 0x30], ebx
mov edx, dword [esp + 0x1c]
test ebx, ebx
je 0x42d5cb
mov al, byte [ebp + 0x17]
mov dword [esp + 0x2c], edx
test al, al
jne 0x42d302
mov ecx, dword [ebp + 0xc]
push 1
push 0
push edx
push 0
push ecx
call fcn.00474fa0
cmp eax, 1
jne 0x42d97b
cmp byte [ebp + 0x17], 0
jne 0x42d586
mov esi, dword [ebp + 0xc]
jmp 0x42d588
cmp dword [esp + 0x1c], 0xffffffff
mov byte [esp + 0x1b], 1
mov cl, 1
jne 0x42d320
mov dword [esp + 0x2c], 0
mov edx, dword [esp + 0x2c]
xor cl, cl
jmp 0x42d325
mov byte [esp + 0x1b], 0
lea edi, [edx + 1]
cmp al, 2
jne 0x42d353
cmp byte [esp + 0x1b], 0
je 0x42d341
push 0x498831
mov eax, edx
call fcn.00404330
jmp 0x42d2e7
mov esi, 0x4ac3e0
call fcn.004043b0
neg eax
sbb eax, eax
neg eax
jmp 0x42d2e7
mov esi, dword [0x4a63ac]
cmp edi, esi
jbe 0x42d37b
cmp edi, dword [ebp + 0x10]
jbe 0x42d37b
push 0x498831
push 0x49f8d8
mov ecx, 0x4abd80
call fcn.0042e860
jmp 0x42d2e7
cmp edi, 2
jae 0x42d399
xor edx, edx
test cl, cl
setne dl
xor al, al
mov ecx, ebp
add edx, 3
push edx
call fcn.00475540
jmp 0x42d2f0
mov al, byte [ebp + 0x15]
test al, 2
je 0x42d3b6
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 esi, dword [0x4a63ac]
mov ebx, dword [ebp + 0x10]
and byte [ebp + 0x15], 0x82
cmp edi, ebx
jbe 0x42d3e4
mov cl, byte [ebp + 0x14]
cmp cl, 1
jbe 0x42d425
cmp cl, 2
je 0x42d464
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
and byte [ebp + 0x15], 0x7f
mov dword [ebp + 8], eax
mov dword [ebp + 0x10], edi
cmp byte [esp + 0x1b], 0
je 0x42d570
mov eax, dword [ebp + 8]
cmp eax, 0x498831
je 0x42d40c
mov ecx, dword [esp + 0x2c]
push ecx
push 0x498831
push eax
call fcn.00485ca0
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov byte [eax + edx], 0
mov edx, eax
mov dword [ebp + 0xc], edx
jmp 0x42d2f0
cmp edi, 0x40
ja 0x42d464
cmp edi, 4
ja 0x42d436
mov edi, 4
jmp 0x42d444
mov eax, 8
cmp eax, edi
sbb edi, edi
and edi, 0x38
add edi, eax
mov eax, edi
mov dword [esp + 0x20], edi
call fcn.0046f800
mov dword [esp + 0x38], eax
test eax, eax
je 0x42d97b
mov byte [ebp + 0x14], 1
jmp 0x42d3d6
cmp edi, 0x10
jae 0x42d470
mov edx, 0x10
jmp 0x42d4ef
cmp edi, 0x104
jae 0x42d47f
mov edx, 0x104
jmp 0x42d4ef
cmp edi, 0x28000
jae 0x42d4c3
mov dword [esp + 0x20], edi
fild dword [esp + 0x20]
test edi, edi
jns 0x42d499
fadd qword [0x4a08a8]
fmul qword [0x4a08b0]
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x20], eax
fldcw word [esp + 0x20]
fistp qword [esp + 0x20]
mov edx, dword [esp + 0x20]
fldcw word [esp + 0x14]
jmp 0x42d4ef
cmp edi, 0x190000
jae 0x42d4d3
lea edx, [edi + 0x4000]
jmp 0x42d4ef
cmp edi, 0x640000
jae 0x42d4e9
mov eax, 0x51eb851f
mul edi
shr edx, 5
add edx, edi
jmp 0x42d4ef
lea edx, [edi + 0x10000]
mov dword [esp + 0x20], edx
cmp edx, esi
jbe 0x42d4fb
mov dword [esp + 0x20], esi
cmp cl, 2
jne 0x42d536
test ebx, ebx
je 0x42d536
mov ecx, dword [ebp + 8]
push ecx
mov bl, 1
call fcn.004850d8
add esp, 4
mov eax, dword [esp + 0x20]
xor edi, edi
cmp eax, edi
jl 0x42d53a
push eax
call fcn.00485279
add esp, 4
mov dword [esp + 0x38], eax
cmp eax, edi
je 0x42d53a
mov byte [ebp + 0x14], 2
jmp 0x42d3d2
xor bl, bl
jmp 0x42d512
test bl, bl
je 0x42d54a
mov dword [ebp + 0x10], edi
mov dword [ebp + 8], 0x4ab626
jmp 0x42d550
mov edx, dword [ebp + 8]
mov byte [edx], 0
push 0x498831
push 0x499f48
mov ecx, 0x4abd80
mov dword [ebp + 0xc], edi
call fcn.0042e860
mov ebx, dword [esp + 0x30]
jmp 0x42d2e7
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov byte [ecx], 0
mov dword [ebp + 0xc], edx
jmp 0x42d2f0
mov esi, ebp
test byte [esi + 0x15], 8
je 0x42d595
mov eax, esi
call fcn.00401150
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x42d5b2
test byte [esi + 0x15], 4
je 0x42d5a9
mov eax, esi
call fcn.0042ede0
mov eax, dword [esi + 8]
mov dword [esp + 0x14], eax
jmp 0x42d5d3
cmp al, 2
jne 0x42d5c1
call fcn.00401000
mov dword [esp + 0x14], eax
jmp 0x42d5d3
mov dword [esp + 0x14], 0x4ab626
jmp 0x42d5d3
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x14c]
lea ebx, [ebx]
mov al, byte [ecx]
test al, al
je 0x42d613
cmp al, byte [0x4a63cd]
je 0x42d63a
cmp al, byte [0x4a63cc]
je 0x42d63a
test ebx, ebx
je 0x42d607
mov edx, dword [esp + 0x14]
mov byte [edx], al
inc edx
mov dword [esp + 0x14], edx
jmp 0x42d60b
inc dword [esp + 0x1c]
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x42d5e6
inc ebx
mov dword [esp + 0x30], ebx
cmp ebx, 2
jl 0x42d2c0
mov ecx, dword [esp + 0x14]
mov byte [ecx], 0
cmp byte [ebp + 0x17], 0
jne 0x42d98a
mov esi, dword [ebp + 0xc]
jmp 0x42d98c
mov al, byte [ecx]
test al, al
je 0x42d613
cmp al, byte [0x4a63cd]
jne 0x42d771
test ebx, ebx
je 0x42d75b
mov al, byte [ecx + 1]
movsx edx, al
add edx, 0xffffff9f
cmp edx, 0x15
ja case.0x42d66d.99
movzx edx, byte [edx + 0x42daa4]
jmp dword [edx*4 + 0x42da84]
mov eax, dword [esp + 0x14]
inc dword [esp + 0x14]
mov ebp, dword [esp + 0x148]
mov ebx, dword [esp + 0x30]
inc ecx
mov byte [eax], 7
inc ecx
jmp 0x42d5e0
mov edx, dword [esp + 0x14]
inc dword [esp + 0x14]
mov ebp, dword [esp + 0x148]
mov ebx, dword [esp + 0x30]
inc ecx
mov byte [edx], 8
inc ecx
jmp 0x42d5e0
mov eax, dword [esp + 0x14]
inc dword [esp + 0x14]
mov ebp, dword [esp + 0x148]
mov ebx, dword [esp + 0x30]
inc ecx
mov byte [eax], 0xc
inc ecx
jmp 0x42d5e0
mov edx, dword [esp + 0x14]
inc dword [esp + 0x14]
mov ebp, dword [esp + 0x148]
mov ebx, dword [esp + 0x30]
inc ecx
mov byte [edx], 0xa
inc ecx
jmp 0x42d5e0
mov eax, dword [esp + 0x14]
inc dword [esp + 0x14]
mov ebp, dword [esp + 0x148]
mov ebx, dword [esp + 0x30]
inc ecx
mov byte [eax], 0xd
inc ecx
jmp 0x42d5e0
mov edx, dword [esp + 0x14]
inc dword [esp + 0x14]
mov ebp, dword [esp + 0x148]
mov ebx, dword [esp + 0x30]
inc ecx
mov byte [edx], 9
inc ecx
jmp 0x42d5e0
mov eax, dword [esp + 0x14]
inc dword [esp + 0x14]
mov ebp, dword [esp + 0x148]
mov ebx, dword [esp + 0x30]
inc ecx
mov byte [eax], 0xb
inc ecx
jmp 0x42d5e0
mov edx, dword [esp + 0x14]
inc dword [esp + 0x14]
mov ebp, dword [esp + 0x148]
mov ebx, dword [esp + 0x30]
inc ecx
mov byte [edx], al
inc ecx
jmp 0x42d5e0
inc dword [esp + 0x1c]
mov ebp, dword [esp + 0x148]
mov ebx, dword [esp + 0x30]
inc ecx
inc ecx
jmp 0x42d5e0
lea esi, [ecx + 1]
mov ebp, esi
mov al, byte [ebp]
test al, al
je 0x42d96a
mov dl, byte [0x4a63cc]
cmp al, dl
je 0x42d7a4
mov al, byte [ebp + 1]
inc ebp
test al, al
jne 0x42d787
mov ebp, dword [esp + 0x148]
mov ebx, dword [esp + 0x30]
inc ecx
jmp 0x42d5e0
cmp byte [ebp], 0
je 0x42d96a
mov edi, ebp
sub edi, ecx
dec edi
je 0x42d968
cmp edi, 0xfd
ja 0x42d968
push edi
lea eax, [esp + 0x44]
push esi
push eax
call fcn.00488060
add esp, 0xc
mov byte [esp + edi + 0x40], 0
cmp byte [esp + 0x40], 0
je 0x42d97b
lea ecx, [esp + 0x2b]
push ecx
push 3
lea edx, [esp + 0x44]
push edx
push edi
lea eax, [esp + 0x50]
push eax
mov ecx, 0x4abd80
call fcn.00420b70
test eax, eax
jne 0x42d824
mov edx, dword [esp + 0x3c]
xor ecx, ecx
cmp byte [esp + 0x2b], cl
setne cl
inc ecx
push ecx
push edx
push 0x4abd80
mov ecx, edi
lea edx, [esp + 0x4c]
call fcn.00420e00
mov esi, eax
test esi, esi
je 0x42d97b
cmp byte [esi + 0x17], 0
jne 0x42d837
mov esi, dword [esi + 0xc]
cmp esi, dword [esp + 0x148]
je 0x42d968
cmp dword [esp + 0x30], 0
je 0x42d870
mov edi, dword [esp + 0x14]
push edi
mov ecx, esi
call fcn.00475370
mov ebx, dword [esp + 0x30]
add edi, eax
mov ecx, ebp
mov ebp, dword [esp + 0x148]
mov dword [esp + 0x14], edi
inc ecx
jmp 0x42d5e0
movzx eax, byte [esi + 0x17]
cmp eax, 3
ja case.default.0x42d87d
jmp dword [eax*4 + 0x42dabc]
mov eax, esi
call fcn.00401150
cmp dword [0x4a9e84], 0
jne 0x42d8f0
cmp dword [esi + 0xc], 0
jne 0x42d8f0
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 0x42d8d1
mov ebx, dword [esp + 0x30]
dec eax
add dword [esp + 0x1c], eax
mov ecx, ebp
mov ebp, dword [esp + 0x148]
mov dword [0x4acddc], 0
inc ecx
jmp 0x42d5e0
mov dword [0x4acddc], esi
mov ebx, dword [esp + 0x30]
xor eax, eax
add dword [esp + 0x1c], eax
mov ecx, ebp
mov ebp, dword [esp + 0x148]
inc ecx
jmp 0x42d5e0
mov eax, dword [esi + 0xc]
add dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x30]
mov ecx, ebp
mov ebp, dword [esp + 0x148]
inc ecx
jmp 0x42d5e0
mov ecx, dword [esi + 0xc]
push 0
call fcn.00475370
add dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x30]
mov ecx, ebp
mov ebp, dword [esp + 0x148]
inc ecx
jmp 0x42d5e0
xor ecx, ecx
call fcn.00404160
cmp eax, 0xffffffff
jne 0x42d964
mov ebx, dword [esp + 0x30]
xor eax, eax
add dword [esp + 0x1c], eax
mov ecx, ebp
mov ebp, dword [esp + 0x148]
inc ecx
jmp 0x42d5e0
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 ebp, dword [esp + 0x148]
mov ebx, dword [esp + 0x30]
inc ecx
jmp 0x42d5e0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret 8
mov esi, ebp
test byte [esi + 0x15], 8
je 0x42d999
mov eax, esi
call fcn.00401150
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x42d9b2
test byte [esi + 0x15], 4
je 0x42d9ad
mov eax, esi
call fcn.0042ede0
mov eax, dword [esi + 8]
jmp 0x42da00
cmp al, 2
jne 0x42d9fb
mov eax, dword [0x4ac3ec]
test eax, eax
jne 0x42da00
mov esi, dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
push 1
call esi
test eax, eax
jne 0x42d9e3
push 0xf
call esi
test eax, eax
je 0x42d9dc
mov eax, 0x4987ec
jmp 0x42da00
mov eax, 0x498831
jmp 0x42da00
xor ecx, ecx
call fcn.00404160
cmp eax, 0xffffffff
mov eax, 0x498831
je 0x42da00
mov eax, dword [0x4ac3e8]
jmp 0x42da00
mov eax, 0x4ab626
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42da03
sub eax, edx
mov edi, eax
cmp byte [ebp + 0x17], cl
jne 0x42da18
mov esi, dword [ebp + 0xc]
jmp 0x42da1a
mov esi, ebp
cmp byte [esi + 0x17], 1
jne 0x42da32
test byte [esi + 0x15], 8
je 0x42da2d
mov eax, esi
call fcn.00401150
lea eax, [esi + 0xc]
jmp 0x42da37
mov eax, 0x4ac590
mov dword [eax], edi
cmp byte [ebp + 0x17], 0
jne 0x42da44
mov eax, dword [ebp + 0xc]
jmp 0x42da46
mov eax, ebp
cmp byte [eax + 0x17], 2
jne 0x42da6e
cmp dword [0x4ac3ec], 0
je 0x42da6e
push 1
mov ecx, 0x4ac3e0
call fcn.00404420
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