Function at 0x10104770
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 0x10391c9d
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x1049b0c0]
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 ebx, ecx
mov dword [ebp - 0x54], ebx
lea eax, [ebp - 0x28]
mov ecx, 0x10527cc0
push eax
call fcn.1004ed90
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x170]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0xb8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x101047f9
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527ec0
push eax
call fcn.10056120
mov dword [ebp - 4], 1
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x174]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0xc4], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104852
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527c40
push eax
call fcn.1004ebd0
mov dword [ebp - 4], 2
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x184]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0xcc], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x101048ab
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527e60
push eax
call fcn.10056200
mov dword [ebp - 4], 3
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x17c]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0xe8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104904
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527d60
push eax
call fcn.10056040
mov dword [ebp - 4], 4
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x174]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0xec], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x1010495d
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527e40
push eax
call fcn.1005b440
mov dword [ebp - 4], 5
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x170]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0xe0], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x101049b6
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527e00
push eax
call fcn.1005b440
mov dword [ebp - 4], 6
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x170]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0xc8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104a0f
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527d80
push eax
call fcn.1005b440
mov dword [ebp - 4], 7
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x174]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0x100], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104a68
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527c60
push eax
call fcn.10055f60
mov dword [ebp - 4], 8
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x174]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0xd0], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104ac1
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527ca0
push eax
call fcn.10056120
mov dword [ebp - 4], 9
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x174]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0xd4], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104b1a
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527c80
push eax
call fcn.10055f60
mov dword [ebp - 4], 0xa
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x170]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0xdc], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104b73
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527da0
push eax
call fcn.100562e0
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x178]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0xd8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104bcc
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527e80
push eax
call fcn.1005b440
mov dword [ebp - 4], 0xc
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x174]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0xf8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104c25
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527ce0
push eax
call fcn.1005b6e0
mov dword [ebp - 4], 0xd
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x180]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0xfc], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104c7e
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527dc0
push eax
call fcn.1005b440
mov dword [ebp - 4], 0xe
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x174]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0x114], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104cd7
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527d10
push eax
call fcn.100563c0
mov dword [ebp - 4], 0xf
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x198]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0x128], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104d30
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527f70
push eax
call fcn.10056200
mov dword [ebp - 4], 0x10
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x19c]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0x134], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104d89
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527f20
push eax
call fcn.10055f60
mov dword [ebp - 4], 0x11
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x1a0]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0x138], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104de2
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527f40
push eax
call fcn.100622f0
mov dword [ebp - 4], 0x12
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x174]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0x13c], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104e3b
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527ea0
push eax
call fcn.10056120
mov dword [ebp - 4], 0x13
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x1a4]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0x140], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104e94
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527e20
push eax
call fcn.1004ecb0
mov dword [ebp - 4], 0x14
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x16c]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0x148], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104eed
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527d30
push eax
call fcn.10062130
mov dword [ebp - 4], 0x15
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x174]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0x120], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104f46
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527de0
push eax
call fcn.1004ecb0
mov dword [ebp - 4], 0x16
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x170]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0x164], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104f9f
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
lea eax, [ebp - 0x28]
mov ecx, 0x10527f00
push eax
call fcn.10061bf0
mov dword [ebp - 4], 0x17
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x44]
mov edx, dword [ebx + 0x174]
cmova eax, dword [ebp - 0x28]
push eax
call fcn.10233a80
add esp, 4
mov eax, dword [eax]
mov dword [ebx + 0x14c], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x10104ff8
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.10034640
add esp, 0xc
push 0
mov edx, str.B9_________E8_________83_3D___________0F_84
mov ecx, 0x10465578
call fcn.10233990
add esp, 4
mov eax, dword [eax + 1]
mov eax, dword [eax + 0x30]
mov dword [ebx + 0x150], eax
mov eax, dword [ebx + 0xb8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x28]
lea eax, [ecx + 5]
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax]
mov dword [ebx + 0xbc], eax
mov eax, dword [0x110e5848]
mov eax, dword [eax]
mov dword [ebx + 0xf0], eax
mov eax, dword [0x1055cf80]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebx + 0xc0], eax
mov eax, dword [0x1055d194]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebx + 0xe4], eax
mov eax, dword [0x1055d054]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebx + 0x10c], eax
mov eax, dword [0x1055cffc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebx + 0x104], eax
mov eax, dword [0x110e5808]
mov eax, dword [eax]
mov dword [ebx + 0x108], eax
mov eax, dword [0x110e584c]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebx + 0x118], eax
mov eax, dword [0x1055cf2c]
mov eax, dword [eax]
mov dword [ebx + 0x110], eax
mov eax, dword [0x1055cf30]
mov eax, dword [eax]
mov dword [ebx + 0x130], eax
mov eax, dword [0x1055cf44]
call eax
add eax, 4
mov dword [ebx + 0x124], eax
mov edi, dword [0x1054bd00]
test edi, edi
jne 0x1010517e
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x44], ebx
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 0x50], ecx
cmp ecx, ebx
je 0x10105158
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x10105158
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 - 0x4c], ecx
dec edx
mov ebx, 0x3f4d5669
mov dword [ebp - 0x48], edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x1010514e
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 0x10105120
mov edx, dword [ebp - 0x48]
cmp ebx, 0xfb6af591
je 0x1010515c
mov ecx, dword [ebp - 0x4c]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x10105105
mov eax, dword [eax]
jmp 0x101050e0
mov eax, dword [ebp - 0x50]
mov esi, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x54]
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 [0x1054bd00], edi
lea eax, [ebp - 0x40]
mov ecx, 0x10527ee0
push eax
call fcn.10055f60
mov dword [ebp - 4], 0x18
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0xf
cmova eax, dword [ebp - 0x40]
push eax
push dword [ebx + 0x17c]
call edi
call eax
mov dword [ebx + 0x11c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, 0xf
jbe 0x101051c7
push eax
push dword [ebp - 0x40]
lea eax, [ebp - 0x40]
push eax
call fcn.10034640
add esp, 0xc
mov eax, dword [0x11b92258]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebx + 0x12c], eax
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.102fe398
mov esp, ebp
pop ebp
ret