Function at 0x1002e02f
Capabilities:
Allocate thread local storage
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100677c8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0xec
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x64], 0x4d64
mov dword [ebp - 0x94], 0x10009c70
cmp dword [ebp - 0x64], 0x4e19
jle 0x1002e10d
and dword [ebp - 0x40], 0
jmp 0x1002e07f
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xb66
jge 0x1002e10d
and dword [ebp - 0x28], 0
jmp 0x1002e099
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x5d3c
jge 0x1002e108
and dword [ebp - 0x48], 0
jmp 0x1002e0af
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x405b
jge 0x1002e106
mov eax, dword [ebp - 0x40]
xor eax, dword [ebp - 0x28]
or eax, dword [ebp - 0x48]
cdq
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
lea ecx, [ebp - 0xe4]
call fcn.1000d08a
pop ecx
pop ecx
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x70]
call fcn.10019cd9
push eax
call fcn.10051966
pop ecx
lea ecx, [ebp - 0xe4]
call fcn.10019ccf
jmp 0x1002e0a8
jmp 0x1002e092
jmp 0x1002e078
movzx eax, byte [ebp + 8]
test eax, eax
je 0x1002e4fe
mov dword [ebp - 0x58], 0x6f81
mov dword [ebp - 0x68], 0x10009c90
cmp dword [ebp - 0x58], 0x714e
jle 0x1002e1a6
and dword [ebp - 0x38], 0
jmp 0x1002e13d
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x636d
jge 0x1002e1a6
and dword [ebp - 0x30], 0
jmp 0x1002e153
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x7a5b
jge 0x1002e1a4
and dword [ebp - 0x54], 0
jmp 0x1002e169
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x1530
jge 0x1002e1a2
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x54]
shl eax, cl
or eax, dword [ebp - 0x38]
cdq
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], edx
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
mov ecx, 0x10610418
call fcn.10019cf9
jmp 0x1002e162
jmp 0x1002e14c
jmp 0x1002e136
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xa4], eax
and dword [ebp - 4], 0
cmp dword [ebp - 0x58], 0x6ba2
jge 0x1002e1c9
mov edx, dword [ebp - 0x68]
mov ecx, 0x10610418
call fcn.1001c204
jmp 0x1002e1e5
or dword [ebp - 4], 0xffffffff
jmp 0x1002e1ef
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0xc8], eax
lea eax, [ebp + 0x14]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xbc]
movzx eax, byte [eax]
test eax, eax
je 0x1002e380
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x18]
mov dword [eax], 0
jmp 0x1002e25b
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
cmp dword [eax], 3
jg 0x1002e37b
mov dword [ebp - 0x60], 0x2fc2
mov dword [ebp - 0xb0], 0x10009d18
cmp dword [ebp - 0x60], 0x3135
jle 0x1002e319
and dword [ebp - 0x24], 0
jmp 0x1002e292
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x437
jge 0x1002e319
and dword [ebp - 0x50], 0
jmp 0x1002e2a8
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0x523f
jge 0x1002e314
and dword [ebp - 0x20], 0
jmp 0x1002e2be
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x37a0
jge 0x1002e312
and dword [ebp - 0x4c], 0
jmp 0x1002e2d4
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x6c3c
jge 0x1002e310
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
shl eax, cl
cdq
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
mov ecx, 0x10610418
call fcn.10019cf9
jmp 0x1002e2cd
jmp 0x1002e2b7
jmp 0x1002e2a1
jmp 0x1002e28b
mov eax, dword [ebp - 0x18]
push dword [eax]
mov ecx, dword [ebp - 0x88]
call fcn.10019fc8
cmp dword [eax], 0
je 0x1002e330
jmp 0x1002e37b
mov dword [ebp - 4], 2
cmp dword [ebp - 0x60], 0x2f54
jge 0x1002e350
mov edx, dword [ebp - 0xb0]
mov ecx, 0x10610418
call fcn.1001c204
jmp 0x1002e36c
or dword [ebp - 4], 0xffffffff
jmp 0x1002e376
jmp 0x1002e250
jmp 0x1002e4fc
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x5c], 0x1549
mov dword [ebp - 0x84], 0x10009d78
cmp dword [ebp - 0x5c], 0x15db
jle 0x1002e47b
and dword [ebp - 0x2c], 0
jmp 0x1002e3bd
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x1d77
jge 0x1002e47b
and dword [ebp - 0x34], 0
jmp 0x1002e3d7
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x530d
jge 0x1002e476
and dword [ebp - 0x3c], 0
jmp 0x1002e3f1
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x48eb
jge 0x1002e471
and dword [ebp - 0x44], 0
jmp 0x1002e407
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x1122
jge 0x1002e46c
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x3c]
cdq
idiv dword [ebp - 0x44]
mov eax, edx
cdq
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
lea ecx, [ebp - 0xfc]
call fcn.1000d08a
pop ecx
pop ecx
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x98]
call fcn.10019cd9
push eax
call fcn.10051966
pop ecx
lea ecx, [ebp - 0xfc]
call fcn.10019ccf
jmp 0x1002e400
jmp 0x1002e3ea
jmp 0x1002e3d0
jmp 0x1002e3b6
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0
jmp 0x1002e49d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 3
jge 0x1002e4ba
mov eax, dword [ebp - 0x1c]
push dword [eax]
mov ecx, dword [ebp - 0x7c]
call fcn.10019fc8
mov dword [eax], 7
jmp 0x1002e492
mov dword [ebp - 4], 4
cmp dword [ebp - 0x5c], 0x1487
jge 0x1002e4d6
push dword [ebp - 0x84]
call fcn.10051966
pop ecx
jmp 0x1002e4f2
or dword [ebp - 4], 0xffffffff
jmp 0x1002e4fc
jmp 0x1002e537
lea eax, [ebp + 0x1c]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
movzx eax, byte [eax]
test eax, eax
je 0x1002e51c
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
jmp 0x1002e537
mov byte [ebp - 0x11], 0
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x1002e537
push 0x1cf3
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
mov dword [ebp - 4], 6
cmp dword [ebp - 0x64], 0x49c6
jge 0x1002e553
push dword [ebp - 0x94]
call fcn.10051966
pop ecx
jmp 0x1002e56f
or dword [ebp - 4], 0xffffffff
jmp 0x1002e579
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret