Function at 0x422890
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x100
mov eax, dword [0x49f070]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [0x49f68c]
mov ecx, dword [0x49f2b0]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x422985
mov edi, dword [ebp + 8]
mov eax, edi
shr eax, 8
mov edx, edi
shr edx, 0x10
mov ecx, 0xff
mov esi, edi
and esi, ecx
and eax, ecx
and edx, ecx
mov ecx, edi
shr ecx, 0x18
mov dword [ebp - 0x100], esi
xor esi, 0x811c9dc5
imul esi, esi, 0x1000193
xor esi, eax
imul esi, esi, 0x1000193
xor esi, edx
imul esi, esi, 0x1000193
xor esi, ecx
imul ebx, esi, 0x1000193
and ebx, dword [0x49f684]
mov ecx, dword [0x49f678]
mov dword [ebp - 0xfc], ecx
mov ecx, dword [ecx + ebx*8 + 4]
mov esi, dword [0x49f670]
cmp ecx, esi
je 0x422964
and edi, 0xff000000
shl edx, 0x10
or edx, edi
shl eax, 8
or eax, edx
add eax, dword [ebp - 0x100]
cmp eax, dword [ecx + 8]
je 0x422966
add ebx, ebx
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + ebx*4]
cmp ecx, edx
je 0x422964
mov ecx, dword [ecx + 4]
cmp eax, dword [ecx + 8]
jne 0x422956
jmp 0x422966
xor ecx, ecx
test ecx, ecx
cmovne esi, ecx
add esi, 0xc
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00450100
mov eax, esi
add esp, 0x100
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp], 0x49f68c
call fcn.0044faf7
cmp dword [0x49f68c], 0xffffffff
jne 0x4228c7
xor ebx, ebx
lea ecx, [ebp - 0xec]
mov dword [ecx - 4], ebx
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov edi, 7
mov dword [ecx + 0x14], edi
mov word [ecx], bx
lea esi, [ebp - 0xf8]
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], str.No_error._The_process_was_executed_correctly
mov dword [esp], 0x2c
call fcn.00453440
sub esp, 0xc
lea eax, [ebp - 0xd4]
mov dword [eax], 1
lea ecx, [ebp - 0xd0]
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], edi
mov word [ecx], bx
mov al, byte [esi]
mov byte [esp + 4], al
mov eax, 0x24
mov dword [esp], eax
mov dword [esp + 8], str.The_library_has_not_been_initialized
call fcn.00453440
sub esp, 0xc
lea eax, [ebp - 0xb8]
mov dword [eax], 2
lea ecx, [ebp - 0xb4]
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], edi
mov word [ecx], bx
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], str.The_OS_does_not_support_WinToast
mov dword [esp], 0x20
call fcn.00453440
sub esp, 0xc
lea eax, [ebp - 0x9c]
mov dword [eax], 3
lea ecx, [ebp - 0x98]
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], edi
mov word [ecx], bx
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], str.The_library_was_not_able_to_create_a_Shell_Link_for_the_app
mov dword [esp], 0x3b
call fcn.00453440
sub esp, 0xc
lea eax, [ebp - 0x80]
mov dword [eax], 4
lea ecx, [ebp - 0x7c]
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], edi
mov word [ecx], bx
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], str.The_AUMI_is_not_a_valid_one
mov dword [esp], 0x1b
call fcn.00453440
sub esp, 0xc
lea eax, [ebp - 0x64]
mov dword [eax], 5
lea ecx, [ebp - 0x60]
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], edi
mov word [ecx], bx
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], str.The_parameters_used_to_configure_the_library_are_not_valid_normally_because_an_invalid_AUMI_or_App_Name
mov dword [esp], 0x67
call fcn.00453440
sub esp, 0xc
lea eax, [ebp - 0x48]
mov dword [eax], edi
lea ecx, [ebp - 0x44]
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], edi
mov word [ecx], bx
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], str.The_toast_was_created_correctly_but_WinToast_was_not_able_to_display_the_toast
mov dword [esp], 0x4e
call fcn.00453440
sub esp, 0xc
lea eax, [ebp - 0x2c]
mov ecx, 8
mov dword [eax], ecx
lea ecx, [ebp - 0x28]
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], edi
mov word [ecx], bx
mov al, byte [esi]
mov byte [esp + 4], al
mov dword [esp + 8], str.Unknown_error
mov dword [esp], 0xd
call fcn.00453440
sub esp, 0xc
mov dword [0x49f66c], ebx
mov dword [0x49f670], ebx
mov dword [0x49f674], ebx
mov eax, 0x24
mov dword [esp], eax
call fcn.0044fa55
mov ebx, eax
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [0x49f670], eax
movaps xmm0, xmmword [0x461b00]
movups xmmword [0x49f678], xmm0
mov eax, 8
mov dword [0x49f688], eax
mov dword [0x49f66c], 0x3f800000
mov dword [esp], 0x40
call fcn.0044fa55
mov dword [0x49f678], eax
lea ecx, [eax + 0x40]
mov dword [0x49f67c], ecx
mov dword [0x49f680], ecx
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebx
mov dword [eax + 0x2c], ebx
mov dword [eax + 0x30], ebx
mov dword [eax + 0x34], ebx
mov dword [eax + 0x38], ebx
mov dword [eax + 0x3c], ebx
lea edx, [ebp - 0xf0]
mov ecx, esi
call fcn.00428c90
mov ecx, esi
lea edx, [ebp - 0xd4]
call fcn.00428c90
mov ecx, esi
lea edx, [ebp - 0xb8]
call fcn.00428c90
mov ecx, esi
lea edx, [ebp - 0x9c]
call fcn.00428c90
mov ecx, esi
lea edx, [ebp - 0x80]
call fcn.00428c90
mov ecx, esi
lea edx, [ebp - 0x64]
call fcn.00428c90
mov ecx, esi
lea edx, [ebp - 0x48]
call fcn.00428c90
mov ecx, esi
lea edx, [ebp - 0x2c]
call fcn.00428c90
mov esi, 0xe0
mov eax, dword [ebp + esi - 0xf4]
cmp eax, 8
jb 0x422c98
mov ecx, dword [ebp + esi - 0x108]
lea edi, [eax + eax]
add edi, 2
cmp edi, 0x1000
jb 0x422c8c
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x422cda
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
mov dword [esp + 4], edi
mov dword [esp], ecx
call fcn.0044fa85
mov dword [ebp + esi - 0xf8], 0
mov dword [ebp + esi - 0xf4], 7
mov word [ebp + esi - 0x108], 0
add esi, 0xffffffe4
jne 0x422c55
mov dword [esp], 0x422ce0
call fcn.0044fa98
mov dword [esp], 0x49f68c
call fcn.0044faad
jmp 0x4228c7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, dword [0x49f67c]
mov ecx, dword [0x49f678]
sub eax, ecx
cmp eax, 0x1000
jb 0x422d10
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x422d9d
add eax, 0x23
mov ecx, edx
push eax
push ecx
call fcn.0044fa85
add esp, 8
xor eax, eax
mov dword [0x49f678], eax
mov dword [0x49f67c], eax
mov dword [0x49f680], eax
mov ecx, dword [0x49f670]
mov edx, dword [ecx + 4]
mov dword [edx], eax
mov esi, dword [ecx]
test esi, esi
je 0x422d88
mov edi, dword [esi]
mov eax, dword [esi + 0x20]
cmp eax, 8
jb 0x422d77
mov ecx, dword [esi + 0xc]
lea ebx, [eax + eax]
add ebx, 2
cmp ebx, 0x1000
jb 0x422d6d
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x422d9d
add eax, eax
add eax, 0x25
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.0044fa85
add esp, 8
push 0x24
push esi
call fcn.0044fa85
add esp, 8
mov esi, edi
test edi, edi
jne 0x422d3c
push 0x24
push dword [0x49f670]
call fcn.0044fa85
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3