Function at 0x4360db
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, 0x4c
mov eax, dword [0x4e2040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x34], eax
mov ebx, ecx
mov eax, dword [ebp + 0xc]
push esi
xor esi, esi
mov dword [ebp - 0x40], eax
mov eax, dword [0x4e6550]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 8], esi
push edi
test eax, eax
jne 0x4361d5
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x30], ecx
cmp ecx, esi
je 0x4361af
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4361af
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov edx, 0x759dd04d
mov dword [ebp - 0x48], ecx
dec edi
mov dword [ebp - 0x2c], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x44], ecx
test dl, dl
je 0x4361a8
mov ebx, dword [ebp - 0x2c]
mov esi, ecx
movsx ecx, dl
xor ecx, ebx
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
mov dl, byte [esi]
imul ebx, ecx, 0x1000193
inc esi
test dl, dl
jne 0x43616a
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], 0x7ead4e95
mov ebx, dword [ebp - 0x3c]
je 0x4361b6
mov ecx, dword [ebp - 0x48]
test edi, edi
jne 0x436148
mov eax, dword [eax]
jmp 0x436126
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + esi]
add eax, esi
xor esi, esi
mov dword [0x4e6550], eax
lea ecx, [ebp - 0x24]
push ecx
push 1
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call eax
test eax, eax
jne 0x4365b9
mov eax, dword [0x4e6d90]
test eax, eax
jne 0x4362b4
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x30], ecx
cmp ecx, esi
je 0x43628e
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x43628e
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov edx, 0x196a3b17
mov dword [ebp - 0x34], ecx
dec edi
mov dword [ebp - 0x2c], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x38], ecx
test dl, dl
je 0x436287
mov ebx, dword [ebp - 0x2c]
mov esi, ecx
movsx ecx, dl
xor ecx, ebx
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
mov dl, byte [esi]
imul ebx, ecx, 0x1000193
inc esi
test dl, dl
jne 0x436249
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], 0x356ddfd3
mov ebx, dword [ebp - 0x3c]
je 0x436295
mov ecx, dword [ebp - 0x34]
test edi, edi
jne 0x436227
mov eax, dword [eax]
jmp 0x436205
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + esi]
add eax, esi
xor esi, esi
mov dword [0x4e6d90], eax
lea ecx, [ebp - 0x28]
push ecx
push esi
push esi
push esi
push dword [ebp - 0x40]
push dword [ebp - 0x24]
call eax
test eax, eax
jne 0x4364ec
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x4364ec
lea edi, [ebp - 0x20]
shr ecx, 1
stosd dword es:[edi], eax
dec ecx
push ecx
push ecx
lea ecx, [ebp - 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], esi
call fcn.0040d39e
mov ecx, dword [0x4e75c4]
test ecx, ecx
jne 0x4363ba
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x30], ecx
cmp ecx, esi
je 0x436393
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x436393
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov edx, 0x4b66b2
mov dword [ebp - 0x34], ecx
dec edi
mov dword [ebp - 0x2c], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x38], ecx
test dl, dl
je 0x43638c
mov ebx, dword [ebp - 0x2c]
mov esi, ecx
movsx ecx, dl
xor ecx, ebx
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
mov dl, byte [esi]
imul ebx, ecx, 0x1000193
inc esi
test dl, dl
jne 0x43634e
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], 0xb3a8a4cf
mov ebx, dword [ebp - 0x3c]
je 0x43639a
mov ecx, dword [ebp - 0x34]
test edi, edi
jne 0x43632c
mov eax, dword [eax]
jmp 0x43630a
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + esi]
add ecx, esi
xor esi, esi
mov dword [0x4e75c4], ecx
cmp dword [ebp - 0xc], 7
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x20]
cmova eax, dword [ebp - 0x20]
push eax
lea eax, [ebp - 8]
push eax
push esi
push dword [ebp - 0x40]
push dword [ebp - 0x24]
call ecx
test eax, eax
jne 0x4364d5
mov eax, dword [0x4e7a40]
test eax, eax
jne 0x4364a5
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x30], ecx
cmp ecx, esi
je 0x436481
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x436481
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov edx, 0x77f7ded9
mov dword [ebp - 0x34], ecx
dec edi
mov dword [ebp - 0x2c], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x38], ecx
test dl, dl
je 0x43647a
mov ebx, dword [ebp - 0x2c]
mov esi, ecx
movsx ecx, dl
xor ecx, ebx
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
mov dl, byte [esi]
imul ebx, ecx, 0x1000193
inc esi
test dl, dl
jne 0x43643c
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], 0x7ddb03fe
mov ebx, dword [ebp - 0x3c]
je 0x436488
mov ecx, dword [ebp - 0x34]
test edi, edi
jne 0x43641a
mov eax, dword [eax]
jmp 0x4363f8
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + esi]
add eax, esi
mov dword [0x4e7a40], eax
push dword [ebp - 0x24]
call eax
lea eax, [ebp - 0x20]
mov ecx, ebx
push eax
call fcn.0040c17b
mov edx, dword [ebp - 0xc]
cmp edx, 7
jbe 0x4365d0
mov ecx, dword [ebp - 0x20]
lea edx, [edx*2 + 2]
call fcn.0040d759
jmp 0x4365d0
mov edx, dword [ebp - 0xc]
cmp edx, 7
jbe 0x4364ec
mov ecx, dword [ebp - 0x20]
lea edx, [edx*2 + 2]
call fcn.0040d759
mov eax, dword [0x4e7a5c]
test eax, eax
jne 0x4365b4
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x30], ecx
cmp ecx, esi
je 0x43658e
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x43658e
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov edx, 0x6613c704
mov dword [ebp - 0x34], ecx
dec edi
mov dword [ebp - 0x2c], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x38], ecx
test dl, dl
je 0x436587
mov ebx, dword [ebp - 0x2c]
mov esi, ecx
movsx ecx, dl
xor ecx, ebx
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
mov dl, byte [esi]
imul ebx, ecx, 0x1000193
inc esi
test dl, dl
jne 0x436549
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], 0x33bd7478
mov ebx, dword [ebp - 0x3c]
je 0x436595
mov ecx, dword [ebp - 0x34]
test edi, edi
jne 0x436527
mov eax, dword [eax]
jmp 0x436505
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + esi]
add eax, esi
xor esi, esi
mov dword [0x4e7a5c], eax
push dword [ebp - 0x24]
call eax
mov edi, ebx
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], 7
mov word [ebx], ax
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b0ce6
leave
ret