Function at 0x4195db
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
sub esp, 0xd0
mov eax, dword [0x4e2040]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov esi, ecx
mov edi, edx
push 0x4d15c4
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0xcc], esi
call fcn.0041a24d
cmp dword [ebx + 0x14], 7
pop ecx
mov ecx, dword [ebx + 0x10]
jbe 0x419617
mov ebx, dword [ebx]
push ecx
push ebx
mov ecx, eax
call fcn.0040c05e
push eax
lea ecx, [ebp - 0x54]
call fcn.0040c17b
lea ecx, [ebp - 0x3c]
call fcn.0040c4e8
cmp dword [ebp - 0x40], 7
lea ecx, [ebp - 0x54]
cmova ecx, dword [ebp - 0x54]
call fcn.00438719
test eax, eax
jne 0x419654
xor ebx, ebx
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x419f1f
call fcn.00419f38
xor ebx, ebx
mov dword [ebp - 0xa0], eax
cmp byte [eax + 0xa], bl
je 0x419686
push 0xef379d67
push 0xb145a519
push ebx
push 5
mov ecx, eax
call fcn.00407f3c
mov eax, dword [ebp - 0xa0]
add esp, 0x10
mov byte [eax + 0xa], bl
push eax
lea ecx, [ebp - 0xc8]
call fcn.0040c1e2
cmp dword [edi + 0x14], 7
mov ecx, dword [edi + 0x10]
jbe 0x41969d
mov edi, dword [edi]
push ecx
push edi
mov ecx, eax
call fcn.0040c05e
push eax
lea ecx, [ebp - 0x3c]
call fcn.0040c17b
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x84]
call fcn.0043605d
lea ecx, [ebp - 0x3c]
call fcn.0040c4e8
lea ecx, [ebp - 0xc8]
call fcn.0040c4e8
cmp dword [ebp - 0x70], 0xf
lea eax, [ebp - 0x84]
cmova eax, dword [ebp - 0x84]
push eax
call dword [0x4e5d78]
pop ecx
test eax, eax
je 0x4196fa
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
jmp 0x419f14
call dword [0x4e5d4c]
mov dword [0x4e5d54], eax
test eax, eax
jne 0x419711
call dword [0x4e5d74]
jmp 0x4196ed
push 0x4c8c24
push eax
call dword [0x4e5d58]
pop ecx
pop ecx
test eax, eax
je 0x419732
push dword [0x4e5d54]
call dword [0x4e5d5c]
pop ecx
jmp 0x419709
push ebx
push 1
push dword [0x4e5d54]
call dword [0x4e5d64]
add esp, 0xc
test eax, eax
jne 0x419723
cmp dword [ebp - 0x40], 7
lea edi, [ebp - 0x34]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x34]
push ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x54]
cmova eax, dword [ebp - 0x54]
push eax
call fcn.00416912
cmp byte [ebp - 0x34], bl
jne 0x419896
push dword [0x4e5d54]
call dword [0x4e5d5c]
pop ecx
call dword [0x4e5d74]
mov ecx, dword [ebp - 0x30]
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
test ecx, ecx
je 0x419f14
mov eax, dword [0x4e5c5c]
test eax, eax
jne 0x41988e
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [ebp - 0xa4], ecx
cmp ecx, edi
je 0x41985e
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x41985e
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
sub ecx, 4
mov dword [ebp - 0xa0], 0xac2cb299
dec edx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x94], edx
mov ebx, dword [ecx]
add ebx, edi
mov dl, byte [ebx]
inc ebx
mov byte [ebp - 0x85], dl
test dl, dl
mov edx, dword [ebp - 0x94]
je 0x419856
mov cl, byte [ebp - 0x85]
mov edx, dword [ebp - 0xa0]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [ebx]
inc ebx
test cl, cl
jne 0x419816
cmp edx, 0xc312cdc0
je 0x419865
mov edx, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x90]
test edx, edx
jne 0x4197d9
mov eax, dword [eax]
jmp 0x4197ac
mov edx, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x94]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax + edi]
add eax, edi
mov dword [0x4e5c5c], eax
push ecx
call eax
jmp 0x419f14
push ecx
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
call fcn.00410903
cmp dword [ebp - 0x58], 0xf
lea eax, [ebp - 0x6c]
push dword [ebp - 0x2c]
cmova eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x34]
push eax
call fcn.00416d4b
mov edi, dword fs:[0x2c]
push 0x18
pop eax
mov byte [ebp - 0xbb], al
mov edi, dword [edi]
mov byte [ebp - 0xbc], 0x33
mov dword [ebp - 0xba], 0x2cfdbb16
mov word [ebp - 0xb6], 0x4ce6
mov eax, dword [edi + 0x86c]
mov byte [ebp - 0xb4], 0x5b
test al, 1
jne 0x41994d
xorps xmm0, xmm0
mov byte [edi + 0x941], 1
movlpd qword [ebp - 0x9c], xmm0
or eax, 1
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x9c]
mov dword [edi + 0x86c], eax
mov al, byte [ebp + ecx - 0xbc]
mov byte [ecx + edi + 0x938], al
add ecx, 1
adc edx, ebx
cmp edx, ebx
ja 0x419942
cmp ecx, 9
jb 0x419926
push 0x4bf3cf
call fcn.004b0dd6
pop ecx
lea eax, [edi + 0x938]
cmp byte [eax + 9], bl
je 0x419978
push 0x298b4d93
push 0xcf65775b
push ebx
push 9
mov ecx, eax
call fcn.00407ee8
lea eax, [edi + 0x938]
add esp, 0x10
mov byte [eax + 9], bl
movaps xmm0, xmmword [0x4d85d0]
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x884]
mov word [ebp - 0xb4], 0x773e
movups xmmword [ebp - 0xc4], xmm0
test al, 1
jne 0x4199ea
xorps xmm0, xmm0
mov byte [edi + 0x82e], 1
movlpd qword [ebp - 0x9c], xmm0
or eax, 1
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x9c]
mov dword [edi + 0x884], eax
mov al, byte [ebp + ecx - 0xc4]
mov byte [ecx + edi + 0x81c], al
add ecx, 1
adc edx, ebx
cmp edx, ebx
ja 0x4199df
cmp ecx, 0x12
jb 0x4199c3
push 0x4bf3bc
call fcn.004b0dd6
pop ecx
lea ecx, [edi + 0x81c]
call fcn.0041a0bf
movaps xmm0, xmmword [0x4d8620]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0x84c]
mov word [ebp - 0xb4], 0x773f
movups xmmword [ebp - 0xc4], xmm0
test al, 1
jne 0x419a67
xorps xmm0, xmm0
mov byte [edi + 0x976], 1
movlpd qword [ebp - 0x9c], xmm0
or eax, 1
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x9c]
mov dword [edi + 0x84c], eax
mov al, byte [ebp + ecx - 0xc4]
mov byte [ecx + edi + 0x964], al
add ecx, 1
adc edx, ebx
cmp edx, ebx
ja 0x419a5c
cmp ecx, 0x12
jb 0x419a40
push 0x4bf3a9
call fcn.004b0dd6
pop ecx
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
add ecx, 0x964
call fcn.0041a0bf
mov dword [ebp - 0xc], eax
mov edi, ebx
lea eax, [ebp - 0x14]
mov dword [ebp - 0xa0], eax
mov eax, dword [eax]
mov edx, eax
mov dword [ebp - 0x94], eax
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x419a95
sub edx, ecx
cmp dword [ebp - 0x58], 0xf
push edx
push dword [ebp - 0x94]
mov edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x6c]
cmova ecx, dword [ebp - 0x6c]
push edi
call fcn.00410b08
add esp, 0xc
cmp eax, 0xffffffff
je 0x419ea1
inc eax
mov dword [ebp - 0xa4], eax
mov eax, dword [0x4e5ca0]
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x419bdb
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [ebp - 0xb0], ecx
cmp ecx, edi
je 0x419ba8
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x419ba8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
sub ecx, 4
mov dword [ebp - 0xa8], 0x28b13f74
mov dword [ebp - 0xac], ecx
dec edx
mov dword [ebp - 0x8c], edx
mov ecx, dword [ecx]
add ecx, edi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x90], ecx
mov cl, dl
mov byte [ebp - 0x85], dl
mov edx, dword [ebp - 0x8c]
test cl, cl
je 0x419b9a
mov edi, dword [ebp - 0x90]
mov edx, dword [ebp - 0xa8]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x419b5d
mov edi, dword [eax + 0x18]
cmp edx, 0x606e23d9
je 0x419baf
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xac]
test edx, edx
jne 0x419b18
mov eax, dword [eax]
jmp 0x419aeb
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
mov dword [ebp - 0x90], eax
mov dword [0x4e5ca0], eax
mov edi, dword [0x4e5c9c]
test edi, edi
jne 0x419ce7
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [ebp - 0x98], ecx
cmp ecx, edi
je 0x419cb2
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x419cb2
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
sub ecx, 4
mov dword [ebp - 0xac], 0x8d8ac2c3
mov dword [ebp - 0xa8], ecx
dec edx
mov dword [ebp - 0x8c], edx
mov ecx, dword [ecx]
add ecx, edi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0xb0], ecx
mov cl, dl
mov byte [ebp - 0x85], dl
mov edx, dword [ebp - 0x8c]
test cl, cl
je 0x419ca4
mov edi, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x419c67
mov edi, dword [eax + 0x18]
cmp edx, 0x6988ecdc
je 0x419cb9
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xa8]
test edx, edx
jne 0x419c22
mov eax, dword [eax]
jmp 0x419bf5
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edi]
add eax, edi
mov dword [ebp - 0x98], eax
mov edi, eax
mov dword [0x4e5c9c], eax
push dword [ebp - 0x94]
call dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa4]
add eax, 2
add eax, ecx
push eax
push ecx
lea ecx, [ebp - 0x6c]
call fcn.004108ca
push dword [ebp - 0x94]
mov dword [ebp - 0x90], eax
call edi
mov edi, dword [ebp - 0xa4]
push 0xfffffffffffffffe
pop ecx
sub ecx, edi
sub ecx, eax
add dword [ebp - 0x90], ecx
mov ecx, dword [0x4e5c84]
test ecx, ecx
jne 0x419e34
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [ebp - 0xa8], ecx
cmp ecx, edi
je 0x419e00
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x419e00
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
sub ecx, 4
mov dword [ebp - 0xb0], 0x9022e747
mov dword [ebp - 0xac], ecx
dec edx
mov dword [ebp - 0x8c], edx
mov ecx, dword [ecx]
add ecx, edi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x98], ecx
mov cl, dl
mov byte [ebp - 0x85], dl
mov edx, dword [ebp - 0x8c]
test cl, cl
je 0x419df2
mov edi, dword [ebp - 0x98]
mov edx, dword [ebp - 0xb0]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x419db5
mov edi, dword [eax + 0x18]
cmp edx, 0x6b88d864
je 0x419e07
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xac]
test edx, edx
jne 0x419d70
mov eax, dword [eax]
jmp 0x419d43
mov edx, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + edi]
add ecx, edi
mov edi, dword [ebp - 0xa4]
mov dword [0x4e5c84], ecx
push dword [ebp - 0x94]
call ecx
mov ecx, dword [ebp - 0x90]
add eax, 2
push ecx
add eax, edi
lea ecx, [ebp - 0x6c]
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.0041087b
mov ecx, dword [ebp - 0x1c]
push eax
cmp ecx, dword [ebp - 0x18]
je 0x419e6e
call fcn.0040c2f2
push 0x18
pop eax
add dword [ebp - 0x1c], eax
jmp 0x419e77
push ecx
lea ecx, [ebp - 0x20]
call fcn.0041a3c1
lea ecx, [ebp - 0xc8]
call fcn.0040bd96
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 8]
add eax, 4
mov dword [ebp - 0xa0], eax
cmp eax, ecx
jne 0x419a88
jmp 0x419a7f
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov dword [esi + 4], ecx
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov dword [esi], eax
mov dword [esi + 8], edx
call fcn.0040bd96
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x419f0c
mov eax, dword [ebp - 0x1c]
cmp edi, eax
je 0x419eee
push 0x18
mov esi, eax
pop ebx
mov ecx, edi
call fcn.0040bd96
add edi, ebx
cmp edi, esi
jne 0x419ed6
mov edi, dword [ebp - 0x20]
xor ebx, ebx
mov esi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x18]
sub eax, edi
push 0x18
pop ecx
cdq
idiv ecx
mov ecx, edi
imul edx, eax, 0x18
call fcn.0040d759
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x34]
call fcn.00416c55
lea ecx, [ebp - 0x84]
call fcn.0040bd96
lea ecx, [ebp - 0x54]
call fcn.0040c4e8
mov ecx, dword [ebp - 8]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b0ce6
leave
ret