Function at 0x43af23
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, 0x2a4
mov eax, dword [0x4e2040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x2a0], ecx
call fcn.0043b894
mov esi, eax
xor ebx, ebx
mov edi, 0xffc3978b
cmp byte [esi + 0xe], bl
je 0x43af68
push edi
push 0xc98f5399
push ebx
push 7
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0xe], bl
mov dword [ebp - 0x30], esi
call fcn.0043b91d
mov esi, eax
cmp byte [esi + 0x14], bl
je 0x43af8d
push edi
push 0xc98f5399
push ebx
push 0xa
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x14], bl
mov dword [ebp - 0x2c], esi
call fcn.0043b9b4
mov ecx, eax
call fcn.0043cc9a
mov dword [ebp - 0x28], eax
call fcn.0043ba34
mov ecx, eax
call fcn.0043cc9a
mov dword [ebp - 0x24], eax
call fcn.0043bab4
mov esi, eax
mov edi, 0x9bd595af
cmp byte [esi + 0x14], bl
je 0x43afd5
push edi
push 0x851d8be7
push ebx
push 0xa
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x14], bl
mov dword [ebp - 0x20], esi
call fcn.0043bb40
mov esi, eax
cmp byte [esi + 0x22], bl
je 0x43affa
push edi
push 0x851d8be7
push ebx
push 0x11
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x22], bl
mov dword [ebp - 0x1c], esi
call fcn.0043bbe8
mov esi, eax
cmp byte [esi + 0x10], bl
je 0x43b01f
push edi
push 0x851d8be7
push ebx
push 8
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x10], bl
mov dword [ebp - 0x18], esi
call fcn.0043bc6d
mov esi, eax
cmp byte [esi + 0x12], bl
je 0x43b044
push edi
push 0x851d8be7
push ebx
push 9
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x12], bl
mov dword [ebp - 0x14], esi
call fcn.0043bcf2
mov esi, eax
mov edi, 0x39e3c19b
cmp byte [esi + 0x24], bl
je 0x43b06e
push edi
push 0xbb935373
push ebx
push 0x12
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x24], bl
mov dword [ebp - 0x10], esi
call fcn.0043bdb1
mov esi, eax
cmp byte [esi + 0xa], bl
je 0x43b093
push edi
push 0xbb935373
push ebx
push 5
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0xa], bl
mov dword [ebp - 0xc], esi
call fcn.0043be2f
mov esi, eax
cmp byte [esi + 0x10], bl
je 0x43b0b8
push edi
push 0xbb935373
push ebx
push 8
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 0x10], bl
mov dword [ebp - 8], esi
call fcn.0041a29f
mov edi, eax
mov dword [ebp - 0x28c], edi
test edi, edi
je 0x43b87e
mov eax, dword [0x4e7eac]
test eax, eax
jne 0x43b1bc
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 - 0x288], ecx
cmp ecx, esi
je 0x43b195
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x43b195
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, esi
sub ecx, 4
mov edx, 0xbdd1fd3c
mov dword [ebp - 0x290], ecx
dec ebx
mov dword [ebp - 0x284], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x294], ecx
test dl, dl
je 0x43b18b
mov edi, dword [ebp - 0x284]
mov esi, ecx
movsx ecx, dl
xor ecx, edi
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 edi, ecx, 0x1000193
inc esi
test dl, dl
jne 0x43b144
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x284], edi
cmp dword [ebp - 0x284], 0x97bbf5fb
mov edi, dword [ebp - 0x28c]
je 0x43b19c
mov ecx, dword [ebp - 0x290]
test ebx, ebx
jne 0x43b116
mov eax, dword [eax]
jmp 0x43b0e9
mov edx, dword [ebp - 0x288]
mov eax, dword [edx + 0x24]
lea eax, [eax + ebx*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 [0x4e7eac], eax
push dword [ebp - 0x2a0]
push edi
call eax
mov ebx, dword [0x4e7ec0]
test ebx, ebx
jne 0x43b2b3
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 - 0x290], ecx
cmp ecx, esi
je 0x43b28b
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x43b28b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, esi
sub ecx, 4
mov edx, 0x4d357035
mov dword [ebp - 0x294], ecx
dec ebx
mov dword [ebp - 0x284], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x288], ecx
test dl, dl
je 0x43b281
mov edi, dword [ebp - 0x284]
mov esi, ecx
movsx ecx, dl
xor ecx, edi
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 edi, ecx, 0x1000193
inc esi
test dl, dl
jne 0x43b23a
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x284], edi
cmp dword [ebp - 0x284], 0x6ab88479
mov edi, dword [ebp - 0x28c]
je 0x43b292
mov ecx, dword [ebp - 0x294]
test ebx, ebx
jne 0x43b20c
mov eax, dword [eax]
jmp 0x43b1df
mov edx, dword [ebp - 0x290]
mov eax, dword [edx + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ebx, dword [eax + esi]
add ebx, esi
mov dword [0x4e7ec0], ebx
call fcn.0043bebb
mov esi, eax
cmp byte [esi + 6], 0
je 0x43b2dc
push 0x7fd3adb1
push 0x81e15bed
push 0
push 3
mov ecx, esi
call fcn.00407f3c
add esp, 0x10
mov byte [esi + 6], 0
push esi
push edi
call ebx
push 0x250
lea eax, [ebp - 0x280]
push 0
push eax
call fcn.004b21c0
mov eax, dword [0x4e7eb8]
add esp, 0xc
test eax, eax
jne 0x43b3e2
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 - 0x290], ecx
cmp ecx, esi
je 0x43b3bb
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x43b3bb
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, esi
sub ecx, 4
mov edx, 0x34e3b8ac
mov dword [ebp - 0x294], ecx
dec ebx
mov dword [ebp - 0x284], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x288], ecx
test dl, dl
je 0x43b3b1
mov edi, dword [ebp - 0x284]
mov esi, ecx
movsx ecx, dl
xor ecx, edi
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 edi, ecx, 0x1000193
inc esi
test dl, dl
jne 0x43b36a
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x284], edi
cmp dword [ebp - 0x284], 0x209eb345
mov edi, dword [ebp - 0x28c]
je 0x43b3c2
mov ecx, dword [ebp - 0x294]
test ebx, ebx
jne 0x43b33c
mov eax, dword [eax]
jmp 0x43b30f
mov edx, dword [ebp - 0x290]
mov eax, dword [edx + 0x24]
lea eax, [eax + ebx*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 [0x4e7eb8], eax
lea ecx, [ebp - 0x280]
push ecx
push edi
call eax
mov dword [ebp - 0x294], eax
cmp eax, 0xffffffff
jne 0x43b405
mov ecx, edi
call fcn.00416e90
xor edi, edi
jmp 0x43b87e
push 0x2e
pop eax
cmp word [ebp - 0x254], ax
jne 0x43b42c
cmp word [ebp - 0x252], ax
je 0x43b675
cmp word [ebp - 0x252], 0
je 0x43b675
lea ebx, [ebp - 0x30]
mov dword [ebp - 0x290], ebx
mov eax, dword [0x4e7ea0]
test eax, eax
jne 0x43b527
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 - 0x29c], ecx
cmp ecx, esi
je 0x43b4fa
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x43b4fa
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, esi
sub ecx, 4
mov edx, 0x8ef2ec20
mov dword [ebp - 0x298], ecx
dec ebx
mov dword [ebp - 0x284], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x288], ecx
test dl, dl
je 0x43b4f0
mov edi, dword [ebp - 0x284]
mov esi, ecx
movsx ecx, dl
xor ecx, edi
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 edi, ecx, 0x1000193
inc esi
test dl, dl
jne 0x43b4a9
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x284], edi
cmp dword [ebp - 0x284], 0x3eb91e49
mov edi, dword [ebp - 0x28c]
je 0x43b501
mov ecx, dword [ebp - 0x298]
test ebx, ebx
jne 0x43b47b
mov eax, dword [eax]
jmp 0x43b44e
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + 0x24]
lea eax, [eax + ebx*2]
mov ebx, dword [ebp - 0x290]
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 [0x4e7ea0], eax
push dword [ebx]
lea ecx, [ebp - 0x254]
push ecx
call eax
test eax, eax
jne 0x43b675
add ebx, 4
lea eax, [ebp - 4]
mov dword [ebp - 0x290], ebx
cmp ebx, eax
jne 0x43b435
mov eax, dword [0x4e7eb4]
test eax, eax
jne 0x43b63a
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 - 0x288], ecx
cmp ecx, esi
je 0x43b613
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x43b613
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, esi
sub ecx, 4
mov edx, 0x6d950b71
mov dword [ebp - 0x298], ecx
dec ebx
mov dword [ebp - 0x284], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x29c], ecx
test dl, dl
je 0x43b609
mov edi, dword [ebp - 0x284]
mov esi, ecx
movsx ecx, dl
xor ecx, edi
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 edi, ecx, 0x1000193
inc esi
test dl, dl
jne 0x43b5c2
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x284], edi
cmp dword [ebp - 0x284], 0x2589aaea
mov edi, dword [ebp - 0x28c]
je 0x43b61a
mov ecx, dword [ebp - 0x298]
test ebx, ebx
jne 0x43b594
mov eax, dword [eax]
jmp 0x43b567
mov edx, dword [ebp - 0x288]
mov eax, dword [edx + 0x24]
lea eax, [eax + ebx*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 [0x4e7eb4], eax
lea ecx, [ebp - 0x254]
push ecx
push dword [ebp - 0x2a0]
push 0x4d1660
push edi
call eax
add esp, 0x10
mov ecx, edi
test byte [ebp - 0x280], 0x10
je 0x43b664
call fcn.0043af23
jmp 0x43b675
mov edx, 0x4d16b4
mov byte [0x4e5cbf], 1
call fcn.00435835
mov eax, dword [0x4e7eb0]
test eax, eax
jne 0x43b761
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 - 0x288], ecx
cmp ecx, esi
je 0x43b73a
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x43b73a
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, esi
sub ecx, 4
mov edx, 0x30429b48
mov dword [ebp - 0x298], ecx
dec ebx
mov dword [ebp - 0x284], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x29c], ecx
test dl, dl
je 0x43b730
mov edi, dword [ebp - 0x284]
mov esi, ecx
movsx ecx, dl
xor ecx, edi
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 edi, ecx, 0x1000193
inc esi
test dl, dl
jne 0x43b6e9
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x284], edi
cmp dword [ebp - 0x284], 0x1a4f27d9
mov edi, dword [ebp - 0x28c]
je 0x43b741
mov ecx, dword [ebp - 0x298]
test ebx, ebx
jne 0x43b6bb
mov eax, dword [eax]
jmp 0x43b68e
mov edx, dword [ebp - 0x288]
mov eax, dword [edx + 0x24]
lea eax, [eax + ebx*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 [0x4e7eb0], eax
lea ecx, [ebp - 0x280]
push ecx
push dword [ebp - 0x294]
call eax
push 0x2e
test eax, eax
pop eax
jne 0x43b408
mov ecx, edi
call fcn.00416e90
mov eax, dword [0x4e7ebc]
xor edi, edi
mov dword [ebp - 0x28c], edi
test eax, eax
jne 0x43b876
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 - 0x288], ecx
cmp ecx, esi
je 0x43b84f
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x43b84f
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, esi
sub ecx, 4
mov edx, 0x7aa86925
mov dword [ebp - 0x298], ecx
dec ebx
mov dword [ebp - 0x284], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x29c], ecx
test dl, dl
je 0x43b845
mov edi, dword [ebp - 0x284]
mov esi, ecx
movsx ecx, dl
xor ecx, edi
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 edi, ecx, 0x1000193
inc esi
test dl, dl
jne 0x43b7fe
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x284], edi
cmp dword [ebp - 0x284], 0x4b044990
mov edi, dword [ebp - 0x28c]
je 0x43b856
mov ecx, dword [ebp - 0x298]
test ebx, ebx
jne 0x43b7d0
mov eax, dword [eax]
jmp 0x43b7a3
mov edx, dword [ebp - 0x288]
mov eax, dword [edx + 0x24]
lea eax, [eax + ebx*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 [0x4e7ebc], eax
push dword [ebp - 0x294]
call eax
mov ecx, edi
call fcn.00416e90
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b0ce6
leave
ret