Function at 0x1005c5f0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1018b895
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x102a67c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x38], ecx
mov eax, dword [0x10bfd69c]
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x1005c6dd
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x34], ebx
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 0x40], ecx
cmp ecx, ebx
je 0x1005c6b8
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x1005c6b8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, ebx
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, ebx
mov dword [ebp - 0x30], ecx
dec edx
mov edi, 0x9e9e6bd9
mov dword [ebp - 0x2c], edx
mov bl, byte [esi]
inc esi
test bl, bl
je 0x1005c6b1
movsx edx, bl
lea esi, [esi + 1]
sub bl, 0x41
mov ecx, edx
or ecx, 0x20
cmp bl, 0x19
mov bl, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test bl, bl
jne 0x1005c680
mov edx, dword [ebp - 0x2c]
cmp edi, 0xebc86e81
je 0x1005c6bc
mov ecx, dword [ebp - 0x30]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x1005c665
mov eax, dword [eax]
jmp 0x1005c640
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x34]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
mov dword [ebp - 0x30], eax
mov dword [0x10bfd69c], eax
cmp byte [0x10293710], 0
je 0x1005c757
cmp byte [0x10293711], 0
jne 0x1005c7b5
xor esi, esi
mov byte [0x10293711], 1
mov dword [ebp - 0x2c], esi
nop
xor esi, dword [0x10293728]
xor edi, edi
xor edi, dword [0x1029372c]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ebx, esi
shrd ebx, edx, 7
xor ebx, esi
shr edx, 7
mov esi, dword [ebp - 0x2c]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, bl
xor byte [esi + 0x10293712], cl
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x11
jb 0x1005c700
jmp 0x1005c7b5
xor esi, esi
mov dword [ebp - 0x2c], esi
nop dword [eax]
xor esi, dword [0x10293728]
xor edi, edi
xor edi, dword [0x1029372c]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ebx, esi
shrd ebx, edx, 7
xor ebx, esi
shr edx, 7
mov esi, dword [ebp - 0x2c]
xor edx, edi
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, bl
xor byte [esi + 0x10293712], cl
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x11
jb 0x1005c760
lea eax, [ebp - 0x39]
push eax
push 0x10293722
push 0x10293712
lea ecx, [ebp - 0x28]
call fcn.10027a10
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x28]
mov eax, dword [0x102a7958]
cmova ecx, dword [ebp - 0x28]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov dword [ebp - 4], 0
push ecx
push dword [eax + 0x18c]
call dword [ebp - 0x30]
mov ebx, dword [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
mov dword [ebx + 0x130], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x1005c81e
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.100163b0
add esp, 0xc
mov edi, dword [0x10bfd698]
test edi, edi
jne 0x1005c8de
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x2c], ebx
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 0x40], ecx
cmp ecx, ebx
je 0x1005c8b8
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x1005c8b8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, ebx
mov edi, dword [ecx - 4]
sub ecx, 4
add edi, ebx
mov dword [ebp - 0x34], ecx
dec edx
mov ebx, 0xd313e496
mov dword [ebp - 0x30], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x1005c8ae
movsx esi, cl
lea edi, [edi + 1]
sub cl, 0x41
mov edx, esi
or edx, 0x20
cmp cl, 0x19
mov cl, byte [edi - 1]
cmova edx, esi
xor edx, ebx
imul ebx, edx, 0x1000193
test cl, cl
jne 0x1005c880
mov edx, dword [ebp - 0x30]
cmp ebx, 0x9c7002b6
je 0x1005c8bc
mov ecx, dword [ebp - 0x34]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x1005c865
mov eax, dword [eax]
jmp 0x1005c840
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x38]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
mov dword [0x10bfd698], edi
lea eax, [ebp - 0x28]
mov ecx, 0x10293730
push eax
call fcn.1002f670
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x28]
mov eax, dword [0x102a7958]
cmova ecx, dword [ebp - 0x28]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov dword [ebp - 4], 1
push ecx
push dword [eax + 0x18c]
call edi
mov dword [ebx + 0x134], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0xf
jbe 0x1005c93b
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.100163b0
add esp, 0xc
mov ecx, ebx
call fcn.1005bb10
mov ecx, dword [ebx + 8]
mov edi, eax
sub ecx, dword [ebx]
sar ecx, 3
mov dword [ebp - 0x34], edi
cmp edi, ecx
jbe 0x1005c966
cmp edi, 0x1fffffff
ja 0x1005c9be
lea eax, [ebp - 0x34]
mov ecx, ebx
push eax
call fcn.1005aee0
xor esi, esi
test edi, edi
jle 0x1005c9a2
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x30], 0x1005ccb0
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x30]
push ecx
push eax
cmp eax, dword [ebx + 8]
je 0x1005c996
push ebx
call fcn.1005aff0
add esp, 0x10
add dword [ebx + 4], 8
jmp 0x1005c99d
mov ecx, ebx
call fcn.1005ad30
inc esi
cmp esi, edi
jl 0x1005c976
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10184b39
mov esp, ebp
pop ebp
ret
call fcn.10016da0
int3