Function at 0x10005c50
Capabilities:
Hash data using djb2

Disassembly:
sub esp, 0x21c
mov eax, dword [0x100b6004]
xor eax, esp
mov dword [esp + 0x218], eax
mov eax, dword [edx + 4]
add edx, 4
push ebx
push ebp
push esi
lea ebx, [edx + 4]
mov dword [esp + 0x20], edx
mov esi, ecx
lea ebx, [ebx + eax*4]
mov ecx, dword [esp + 0x22c]
xor ebp, ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ebx
push edi
test eax, eax
jle 0x10005fd4
lea eax, [ecx*4]
mov dword [esp + 0x20], eax
push ebp
push ecx
push esi
push str._s__i__i
lea eax, [esp + 0x38]
push pe_nt_image_headers32
push eax
call fcn.10042730
mov eax, dword [0x100bb0ec]
mov edx, ebx
mov ecx, esi
push dword [eax + 0x38]
push dword [eax + 0x34]
call fcn.100056c0
mov bl, byte [esp + 0x48]
add esp, 0x20
mov dword [esp + 0x10], eax
test bl, bl
je 0x10005d0c
lea ecx, [esp + 0x28]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10005ce3
sub ecx, edx
cmp ecx, 0x100
jb 0x10005e45
push ecx
lea eax, [esp + 0x2c]
push eax
push str.1Error:_7LoadTexture:_too_long_name__s___d__n
call dword [0x11a5f364]
add esp, 0xc
xor ecx, ecx
mov edi, dword [esp + 0x10]
mov eax, dword [0x100bb0ec]
mov ebx, ebp
and ebx, 3
add ebx, dword [esp + 0x20]
push edi
mov word [eax + ebx*2 + 0x84], cx
call dword [0x11a5f4b8]
mov edx, dword [0x100bb0ec]
add esp, 4
movzx esi, word [edx + ebx*2 + 0x84]
cmp esi, 0x2000
jb 0x10005d63
push 0x30
push str.D:_axash3d_fwgsxash3d_fwgs_refglgl_image.c
push str.assert_failed_at__s:_i_n
call dword [0x11a5f3dc]
mov edx, dword [0x100bb0ec]
add esp, 0xc
lea eax, [esi + esi*4]
shl eax, 6
test dword [eax + 0x100ea9cc], 0x2000
je 0x10005e13
push ebp
push dword [esp + 0x1c]
lea eax, [esp + 0x130]
push dword [esp + 0x24]
push str._s__i__i_luma
push pe_nt_image_headers32
push eax
call fcn.10042730
mov eax, dword [0x100bb0ec]
xor ecx, ecx
mov edx, dword [esp + 0x2c]
push dword [eax + 0x38]
push dword [eax + 0x34]
call fcn.100056c0
add esp, 0x20
mov edi, eax
cmp byte [esp + 0x128], 0
je 0x10005df4
lea ecx, [esp + 0x128]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10005dc8
sub ecx, edx
cmp ecx, 0x100
jb 0x10005f33
push ecx
lea eax, [esp + 0x12c]
push eax
push str.1Error:_7LoadTexture:_too_long_name__s___d__n
call dword [0x11a5f364]
add esp, 0xc
xor ecx, ecx
mov eax, dword [0x100bb0ec]
push edi
mov word [eax + ebx*2 + 0x184], cx
call dword [0x11a5f4b8]
mov edx, dword [0x100bb0ec]
add esp, 4
mov eax, dword [esp + 0x24]
inc ebp
mov ebx, dword [esp + 0x14]
add ebx, dword [esp + 0x234]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], ebx
cmp ebp, dword [eax]
jl 0x10005ca2
cmp ebp, 4
jl 0x10005fda
jmp 0x1000601b
lea edi, [esp + 0x28]
mov esi, 0x1505
nop
lea eax, [ebx + 0x20]
lea edx, [ebx - 0x41]
movzx ecx, al
movzx eax, bl
lea edi, [edi + 1]
mov bl, byte [edi]
cmp dl, 0x19
cmova ecx, eax
mov eax, esi
shl eax, 5
and ecx, 0xdf
add esi, eax
add esi, ecx
test bl, bl
jne 0x10005e50
and esi, 0x7ff
mov esi, dword [esi*4 + 0x1036a8b0]
test esi, esi
je 0x10005eac
nop dword [eax + eax]
lea eax, [esp + 0x28]
push eax
push esi
call fcn.100746f7
add esp, 8
test eax, eax
je 0x10005ebb
mov esi, dword [esi + 0x13c]
test esi, esi
jne 0x10005e90
mov edi, dword [esp + 0x10]
test edi, edi
jne 0x10005ed7
xor ecx, ecx
jmp 0x10005d12
sub esi, 0x100ea8b0
mov eax, 0x66666667
imul esi
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jmp 0x10005d0e
xor edx, edx
lea ecx, [esp + 0x28]
call fcn.10017b80
mov esi, eax
mov edx, edi
mov ecx, esi
call fcn.10017970
mov edx, edi
mov ecx, esi
call fcn.100171a0
test eax, eax
jne 0x10005f10
push 0x140
push eax
push esi
call fcn.1004a480
add esp, 0xc
xor ecx, ecx
jmp 0x10005d12
mov ecx, esi
call fcn.10014d00
sub esi, 0x100ea8b0
mov eax, 0x66666667
imul esi
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jmp 0x10005d12
lea ecx, [esp + 0x128]
call fcn.100486d0
mov esi, dword [eax*4 + 0x1036a8b0]
test esi, esi
je 0x10005f6f
nop word [eax + eax]
lea eax, [esp + 0x128]
push eax
push esi
call fcn.100746f7
add esp, 8
test eax, eax
je 0x10005fb8
mov esi, dword [esi + 0x13c]
test esi, esi
jne 0x10005f50
test edi, edi
je 0x10005df4
mov edx, 0x4000
lea ecx, [esp + 0x128]
call fcn.10017b80
mov esi, eax
mov edx, edi
mov ecx, esi
call fcn.10017970
mov edx, edi
mov ecx, esi
call fcn.100171a0
test eax, eax
jne 0x10005fb1
push 0x140
push eax
push esi
call fcn.1004a480
jmp 0x10005df1
mov ecx, esi
call fcn.10014d00
sub esi, 0x100ea8b0
mov eax, 0x66666667
imul esi
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jmp 0x10005df6
mov edx, dword [0x100bb0ec]
lea edi, [ecx*4]
lea esi, [edi + 0xc2]
lea esi, [edx + esi*2]
nop word [eax + eax]
movzx eax, word [esi - 0x100]
lea esi, [esi + 2]
mov ecx, ebp
inc ebp
and ecx, 3
add ecx, edi
mov word [edx + ecx*2 + 0x84], ax
movzx eax, word [esi - 2]
mov word [edx + ecx*2 + 0x184], ax
cmp ebp, 4
jl 0x10005ff0
mov ecx, dword [esp + 0x228]
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10048715
add esp, 0x21c
ret