Function at 0x10056299
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
push edi
push 2
pop edi
mov esi, ecx
lea ecx, [ebp - 0x24]
push edi
call fcn.1001b24b
xor ebx, ebx
mov dword [ebp - 0x10], 0xfffffffe
mov dword [ebp - 0x10], ebx
jmp 0x100562ca
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100562be
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x10], ebx
jl 0x100562f9
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x100562f4
push 0x1a66
push 0x1c5e
push ebx
call dword [sym.imp.USER32.dll_InflateRect]
dec dword [ebp - 0x10]
jns 0x100562db
lea ecx, [ebp - 0x24]
call fcn.1001b2cd
push 1
push 0x2a8e
push 0x4bf8
push esi
call fcn.10050f45
push esi
call fcn.10037015
mov dword [ebp - 8], 6
add esp, 0x14
mov dword [ebp - 0x10], 0xffffffff
mov esi, eax
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0xc], 0xfffffffe
mov dword [ebp - 0x18], 0x9060
mov dword [ebp - 0x10], ebx
jmp 0x10056354
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x30], 1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10056346
mov ecx, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
cmp ecx, eax
mov eax, dword [ebp - 8]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 8]
je 0x10056379
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp ecx, eax
setne dl
sub edx, dword [ebp - 8]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 8]
jne 0x100563bd
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], 0xfffffffd
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
sub ecx, 3
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
neg edx
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x14]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], ebx
je 0x10056418
mov dword [ebp - 8], ebx
jmp 0x1005640d
mov dword [ebp - 0x18], 0xd535dd25
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10056407
push ebx
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
mov eax, dword [ebp - 0x18]
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffe2
je 0x100563f1
jmp 0x100564dc
mov dword [ebp - 0x10], 0xb06a9beb
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], edi
cmp dword [ebp - 0xc], ebx
jl 0x10056481
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x1005643f
push 0x1fa9
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
mov dword [ebp - 8], edi
cmp dword [ebp - 8], ebx
jl 0x1005647c
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x1005646e
push ebx
push 0x101a
push 0x2f6
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
mov eax, dword [ebp - 0xc]
cmp dword [ebp + eax*4 - 0x30], ebx
jne 0x1005647c
dec dword [ebp - 8]
jns 0x10056447
dec dword [ebp - 0xc]
jns 0x1005642a
mov eax, dword [ebp - 0x10]
xor edi, edi
inc edi
xor edx, edx
mov dword [ebp - 0xc], edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
cmp eax, ecx
setle dl
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov eax, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 0xfffffffc
setl dl
xor ecx, ecx
cmp eax, edx
setl cl
cmp ecx, dword [ebp - 0x10]
je 0x100564c7
cmp dword [ebp - 0x10], ebx
jne 0x100564cc
cmp dword [ebp - 0xc], ebx
je 0x100564ce
mov ebx, edi
xor eax, eax
cmp ebx, 0x266c
setge al
mov dword [ebp - 0x18], eax
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret