Function at 0x10034e3d
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x28], edx
push edi
test cl, cl
je 0x1003503c
xor edi, edi
lea ecx, [ebp - 0x78]
inc edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x18], 0x4ee87f6f
mov dword [ebp - 0x20], 0xaf425f5f
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], 0x5457d670
push edi
call fcn.10012997
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x10], 0x9a6fdd8f
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x20], 0xba430906
mov dword [ebp - 0x14], 0xbbbf
mov dword [ebp - 8], ebx
jmp 0x10034ec6
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x78]
mov dword [eax + ecx*4], 6
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x10034eb6
mov eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x10034eeb
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov ecx, 0x14c259db
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x2c]
sub ecx, eax
add ecx, dword [ebp - 0x10]
inc dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 4]
mov ecx, edi
cmovl ecx, ebx
xor edx, edx
cmp ecx, eax
sete dl
xor ecx, ecx
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
cmp eax, edx
mov eax, dword [ebp - 4]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, 0x8d88
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x78]
call fcn.10012a1c
mov dword [ebp - 0x10], 0xd837
mov dword [ebp - 4], 0x6e871d97
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x10]
push 8
pop ecx
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [ebp - 4], eax
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], 0x13
jl 0x1003502a
push 2
pop esi
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x10], ebx
jmp 0x10035017
push esi
lea ecx, [ebp - 0x48]
call fcn.10012997
mov dword [ebp - 8], ebx
jmp 0x10034fbf
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x48]
mov dword [eax + ecx*4], 0x51cf
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x10034faf
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x10034fd9
push 0x3f6
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x48]
cmp dword [eax + 4], ebx
jne 0x10034fec
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 4], ebx
je 0x10034fef
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x48]
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setle dl
xor eax, eax
cmp dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x48]
setl al
imul edx, eax
mov dword [ebp - 0x28], edx
call fcn.10012a1c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xa
je 0x10034fa1
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x13
jge 0x10034f95
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_HideCaret]
jmp 0x100354c3
mov dword [ebp - 8], 0x3ae35568
mov dword [ebp - 0x20], ebx
mov dword [ebp - 8], ebx
jmp 0x10035075
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x10035064
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push ebx
push ebx
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov byte [ebp - 9], bl
cmp byte [ebp - 9], bl
je 0x10035072
call dword [sym.imp.KERNEL32.dll_GetACP]
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffe2
jge 0x1003504b
mov dword [ebp - 4], 0x3b4e1a36
mov dword [ebp - 0x10], 0xf13e13a6
mov dword [ebp - 0x18], 0x16501874
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 4], 0x14
jmp 0x100350a8
cmp dword [ebp - 4], ebx
jne 0x100350ae
dec dword [ebp - 4]
cmp dword [ebp - 4], 0x11
jg 0x100350a0
push 1
pop edi
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], 0xfffffff8
push 3
pop esi
jl 0x10035209
mov dword [ebp - 0x24], 0x3c15
lea ecx, [ebp - 0x6c]
push 4
call fcn.10012997
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], ebx
jmp 0x100350ea
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x6c]
mov dword [eax + ecx*4], 0xfcfbce00
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x100350da
mov eax, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, 0xfffffff9
mov eax, dword [ebp - 4]
setge cl
xor edx, edx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x24]
jle 0x10035185
mov dword [ebp - 8], esi
xor edx, edx
inc dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x18], 0x3598
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setge dl
xor ebx, ebx
cmp edx, 0x62b5
setg bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor eax, eax
cmp ecx, 0xffffffff
setne al
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, 0x13ed
setle cl
mov dword [ebp - 0x2c], ecx
jmp 0x100351f1
mov dword [ebp - 8], 0xf162c80f
xor ecx, ecx
mov eax, dword [ebp - 8]
cmp eax, 0x402ad923
setge cl
inc ecx
je 0x100351a1
cmp dword [ebp - 8], ebx
jne 0x100351a3
mov ebx, edi
mov dword [ebp - 0x10], 6
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
sub ecx, ebx
cmp ecx, eax
mov ecx, dword [ebp - 8]
setg dl
xor eax, eax
cmp edx, 0xffffffff
setle al
sub ecx, eax
mov eax, dword [ebp - 4]
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
setle bl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setl dl
xor ecx, ecx
add ebx, edx
cmp ebx, eax
setne cl
mov dword [ebp - 8], ecx
lea ecx, [ebp - 0x6c]
call fcn.10012a1c
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffff8
push 0
pop ebx
jge 0x100350c1
mov eax, 0x8c176b0f
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], esi
push edi
call fcn.10012997
mov dword [ebp - 0x14], 0xbc1846e9
mov dword [ebp - 4], ebx
jmp 0x1003523e
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x54]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x10035232
mov dword [ebp - 4], ebx
jmp 0x10035259
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x84], 0x8e0ea626
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x10035248
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], 0xd
jle 0x100353c3
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], 0x49e3
mov dword [ebp - 0x14], 0xc2c102d1
mov dword [ebp - 0x14], 0xab2bd68e
mov dword [ebp - 0x20], 7
mov dword [ebp - 8], ebx
jmp 0x10035299
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x1c], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x1003528f
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x54]
mov dword [eax], esi
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setle bl
xor ecx, ecx
cmp ebx, eax
sete cl
xor eax, eax
cmp ecx, 5
setg al
xor ecx, ecx
sub eax, 9
cmp eax, 0x6f0d
setge cl
xor eax, eax
cmp esi, ecx
setne al
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
xor ebx, ebx
neg ecx
imul eax, ecx
test eax, eax
je 0x1003530e
cmp dword [ebp - 0x1c], ebx
je 0x1003530e
mov ebx, edi
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x10]
setl cl
xor edx, edx
imul ecx, ecx, 0xdbfe
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ebx, ebx
cmp edx, eax
setl bl
xor ecx, ecx
mov dword [ebp - 0x7c], ebx
neg ebx
mov eax, dword [ebp - 0x1c]
cmp ebx, eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
setge cl
sub edx, ecx
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
sub edx, eax
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setg cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jl 0x10035379
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
add ecx, 0x21409db2
cmp ecx, eax
mov eax, dword [ebp - 0x18]
push 0
setg dl
xor ecx, ecx
cmp edx, 0x5a47
pop ebx
setge cl
add eax, 0x11f0
add eax, ecx
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xd
push 3
pop esi
jg 0x1003526b
lea ecx, [ebp - 0x54]
call fcn.10012a1c
mov eax, dword [ebp + 0xc]
push 2
pop esi
mov dword [eax], ebx
cmp dword [eax], edi
jge 0x1003542f
mov edx, dword [ebp + 8]
mov dword [edx], edi
cmp dword [edx], ebx
jl 0x10035429
mov dword [ebp - 8], edi
mov dword [ebp - 8], esi
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], 0x11
jl 0x10035411
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x10035405
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_DrawMenuBar]
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x11
jge 0x100353ef
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp dword [eax + ecx*4], ebx
jne 0x10035426
dec dword [edx]
cmp dword [edx], ebx
jge 0x100353e0
mov eax, dword [ebp + 0xc]
inc dword [eax]
cmp dword [eax], edi
jl 0x100353da
push 3
lea ecx, [ebp - 0x60]
call fcn.10012997
mov dword [ebp - 0x14], 0x6c0e2632
mov dword [ebp - 0x24], 0xfbde
push 3
mov dword [ebp - 0x28], 0xffff
mov dword [ebp - 4], ebx
pop edx
jmp 0x10035463
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x90], edi
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x10035456
mov dword [ebp - 4], ebx
jmp 0x1003547d
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x60]
mov dword [eax + ecx*4], 0x1897a4a
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x1003546d
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x20], eax
mov dword [eax + 4], esi
mov byte [ebp - 9], bl
cmp byte [ebp - 9], 0
je 0x1003549e
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [ebp - 0x20]
dec dword [eax + 4]
jns 0x1003548b
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x60]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], edi
call fcn.10012a1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret