Function at 0x10037760
Capabilities:
Query environment variable

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x54
mov eax, dword [0x10070040]
xor eax, esp
mov dword [esp + 0x50], eax
lea esi, [esp + 0x38]
mov dword [esp + 4], esi
mov eax, dword [esp + 4]
lea eax, [esp + 0x4c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 4]
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x10]
mov dword [eax], 0xf
mov dword [esp + 0x20], edx
cmp dword [edx + 0x10], 0
sete byte [esp + 0xb]
mov dword [esp + 0x30], ecx
mov ecx, 0x1a22393e
mov eax, 0x3f6be27f
jmp 0x100377e0
mov edx, dword [esp + 0x1c]
mov ecx, esi
push edx
call fcn.10037ef0
add esp, 4
mov ecx, 0x16c69835
mov eax, 0x7fd8ba94
nop word [eax + eax]
cmp ecx, 0x16c69834
jle 0x100378b0
cmp ecx, 0x3fb8d4cf
jg 0x10037910
cmp ecx, 0x1a22393d
jle 0x10037bad
cmp ecx, 0x3653bad4
jg 0x10037ca9
cmp ecx, 0x1a22393e
je 0x10037d36
cmp ecx, 0x2b8bc755
jne 0x100377e0
lea eax, [esp + 0x48]
mov dword [esp + 0x14], eax
mov ecx, esi
mov edx, 0x104
push 0x104
call fcn.10037ef0
add esp, 4
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
cmp dword [ecx], 0x10
mov dword [esp + 0x24], esi
mov ecx, dword [esp + 4]
jb 0x1003785b
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x14], 0x10
jb 0x1003786b
mov edx, dword [esp + 0x20]
mov edx, dword [edx]
push eax
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x18]
mov eax, 0x8a64929e
mov ecx, 0xe1f06a91
cmova eax, ecx
mov ecx, 0x16c69835
jmp 0x100377e0
cmp ecx, 0xc9ac7ffe
jle 0x10037960
cmp ecx, 0xe26af8cc
jle 0x10037bec
cmp ecx, 0xf8e6d4c2
jg 0x10037cdc
cmp ecx, 0xe26af8cd
je 0x10037d43
cmp ecx, 0xf2e65f3e
jne 0x100377e0
mov ecx, dword [esp]
cmp ecx, 0x8a64929e
mov ecx, 0x50b9a871
mov edx, 0xc9ac7fff
cmove ecx, edx
jmp 0x100377e0
cmp ecx, 0x50b9a870
jle 0x10037c2b
cmp ecx, 0x6e7f594f
jg 0x10037d0f
cmp ecx, 0x50b9a871
je 0x10037d5e
cmp ecx, 0x548bdaf3
jne 0x100377e0
mov ecx, dword [esp]
cmp ecx, 0xe1f06a91
mov ecx, 0x50b9a871
mov edx, 0x98912f6f
cmove ecx, edx
jmp 0x100377e0
cmp ecx, 0x99b0552a
jg 0x10037c6a
cmp ecx, 0x823e3593
je 0x10037d68
cmp ecx, 0x879f24e8
je 0x10037d83
cmp ecx, 0x98912f6f
jne 0x100377e0
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov ecx, ebp
not ecx
mov edx, ecx
and edx, 0xac801a64
add edx, ebp
mov ebx, ecx
and ebx, 0x537fe59b
lea edx, [edx + ebx*2]
add edx, ebp
or ecx, 0xac801a64
sub edx, ecx
lea ecx, [edx - 0x537fe59b]
mov ebx, 0x537fe59a
sub ebx, edx
and ebx, 0x33aa99c3
add ebx, ebx
neg ebx
add ebx, edx
add ebx, 0xac801a65
xor ecx, 0xb3aa99c3
add ecx, ebx
sub ecx, edx
add ecx, 0x537fe59b
lea edx, [eax - 1]
mov ebx, ecx
and ebx, edx
add eax, eax
sub ebx, eax
or ecx, edx
lea eax, [ebx + ecx]
add ecx, ebx
add ecx, 1
xor ecx, 0x4c55663c
add eax, eax
add eax, 2
or eax, 0x67553386
add eax, ecx
imul ecx, eax, 0x963b28e3
lea eax, [ecx - 0x69c4d71d]
mov edx, eax
and edx, 0xccfbf8f
add ecx, edx
add ecx, 0x963b28e3
mov edx, eax
or edx, 0xf3304070
add edx, ecx
mov ecx, eax
xor ecx, 0xccfbf8f
lea ebx, [edx + ecx]
add ecx, edx
add ecx, 0xf3304073
mov edx, eax
not edx
add edx, ebx
add edx, 0xf3304073
sub eax, ecx
and eax, 0xe89df3a6
add eax, edx
and edx, 0xe89df3a6
add edx, eax
imul eax, edx, 0xafe8a335
imul ecx, edx, 0xa02eb996
add eax, ecx
add eax, 0xbab36dc3
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x34]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
mov edx, ecx
and edx, 0x16326262
add edx, ecx
not ecx
and ecx, 0x16326262
add ecx, edx
mov edx, ecx
xor edx, 0x16326261
lea edx, [edx + ecx*2]
mov ebx, ecx
or ebx, 0x16326261
sub edx, ebx
and ecx, 0xe9cd9d9e
mov ebx, ecx
not ebx
lea edi, [edx + ebx]
add edi, 0xe9cd9d9f
mov ebp, edi
xor ebp, 0x3c1fbb9
add ebp, edi
mov ebx, edi
or ebx, 0xfc3e0446
add ebx, ebp
add edx, 0xe9cd9d9f
sub ecx, edx
add ecx, ebx
and edi, 0x3c1fbb9
add ecx, edi
add ecx, 0xfc3e0449
mov edx, ecx
sub edx, eax
neg eax
mov edi, ecx
or edi, eax
add edi, edx
mov edx, ecx
xor edx, eax
not edx
add edx, edi
not ecx
add edx, ecx
or ecx, eax
sub edx, ecx
lea eax, [edx + 1]
mov ecx, eax
not ecx
mov edi, ecx
and edi, 0x3c1fbb9
add edx, edi
add edx, 1
xor eax, 0xfc3e0446
add eax, edx
or ecx, 0x3c1fbb9
sub eax, ecx
add eax, 0x3c1fbb9
imul ecx, eax, 0x57a2c829
xor ecx, 0x7ea54c5a
imul eax, eax, 0xaf459052
or eax, 0x2b5674a
add eax, ecx
add eax, 2
imul ecx, eax, 0x7da55419
mov edx, ecx
and edx, 0xc333fcc9
imul eax, eax, 0xfb4aa832
sub eax, edx
mov edx, ecx
xor edx, 0x3ccc0336
add edx, eax
or ecx, 0x3ccc0336
sub edx, ecx
add edx, 0xc333fcca
cmp edx, dword [esp + 0x1c]
mov eax, 0x33d4bf43
mov ecx, 0x384d85e2
cmovb eax, ecx
mov ecx, 0x16c69835
jmp 0x100377e0
cmp ecx, 0x16c69835
je 0x10037d9e
cmp ecx, 0x18905bfb
je 0x10037da8
cmp ecx, 0x192a5eb1
jne 0x100377e0
mov ecx, dword [esp]
cmp ecx, 0xe1f06a91
mov ecx, 0x548bdaf3
mov edx, 0xf2e65f3e
cmovl ecx, edx
jmp 0x100377e0
cmp ecx, 0xc9ac7fff
je 0x10037dc3
cmp ecx, 0xd24567ed
je 0x10037ddd
cmp ecx, 0xd8e43d0c
jne 0x100377e0
mov ecx, dword [esp]
cmp ecx, 0x384d85e2
mov ecx, 0x50b9a871
mov edx, 0x3653bad5
cmove ecx, edx
jmp 0x100377e0
cmp ecx, 0x3fb8d4d0
je 0x10037e01
cmp ecx, 0x42215ed5
je 0x10037e07
cmp ecx, 0x4c42e0c0
jne 0x100377e0
mov ecx, dword [esp]
cmp ecx, 0x33d4bf43
mov ecx, 0x7a805c27
mov edx, 0xe26af8cd
cmovl ecx, edx
jmp 0x100377e0
cmp ecx, 0x99b0552b
je 0x10037e11
cmp ecx, 0xacb5275c
je 0x10037e2d
cmp ecx, 0xb53e8423
jne 0x100377e0
mov ecx, dword [esp]
cmp ecx, 0x33d4bf43
mov ecx, 0x50b9a871
mov edx, 0xd24567ed
cmove ecx, edx
jmp 0x100377e0
cmp ecx, 0x3653bad5
je 0x100377be
cmp ecx, 0x3dc6836d
jne 0x100377e0
mov ecx, dword [esp]
cmp ecx, 0x3f6be27f
mov ecx, 0x50b9a871
mov edx, 0x99b0552b
cmove ecx, edx
jmp 0x100377e0
cmp ecx, 0xf8e6d4c3
je 0x10037e48
cmp ecx, 0x10f58c58
jne 0x100377e0
mov ecx, dword [esp]
cmp ecx, 0xf299fbab
mov ecx, 0x50b9a871
mov edx, 0x2b8bc755
cmove ecx, edx
jmp 0x100377e0
cmp ecx, 0x7a805c27
jne 0x10037eaa
mov ecx, dword [esp]
cmp ecx, 0x3f6be27f
mov ecx, 0xf8e6d4c3
mov edx, 0x879f24e8
cmovl ecx, edx
jmp 0x100377e0
mov dword [esp], eax
mov ecx, 0x4c42e0c0
jmp 0x100377e0
mov ecx, dword [esp]
cmp ecx, 0xf299fbab
mov ecx, 0x18905bfb
mov edx, 0x192a5eb1
cmovl ecx, edx
jmp 0x100377e0
mov ecx, 0x42215ed5
jmp 0x100377e0
mov ecx, dword [esp]
cmp ecx, 0xfd0c0b82
mov ecx, 0x50b9a871
mov edx, 0x6e7f5950
cmove ecx, edx
jmp 0x100377e0
mov ecx, dword [esp]
cmp ecx, 0x384d85e2
mov ecx, 0xd8e43d0c
mov edx, 0xb53e8423
cmovl ecx, edx
jmp 0x100377e0
mov ecx, 0x1a22393e
jmp 0x100377e0
mov ecx, dword [esp]
cmp ecx, 0xfd0c0b82
mov ecx, 0x823e3593
mov edx, 0x10f58c58
cmovl ecx, edx
jmp 0x100377e0
mov eax, dword [esp + 0x10]
cmp dword [eax], 0x10
mov eax, dword [esp + 0x24]
jae 0x10037e63
mov eax, dword [esp + 4]
jmp 0x10037e65
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov dword [eax], ecx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
cmp ecx, 0x10
jae 0x10037e86
mov ebx, dword [esp + 4]
jmp 0x10037e88
mov eax, dword [esp + 0x28]
jmp 0x10037e77
mov ecx, 0x16c69835
jmp 0x100377e0
cmp byte [esp + 0xb], 0
mov eax, 0xf299fbab
mov ecx, 0xfd0c0b82
cmovne eax, ecx
mov ecx, 0x16c69835
jmp 0x100377e0
mov ecx, dword [esp]
cmp ecx, 0x7fd8ba94
mov ecx, 0x50b9a871
mov edx, 0x3fb8d4d0
cmove ecx, edx
jmp 0x100377e0
mov ecx, dword [esp]
cmp ecx, 0x7fd8ba94
mov ecx, 0xacb5275c
mov edx, 0x3dc6836d
cmovl ecx, edx
jmp 0x100377e0
mov eax, dword [eax]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov dword [ecx], edx
mov ecx, dword [esp + 0xc]
mov byte [eax + ecx], 0
mov ecx, 0x16c69835
mov eax, 0xfd0c0b82
jmp 0x100377e0
mov ebx, dword [eax]
mov eax, dword [esp + 0x18]
add eax, ebx
push dword [esp + 0x1c]
push 0
push eax
call fcn.1005e1d0
add esp, 0xc
mov eax, dword [esp + 0xc]
mov byte [ebx + eax], 0
jmp 0x100377cd
cmp ecx, 0x6e7f5950
jne 0x100377e0
mov eax, dword [esp + 4]
movsd xmm0, qword [eax + 0x10]
mov ecx, dword [esp + 0x30]
movsd qword [ecx + 0x10], xmm0
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.1005d66a
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret