Function at 0x100278a0
Capabilities:
Get file attributes
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005d117
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x144
push esi
jmp 0x100278db
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
add eax, 4
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
add eax, 4
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp dword [eax], 0
je 0x10028076
mov dword [ebp - 0x11c], 1
mov dword [ebp - 0x118], 1
mov dword [ebp - 0x114], 1
mov dword [ebp - 0x110], 1
lea ecx, [ebp - 0x45]
call fcn.10013566
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x148]
call fcn.10013569
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x140]
call fcn.1001352c
mov dword [ebp - 0x38], 0x184c506d
mov dword [ebp - 0x38], 3
jmp 0x1002795a
mov eax, dword [ebp - 0x38]
dec eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jl 0x1002798c
mov byte [ebp - 0x1e], 0
movzx eax, byte [ebp - 0x1e]
test eax, eax
je 0x1002798a
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
jmp 0x10027953
lea ecx, [ebp - 0x140]
call fcn.10013552
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0x80000000
je 0x10027bf0
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x108], 9
mov dword [ebp - 0x104], 9
mov dword [ebp - 0x100], 9
mov dword [ebp - 0xfc], 9
lea ecx, [ebp - 0x4d]
call fcn.10013566
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x150]
call fcn.10013569
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0xc8]
call fcn.1001352c
and dword [ebp - 4], 0
mov dword [ebp - 0x40], 0x6c19
mov dword [ebp - 0x6c], 1
mov dword [ebp - 0x44], 0x2e26595a
mov dword [ebp - 0x3c], 0xee91b76e
mov dword [ebp - 0xbc], 0x4d8d955a
cmp dword [ebp - 0x24], 0
je 0x10027acb
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x130], eax
push 3
lea ecx, [ebp - 0xc8]
call fcn.10013557
cmp dword [eax], 0
jne 0x10027a6b
mov eax, 0x694d2b5f
test eax, eax
jne 0x10027a6b
and dword [ebp - 0xb0], 0
jmp 0x10027a75
mov dword [ebp - 0xb0], 1
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0xb0]
jne 0x10027a8c
mov dword [ebp - 0xcc], 1
jmp 0x10027a93
and dword [ebp - 0xcc], 0
push 3
lea ecx, [ebp - 0xc8]
call fcn.10013557
push 3
lea ecx, [ebp - 0xc8]
call fcn.10013557
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x40], 0x9900
jge 0x10027acb
mov dword [ebp - 0xac], 1
jmp 0x10027ad2
and dword [ebp - 0xac], 0
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0xac]
jge 0x10027ae9
mov dword [ebp - 0xe4], 1
jmp 0x10027af0
and dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x128], eax
or eax, 0xffffffff
jne 0x10027b02
cmp dword [ebp - 0x6c], 0
push 3
lea ecx, [ebp - 0xc8]
call fcn.10013557
mov esi, eax
push 3
lea ecx, [ebp - 0xc8]
call fcn.10013557
mov ecx, dword [esi]
sub ecx, dword [eax]
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x3c], eax
mov esi, dword [ebp - 0x3c]
push 3
lea ecx, [ebp - 0xc8]
call fcn.10013557
cmp esi, dword [eax]
je 0x10027b48
mov dword [ebp - 0x64], 1
jmp 0x10027b4c
and dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x64], eax
jle 0x10027b60
mov dword [ebp - 0xb4], 1
jmp 0x10027b67
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0x6c], 0
je 0x10027b82
mov dword [ebp - 0x78], 1
jmp 0x10027b86
and dword [ebp - 0x78], 0
mov eax, dword [ebp - 0xbc]
cmp eax, dword [ebp - 0x78]
je 0x10027b9a
mov dword [ebp - 0x74], 1
jmp 0x10027b9e
and dword [ebp - 0x74], 0
mov dword [ebp - 0x3c], 1
mov eax, dword [ebp - 0x74]
neg eax
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc8]
call fcn.10013552
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xffff
push eax
mov eax, dword [ebp + 8]
push dword [eax]
push 0x2c53
push 0x26f7
call fcn.1001fc2a
pop ecx
pop ecx
call eax
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
mov dword [ecx], eax
jmp 0x10027cab
mov dword [ebp - 0x120], 0x2e0cf572
mov byte [ebp - 0x20], 0
movzx eax, byte [ebp - 0x20]
test eax, eax
je 0x10027c0e
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov byte [ebp - 0x1f], 0
movzx eax, byte [ebp - 0x1f]
test eax, eax
je 0x10027c22
push 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
add ecx, dword [eax]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x28], 0x831713b9
mov dword [ebp - 0x28], 0
jmp 0x10027c49
mov eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffe6
jle 0x10027c83
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x2c], 0
jmp 0x10027c66
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xfffffff8
jg 0x10027c81
mov dword [ebp - 0xdc], 3
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xdc], eax
jmp 0x10027c5f
jmp 0x10027c42
mov eax, dword [ebp - 0xd8]
inc eax
inc eax
push eax
mov eax, dword [ebp + 8]
push dword [eax]
push 0x2c53
push 0x26f7
call fcn.1001fc2a
pop ecx
pop ecx
call eax
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
mov dword [ecx], eax
mov dword [ebp - 0x10], 6
mov byte [ebp - 0x1d], 0
movzx eax, byte [ebp - 0x1d]
test eax, eax
je 0x10027ccb
push 0
push 0xa91
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov dword [ebp - 0x10], 0xfffffff1
jmp 0x10027cdb
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffe2
jle 0x10027dea
mov dword [ebp - 0x4c], 0x54c3
mov dword [ebp - 0xa0], 0x4b0b4ef6
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x98], 0x8331c587
mov dword [ebp - 0xe8], 0xffffffff
cmp dword [ebp - 0x4c], 0
je 0x10027d1c
jmp 0x10027dea
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x10027d31
cmp dword [ebp - 0x10], 0
cmp dword [ebp - 0x10], 0xfffffffb
je 0x10027d43
mov dword [ebp - 0xb8], 1
jmp 0x10027d4a
and dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0xb8], eax
jge 0x10027d5e
mov dword [ebp - 0x80], 1
jmp 0x10027d62
and dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0xfffffffc
jl 0x10027d80
mov dword [ebp - 0x88], 1
jmp 0x10027d87
and dword [ebp - 0x88], 0
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x58], eax
jl 0x10027da4
mov dword [ebp - 0x90], 1
jmp 0x10027dab
and dword [ebp - 0x90], 0
imul eax, dword [ebp - 0x90], 0xff23
cmp dword [ebp - 0x4c], eax
jge 0x10027dc6
mov dword [ebp - 0xa8], 1
jmp 0x10027dcd
and dword [ebp - 0xa8], 0
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xe8], eax
jmp 0x10027cd4
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
cmp dword [eax], 0
jne 0x10028071
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x84], 0x4fdd
mov dword [ebp - 0x1c], 0xffffffff
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x12c], eax
push 6
pop eax
test eax, eax
je 0x10027e36
mov eax, dword [ebp - 0x14]
neg eax
mov dword [ebp - 0x1c], eax
je 0x10027e36
mov dword [ebp - 0x70], 1
jmp 0x10027e3a
and dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x70]
jne 0x10027ea8
mov dword [ebp - 0x30], 0
jmp 0x10027e52
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 1
jge 0x10027e68
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xe0], 0xffffffff
jmp 0x10027e4b
mov dword [ebp - 0x14], 0
jmp 0x10027e78
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jg 0x10027ea6
mov dword [ebp - 0x1c], 0
jmp 0x10027e8e
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jge 0x10027ea4
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe0], 0x1dfe0091
jmp 0x10027e87
jmp 0x10027e71
jmp 0x10027efa
mov dword [ebp - 0xd4], 0xa32f
mov dword [ebp - 0x14], 0xfffffff2
jmp 0x10027ec2
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x20
je 0x10027ef0
mov dword [ebp - 0xd0], 1
cmp dword [ebp - 0xd0], 0
jne 0x10027ee4
mov dword [ebp - 0x7c], 1
jmp 0x10027ee8
and dword [ebp - 0x7c], 0
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x1c], eax
jmp 0x10027ebb
mov dword [ebp - 0xd4], 0x773672d7
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x18]
and dword [eax], 0
mov dword [ebp - 0x18], 0xfffffff8
mov dword [ebp - 0x18], 0
jmp 0x10027f20
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffffd
jl 0x1002806f
push 1
lea ecx, [ebp - 0xf4]
call fcn.100134ea
mov dword [ebp - 4], 1
mov dword [ebp - 0x54], 0xb5c6f8b8
mov dword [ebp - 0x68], 0x5a592c6e
mov dword [ebp - 0x34], 0
jmp 0x10027f5c
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 1
jge 0x10027f78
push dword [ebp - 0x34]
lea ecx, [ebp - 0xf4]
call fcn.10013557
mov dword [eax], 0xfff8
jmp 0x10027f55
cmp dword [ebp - 0x18], 5
jl 0x10027f8a
mov dword [ebp - 0x8c], 1
jmp 0x10027f91
and dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x8c]
jge 0x10027fa8
mov dword [ebp - 0xa4], 1
jmp 0x10027faf
and dword [ebp - 0xa4], 0
push 0
lea ecx, [ebp - 0xf4]
call fcn.10013557
mov ecx, dword [ebp - 0x18]
cmp dword [eax], ecx
jl 0x10027fcf
mov dword [ebp - 0x94], 1
jmp 0x10027fd6
and dword [ebp - 0x94], 0
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x54], eax
mov esi, dword [ebp - 0x54]
push 0
lea ecx, [ebp - 0xf4]
call fcn.10013557
cmp esi, dword [eax]
je 0x10027fff
mov dword [ebp - 0x9c], 1
jmp 0x10028006
and dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x9c], eax
jle 0x1002802c
push 0
lea ecx, [ebp - 0xf4]
call fcn.10013557
cmp dword [eax], 0
je 0x1002802c
mov dword [ebp - 0x5c], 1
jmp 0x10028030
and dword [ebp - 0x5c], 0
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x5c]
jge 0x10028044
mov dword [ebp - 0x60], 1
jmp 0x10028048
and dword [ebp - 0x60], 0
xor eax, eax
inc eax
sub eax, dword [ebp - 0x60]
imul eax, dword [ebp - 0x18]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x54], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf4]
call fcn.10013552
jmp 0x10027f19
jmp 0x10028076
jmp 0x100278c1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret