Function at 0x10012e4e
Capabilities:
Resolve function by parsing pe exports
Set environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1005ccd3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd8
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov dword [esp + 0x24], ecx
push ebx
mov dword [esp + 8], 0x8c6a53d0
mov ebx, edx
mov dword [esp + 0x14], 5
push esi
mov dword [esp + 0x24], 7
push edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ecx
jmp 0x10012eb0
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x7c], 0x6cd33356
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x10012ea0
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x10], 0xfffffff2
jne 0x10012f17
mov dword [esp + 0x24], 0x9cb6
mov dword [esp + 0x18], 0x8afc1da7
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0xa062b000
mov eax, dword [esp + 0x24]
sbb edx, edx
add edx, 0xffffcd57
neg edx
sbb edx, edx
sub eax, dword [esp + 0x10]
xor ecx, ecx
inc edx
cmp eax, edx
setle cl
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff2
je 0x10012ec2
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x80]
add eax, dword [esp + 0x10]
jne 0x10012f34
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x1c]
jl 0x10012f56
mov byte [esp + 0x17], cl
cmp byte [esp + 0x17], 0
je 0x10012f62
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
jmp 0x10012f62
mov dword [esp + 0x1c], 0xfa1a
inc dword [esp + 0x1c]
call fcn.1000f14a
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.100136a8
and dword [esp + 0xec], 0
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x10], 0x3d61
cmp dword [esp + 0x10], 0x3dd0
push 1
pop esi
jle 0x10013028
xor edi, edi
mov dword [esp + 0x18], edi
xor esi, esi
mov dword [esp + 0x1c], esi
mov ecx, esi
mov dword [esp + 0x28], edi
mov esi, edi
xor ebx, ebx
shl esi, cl
xor edi, edi
mov ecx, edi
mov eax, ebx
shl eax, cl
lea ecx, [esp + 0x98]
xor eax, esi
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10012fd6
mov eax, dword [eax]
push eax
call fcn.100443ac
pop ecx
push 0
push 1
lea ecx, [esp + 0xa0]
call fcn.10005611
inc edi
cmp edi, 0x679
jl 0x10012fb5
inc ebx
cmp ebx, 0x7cf
jl 0x10012fb3
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
inc esi
mov dword [esp + 0x1c], esi
cmp esi, 0x2b5d
jl 0x10012fa7
inc edi
mov dword [esp + 0x18], edi
cmp edi, 0x3553
jl 0x10012fa1
mov ebx, dword [esp + 0x20]
xor esi, esi
inc esi
cmp dword [esp + 0x10], 0x3ce8
jge 0x1001303d
push str.ssxczxsbs_nbqktddym_tns_vtfqga_bset_safn_yxuolwzn_aqxfc_wzipacm_rdnyxsjp_mtirekpoj
call fcn.100443ac
pop ecx
xor ecx, ecx
mov dword [esp + 0xec], ecx
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x24], 9
mov dword [esp + 0x18], ecx
jmp 0x1001306b
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x8c], esi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x1001305c
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x1c], 0xffffffec
jne 0x1001312c
mov edx, 0xc4ab
mov dword [esp + 0x18], 0xb96ca2cb
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], ecx
jmp 0x10013116
mov dword [esp + 0x10], ecx
jmp 0x100130ba
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x4c], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x100130ae
mov dword [esp + 0x10], ecx
jmp 0x100130d7
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x6c], 0x52a26f3f
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x100130c7
mov dword [esp + 0x4c], 3
cmp dword [esp + 0x4c], ecx
jl 0x10013112
mov ecx, dword [esp + 0x4c]
xor eax, eax
cmp ecx, esi
mov dword [esp + 0x78], ecx
mov dword [esp + 0x8c], ecx
sete al
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
dec dword [esp + 0x4c]
jns 0x100130ec
xor ecx, ecx
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffe7
jge 0x100130a8
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xffffffec
je 0x10013086
inc dword [esp + 0x24]
lea esi, [ebx - 0x1abf]
mov edx, dword [esp + 0x44]
mov ecx, edx
mov eax, dword [edx + 4]
cmp byte [eax + 0xd], 0
jne 0x1001316c
cmp dword [eax + 0x10], esi
jge 0x1001314f
mov eax, dword [eax + 8]
jmp 0x10013153
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x10013145
cmp ecx, edx
je 0x1001316c
cmp esi, dword [ecx + 0x10]
jl 0x1001316c
mov dword [esp + 0x40], ecx
lea esi, [esp + 0x40]
jmp 0x10013174
mov dword [esp + 0x34], edx
lea esi, [esp + 0x34]
mov esi, dword [esi]
xor ebx, ebx
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [esp + 0x10], 0xec2e0cf5
mov dword [esp + 0x20], 0x9ebf495e
mov dword [esp + 0x20], 0x58382bdb
mov dword [esp + 0x20], 0x3a00d0e7
mov dword [esp + 0x10], ebx
jmp 0x100131c3
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], bl
je 0x100131bf
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCurrentPositionEx]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 8
jl 0x100131a4
mov dword [esp + 0x10], ebx
jmp 0x10013229
mov dword [esp + 0x20], 0xe35
mov dword [esp + 0x24], 0x7af5af8b
mov dword [esp + 0x28], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
jmp 0x10013202
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x38], 0xffffffff
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 1
jl 0x100131f2
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
dec dword [esp + 0x18]
mov dword [esp + 0x38], 0x4c20f746
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffef
jle 0x100131d0
mov eax, dword [0x1416fe14]
test al, 1
jne 0x10013264
or eax, 1
mov dword [0x1416fe34], 7
mov dword [0x1416fe14], eax
xor eax, eax
push 0x1005d7fb
mov dword [0x1416fe30], ebx
mov word [0x1416fe20], ax
call fcn.10044382
pop ecx
xor ecx, ecx
mov dword [esp + 0x18], 0x7c7ce53d
mov dword [esp + 0x1c], ebx
inc ecx
jmp 0x10013281
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x2c], ebx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ecx
jl 0x10013275
mov dword [esp + 0x18], ebx
jmp 0x10013302
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x10], ebx
jmp 0x100132a7
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x2c], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1001329b
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + eax*4 + 0x2c]
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x2c], ecx
mov dword [esp + 0x10], ebx
jmp 0x100132f5
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], bl
je 0x100132de
push 0x24ba
push 0x542
push ebx
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], bl
je 0x100132f1
call edi
push eax
call dword [sym.imp.USER32.dll_IsWindow]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x100132c3
inc dword [esp + 0x18]
push 1
pop ecx
cmp dword [esp + 0x18], ebx
jle 0x1001328d
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], bl
je 0x1001331b
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
cmp esi, dword [esp + 0x44]
je 0x10013341
push dword [esi + 0x18]
mov edx, dword [esi + 0x14]
lea ecx, [esp + 0xcc]
call fcn.1000afe3
pop ecx
xor ebx, ebx
mov byte [esp + 0xec], 3
inc ebx
jmp 0x10013360
push 0x1416fe20
lea ecx, [esp + 0xb4]
call fcn.10007f20
push 2
mov dword [esp + 0xf0], 4
pop ebx
mov esi, dword [esp + 0x3c]
mov ecx, esi
push eax
mov dword [esp + 0x34], ebx
call fcn.10007f20
or ebx, 4
test bl, 2
je 0x1001338b
push 0
push 1
lea ecx, [esp + 0xb8]
and ebx, 0xfffffffd
call fcn.100056dd
test bl, 1
je 0x100133a0
push 0
push 1
lea ecx, [esp + 0xd0]
call fcn.100056dd
lea ecx, [esp + 0x44]
call fcn.10013483
mov ecx, dword [esp + 0xe4]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret