Function at 0x44c9d0
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60234d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x48
mov eax, dword [0x6a3000]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebx + 0xc]
lea edx, [ebp - 0x18]
mov esi, dword [ebx + 8]
mov ecx, 0x6b259c
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x18], 0x40e6c0
call fcn.004132b0
mov ecx, dword [0x6b2f88]
mov dword [ebp - 0x54], ecx
test ecx, ecx
je 0x44ca4d
lock inc dword [ecx + 4]
mov ecx, dword [0x6b2f88]
mov dword [ebp - 0x54], ecx
mov eax, dword [0x6b2f84]
mov edx, dword [edi + 0x30]
add edx, dword [eax + 0x70]
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x58], eax
test ecx, ecx
je 0x44ca88
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x44ca88
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x54]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x44ca85
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
cmp dword [ebp - 0x58], edx
jl 0x44ca98
mov eax, dword [ebp - 0x1c]
mov byte [eax], 1
jmp 0x44ce4e
push dword [ebp - 0x50]
mov ecx, edi
push esi
call fcn.00451490
test al, al
jne 0x44ce4e
push 0x23
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
push str.SAME_VERTICAL_OFFER_ALREADY_PRESENT
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x28], 0
movups xmmword [ebp - 0x3c], xmm0
call fcn.004134c0
mov dword [ebp - 4], 0
mov eax, dword [esi]
mov edx, dword [eax + 0x160]
mov eax, edx
mov dword [ebp - 0x50], edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edi
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00459400
mov eax, dword [eax + 4]
mov dword [ebp - 0x50], eax
test eax, eax
je 0x44cb5c
mov eax, dword [esi]
mov eax, dword [eax + 0x160]
cmp eax, 0xffffffff
jne 0x44cb50
push 0x1c
push str.MULTIPLE_OFFERS_W_O_VERTICAL
lea ecx, [ebp - 0x3c]
call fcn.004234c0
lea eax, [ebp - 0x3c]
mov ecx, edi
push eax
push esi
call fcn.0044d1d0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x44cb97
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44cb8d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d005
push ecx
push edx
call fcn.005cacdd
add esp, 8
cmp dword [ebp - 0x50], 0
jne 0x44ce4e
push 0x2c
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
push str.EXCLUSIVE__BUT_ANOTHER_OFFER_ALREADY_PRESENT
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x28], 0
movups xmmword [ebp - 0x3c], xmm0
call fcn.004134c0
mov dword [ebp - 4], 1
mov eax, dword [esi]
cmp byte [eax + 0x24c], 0
je 0x44cbef
cmp dword [edi + 0x2c], 0
je 0x44cbef
lea eax, [ebp - 0x3c]
mov byte [ebp - 0x49], 1
push eax
push esi
mov ecx, edi
call fcn.0044d1d0
jmp 0x44cbf3
mov byte [ebp - 0x49], 0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x44cc2e
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44cc24
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d00f
push ecx
push edx
call fcn.005cacdd
add esp, 8
cmp byte [ebp - 0x49], 0
jne 0x44ce4e
push esi
mov ecx, edi
call fcn.0044e680
test al, al
jne 0x44ce4e
push esi
mov ecx, edi
call fcn.00454c50
test al, al
jne 0x44ce4e
push esi
mov ecx, edi
call fcn.0044d310
test al, al
jne 0x44ce4e
push esi
mov ecx, edi
call fcn.0044d580
test al, al
jne 0x44ce4e
push esi
mov ecx, edi
call fcn.0044d7e0
test al, al
jne 0x44ce4e
push esi
mov ecx, edi
call fcn.0044d9c0
test al, al
jne 0x44ce4e
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
cmp byte [eax + 0x19c], 0
je 0x44ccd5
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_IsWow64Process]
test eax, eax
je 0x44cdc8
cmp dword [ebp - 0x18], 0
je 0x44cdc8
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
xor edx, edx
mov dword [ebp - 0x1c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1c], edx
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], edx
mov ecx, dword [eax + 0x1e4]
sub ecx, dword [eax + 0x1e0]
sar ecx, 2
test ecx, ecx
je 0x44cd3c
push ecx
lea ecx, [ebp - 0x24]
call fcn.00457f30
lea eax, [ebp - 0x24]
mov dword [ebp - 0x50], eax
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x18]
push eax
push dword [ebp - 0x24]
mov edx, dword [ecx + 0x1e4]
mov ecx, dword [ecx + 0x1e0]
call fcn.00459e50
mov edx, eax
add esp, 8
mov dword [ebp - 0x20], edx
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x24]
cmp dword [ebp - 0x24], edx
je 0x44ce73
call fcn.0044dd30
test al, al
je 0x44ce70
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
push str.FILE_EXISTS
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x28], 0
movups xmmword [ebp - 0x3c], xmm0
call fcn.004134c0
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 5
push eax
push esi
mov ecx, edi
call fcn.0044d1d0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x44ce3f
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44ce35
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d00a
jmp 0x44ce35
push 0x12
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
push str.64_BIT_OS_REQUIRED
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x28], 0
movups xmmword [ebp - 0x3c], xmm0
call fcn.004134c0
lea eax, [ebp - 0x3c]
mov dword [ebp - 4], 2
push eax
push esi
mov ecx, edi
call fcn.0044d1d0
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x44ce4e
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44ce29
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d00f
push ecx
push edx
call fcn.005cacdd
add esp, 8
jmp 0x44ce4e
push ecx
push edx
call fcn.005cacdd
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.0042d190
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005ca888
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
call fcn.0042d190
mov edx, dword [esi]
xor ecx, ecx
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
movq qword [ebp - 0x48], xmm0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], ecx
mov eax, dword [edx + 0x1f0]
sub eax, dword [edx + 0x1ec]
sar eax, 2
mov dword [ebp - 0x50], edx
test eax, eax
je 0x44ceeb
push eax
lea ecx, [ebp - 0x48]
call fcn.00457f30
lea eax, [ebp - 0x48]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
mov ecx, dword [ebp - 0x50]
push eax
push dword [ebp - 0x48]
mov edx, dword [ecx + 0x1f0]
mov ecx, dword [ecx + 0x1ec]
call fcn.00459e50
mov ecx, eax
add esp, 8
mov dword [ebp - 0x44], ecx
mov dword [ebp - 4], 7
cmp dword [ebp - 0x48], ecx
lea ecx, [ebp - 0x48]
je 0x44cf85
call fcn.0044dd30
test al, al
jne 0x44cf82
push 0x18
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
push str.NONE_OF_THE_FILES_EXISTS
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x28], 0
movups xmmword [ebp - 0x3c], xmm0
call fcn.004134c0
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 8
push eax
push esi
mov ecx, edi
call fcn.0044d1d0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x44cf73
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44cf69
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d014
push ecx
push edx
call fcn.005cacdd
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
jmp 0x44ce49
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call fcn.0042d190
push esi
mov ecx, edi
call fcn.0044df50
test al, al
jne 0x44ce4e
push esi
mov ecx, edi
call fcn.004535e0
test al, al
jne 0x44ce4e
push esi
mov ecx, edi
call fcn.0044ffb0
test al, al
jne 0x44ce4e
push esi
mov ecx, edi
call fcn.00450290
test al, al
jne 0x44ce4e
push esi
mov ecx, edi
call fcn.00452090
test al, al
jne 0x44ce4e
push esi
mov ecx, edi
call fcn.00450ab0
test al, al
jne 0x44ce4e
push esi
mov ecx, edi
mov byte [ebp - 0x49], 1
call fcn.0044d020
mov al, byte [ebp - 0x49]
jmp 0x44ce50
call fcn.005dd52a
call fcn.005dd52a
call fcn.005dd52a
call fcn.005dd52a
int3