Function at 0x10002c30
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10057de7
mov eax, dword fs:[0]
push eax
sub esp, 0x844
mov eax, dword [0x1006dd60]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push str._BookFolder__
lea ecx, [ebp - 0x828]
call fcn.1000fd00
push 0
lea eax, [ebp - 0x828]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.10044080
add esp, 0xc
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x821], al
lea ecx, [ebp - 0x828]
call fcn.1000fd80
movzx edx, byte [ebp - 0x821]
test edx, edx
je 0x10002d9b
push str._BookFolder__
call fcn.1002ac2e
add esp, 4
push eax
push 0
mov ecx, dword [ebp + 0xc]
call fcn.10004c60
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x818]
push ecx
call fcn.10002b70
add esp, 8
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x818]
call fcn.1000d230
push eax
lea edx, [ebp - 0x82c]
push edx
call fcn.10046250
add esp, 8
mov dword [ebp - 0x844], eax
mov eax, dword [ebp - 0x844]
mov dword [ebp - 0x848], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x848]
push ecx
lea ecx, [ebp - 0x818]
call fcn.1000f560
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x82c]
call fcn.1000fd80
lea ecx, [ebp - 0x818]
call fcn.1000d230
push eax
lea edx, [ebp - 0x81c]
push edx
call fcn.100468b0
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x81c]
call fcn.1000d230
push eax
push 0
mov ecx, dword [ebp + 0xc]
call fcn.10004d20
mov dword [ebp - 0x830], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x81c]
call fcn.1000fd80
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x818]
call fcn.1000fd80
mov eax, dword [ebp - 0x830]
jmp 0x10002ef7
push str._MyBooksFolder__
lea ecx, [ebp - 0x838]
call fcn.1000fd00
push 0
lea eax, [ebp - 0x838]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.10044080
add esp, 0xc
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x831], al
lea ecx, [ebp - 0x838]
call fcn.1000fd80
movzx edx, byte [ebp - 0x831]
test edx, edx
je 0x10002ea1
push str._MyBooksFolder__
call fcn.1002ac2e
add esp, 4
push eax
push 0
mov ecx, dword [ebp + 0xc]
call fcn.10004c60
lea eax, [ebp - 0x820]
push eax
call fcn.10054a90
add esp, 4
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x820]
call fcn.1000d230
push eax
lea ecx, [ebp - 0x83c]
push ecx
call fcn.10046250
add esp, 8
mov dword [ebp - 0x84c], eax
mov edx, dword [ebp - 0x84c]
mov dword [ebp - 0x850], edx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x850]
push eax
lea ecx, [ebp - 0x820]
call fcn.1000f560
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x83c]
call fcn.1000fd80
lea ecx, [ebp - 0x820]
call fcn.1000d230
push eax
push 0
mov ecx, dword [ebp + 0xc]
call fcn.10004d20
mov dword [ebp - 0x840], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x820]
call fcn.1000fd80
mov eax, dword [ebp - 0x840]
jmp 0x10002ef7
xor ecx, ecx
mov word [ebp - 0x814], cx
push 0x7fe
push 0
lea edx, [ebp - 0x812]
push edx
call fcn.1002c440
add esp, 0xc
push 0x400
lea eax, [ebp - 0x814]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.1000d230
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
jne 0x10002ee3
xor eax, eax
jmp 0x10002ef7
lea ecx, [ebp - 0x814]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.1000fce0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002ac1f
mov esp, ebp
pop ebp
ret