Function at 0x416de0
Capabilities:
Hash data using djb2

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
mov eax, 0xc138
mov dword [ebp - 0x34], ecx
push esi
mov dword [ebp - 8], eax
mov esi, 0x31e7
mov eax, 0x131db
mov dword [ebp - 0x18], 0x16ee4
push edi
mov dword [ebp - 0x20], 0x27f0
mov edi, 0x14c9e
mov ebx, 0x12aa6
mov dword [ebp - 0x14], 0x11208
mov dword [ebp - 0x28], 0x17d16
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x2c], 0xfb47
mov dword [ebp - 0x24], 0x171c9
mov dword [ebp - 0x1c], 0x149ce
call fcn.00402ae0
mov ecx, 0x2249
mov dword [ebp - 0x3c], eax
call fcn.00401690
mov dword [ebp - 0xc], 0xa508
call fcn.004021a0
mov dword [ebp - 0x38], eax
add eax, 0xfffe18a4
mov dword [ebp - 0x30], eax
test eax, eax
jle 0x416f87
mov eax, 0x4e02
mov ecx, 0x131db
mov edx, 0xf848
nop dword [eax]
sub edi, esi
xor eax, 0x5418
or edx, 0xc998
or edi, ecx
or eax, 0xa9a3
mov dword [ebp - 4], edx
cmp dword [ebp - 0x18], 0x7bfd
je 0x416f69
sub dword [ebp - 0x18], 0x1dc7
add ebx, 0xd8b4
mov edx, dword [ebp - 0xc]
add dword [ebp - 8], 0x1601f
xor dword [ebp - 4], edx
cmp dword [ebp - 0x18], 0xec2c
jne 0x416f66
mov ecx, dword [ebp - 0x24]
add esi, 0x70af
add ecx, 0x6455
and ecx, ebx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x38]
cmp dword [ebp - 0x28], 0xbd10
mov dword [ebp - 0x10], ecx
jle 0x416f66
xor dword [ebp - 0x1c], 0x80b7
xor ecx, 0x7f33
xor dword [ebp - 8], 0x7cca
add edi, 0xb1c8
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 4]
xor dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], 0x6c00
cmp edx, 0x11c4e
je 0x416f66
mov ecx, dword [ebp - 0x3c]
sub edx, ebx
or dword [ebp - 0x20], ecx
xor esi, 0xeb0b
mov ecx, dword [ebp - 0x10]
or ebx, 0xd06
xor dword [ebp - 0x28], 0xfe2
add ecx, 0xad03
sub dword [ebp - 0x14], 0xe258
and edi, 0x80b7
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x20]
add dword [ebp - 0xc], edx
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 4]
sub dword [ebp - 0x30], 1
jne 0x416e80
push 0xee47
mov ecx, 0x18108
mov dword [ebp - 0x18], eax
call fcn.00401170
jmp 0x416fcf
push 0xee47
mov ecx, 0x18108
call fcn.00401170
mov eax, 0x4e02
mov dword [ebp - 4], 0xf848
mov dword [ebp - 0x20], 0x27f0
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], 0xc138
mov dword [ebp - 0xc], 0xa508
mov dword [ebp - 0x14], 0x11208
mov dword [ebp - 0x10], 0x131db
mov dword [ebp - 0x1c], 0x149ce
add esp, 4
mov dword [ebp - 0x24], 0x6190
sub esp, 0x20
call fcn.00401240
mov ecx, dword [ebp - 4]
add esp, 0x20
mov eax, dword [ebp - 8]
add eax, 0xfffeea2d
push 0xfdd3
sub esp, 8
lea ecx, [ecx + 0xd357]
push eax
call fcn.00401470
mov dword [ebp - 0x28], eax
add esp, 0x10
add eax, 0xfffe8be2
mov dword [ebp - 0x30], eax
test eax, eax
jle 0x41705b
mov eax, dword [ebp - 4]
mov edx, 0x6190
mov ecx, dword [ebp - 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x10]
and ecx, dword [ebp - 0x28]
add edx, 0xffff831f
add edx, eax
sub dword [ebp - 0x30], 1
jne 0x417044
mov dword [ebp - 0x24], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x34]
call fcn.004167d0
push 0xee47
mov ecx, 0x18108
mov dword [ebp - 0x38], eax
call fcn.00401170
push 0xee47
mov ecx, 0x18108
call fcn.00401170
push 0xee47
mov ecx, 0x18108
call fcn.00401170
push 0xee47
mov ecx, 0x18108
call fcn.00401170
push 0xee47
mov ecx, 0x18108
call fcn.00401170
push 0xee47
mov ecx, 0x18108
call fcn.00401170
mov ecx, dword [ebp - 0x1c]
add esp, 0x18
mov edx, dword [ebp - 0x14]
add ecx, 0xffff2234
add dword [ebp - 0xc], 0x7077
mov eax, ecx
and eax, dword [ebp - 0x28]
inc edx
sub eax, 0x69e8
and ecx, 0x1278e
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
add eax, 0x703f
and eax, 0xfaaa
cmp dword [ebp - 0x20], 0x506b
mov dword [ebp - 0x28], eax
jne 0x41714f
or eax, 0xc1ac
sub edi, 0x4528
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
or eax, 0xf9b9
cmp edi, 0x545d
jge 0x41714f
or edx, 0x80b8
sub ecx, 0x80b8
cmp edx, 0xa66c
jge 0x41714f
mov edx, dword [ebp - 0x3c]
or ecx, 0xfbff
or edx, dword [ebp - 0x24]
cmp eax, 0x13dee
mov eax, dword [ebp - 0x18]
jle 0x417152
add eax, edx
jmp 0x417152
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
mov edi, 0x1505
cmp esi, 0x31e8
jge 0x4171a3
mov edi, dword [ebp - 0xc]
cmp ebx, 0x6918
jne 0x41716f
xor eax, esi
inc esi
xor edx, 0x80b8
cmp ecx, 0x154ca
je 0x417196
or dword [ebp - 0x2c], 0xe81d
cmp dword [ebp - 0x2c], 0xe99d
jle 0x417196
and ecx, 0x12a9e
sub ebx, edi
cmp esi, 0x31e8
jl 0x417165
mov edi, 0x1505
sub esp, 0xc
lea eax, [edx + 0xe5b2]
push eax
sub esp, 0xc
call fcn.00401de0
mov ebx, dword [ebp - 0x38]
add esp, 0x1c
xor esi, esi
test ebx, ebx
je 0x417280
mov ecx, 0x127e9
call fcn.00401b30
push 0xee47
mov ecx, 0x18108
call fcn.00401170
push 0xee47
mov ecx, 0x18108
call fcn.00401170
push 0xee47
mov ecx, 0x18108
call fcn.00401170
add esp, 0xc
mov ecx, 0x2249
call fcn.00401690
push 0x5ad4
push ecx
push 0x3ae9
push ecx
push 0x7a
push 0x11df5
push ecx
call fcn.004013a0
mov ecx, 0x16f61
call fcn.00401710
mov ecx, 0x2249
call fcn.00401690
mov eax, edi
mov ecx, 0x18108
shl edi, 5
push 0xee47
add edi, eax
call fcn.00401170
push 0xee47
mov ecx, 0x18108
call fcn.00401170
add esp, 0x24
mov ecx, 0x2249
call fcn.00401690
mov eax, dword [ebp - 0x34]
movsx ecx, byte [eax + esi]
inc esi
add edi, ecx
cmp esi, ebx
jb 0x4171c5
nop word [eax + eax]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret