Function at 0x100e2280
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x164
push ebx
lea eax, [edx + 0x5c]
push esi
push edi
mov edx, eax
mov dword [esp + 0x28], eax
mov edi, ecx
call fcn.100e04a0
cmp byte [edi], 1
jne 0x100e29a5
mov esi, dword [edi + 8]
lea eax, [esp + 0x34]
push str.Items
push eax
mov ecx, esi
call fcn.1008d850
mov eax, dword [eax]
cmp eax, dword [esi]
je 0x100e29a5
push str.Items
mov ecx, edi
call fcn.10087ae0
mov esi, eax
cmp byte [esi], 2
jne 0x100e29a5
push 0x10
mov dword [esp + 0x98], 0
call fcn.100faea5
add esp, 4
lea ecx, [esp + 0x98]
mov dword [eax], eax
mov dword [eax + 4], eax
push eax
push 0x10
mov dword [esp + 0x98], eax
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 7
mov dword [esp + 0xb0], 8
mov dword [esp + 0x94], 0x3f800000
call fcn.10086b30
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x30], eax
xor edi, edi
mov dword [esp + 0x40], eax
mov ecx, esi
lea eax, [esp + 0x4c]
mov dword [esp + 0x10], ebx
push eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x40], edi
call fcn.10084b70
lea eax, [esp + 0xf0]
mov ecx, esi
push eax
call fcn.1008bc00
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x50]
call fcn.10091630
test al, al
jne 0x100e2875
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
movzx eax, byte [ecx]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x34], edx
mov dword [esp + 0x68], ebx
cmp eax, 9
ja case.0x100e23d0.3
movzx eax, byte [eax + 0x100e29c8]
jmp dword [eax*4 + 0x100e29b8]
add ebx, 0x28
jmp 0x100e23ea
mov ebx, edx
jmp 0x100e23ea
test esi, esi
jne case.0x100e23d0.0
mov ebx, ecx
mov ecx, dword [esp + 0x28]
mov edx, ebx
call fcn.100df1c0
mov edi, eax
mov dword [esp + 0x5c], edi
test edi, edi
je 0x100e280d
mov ecx, dword [esp + 0x28]
lea eax, [ecx + 0x18c]
add ecx, 0xc4
mov dword [esp + 0xc0], ecx
mov ecx, ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0xc4], eax
call fcn.100e2040
push ebx
push edi
lea ecx, [esp + 0x144]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], edx
call fcn.100df8d0
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
push 0
sub esp, 0x34
mov dword [esp + 0x138], eax
lea eax, [esp + 0x174]
mov dword [esp + 0x13c], ecx
mov esi, esp
lea ecx, [esp + 0x140]
push eax
call fcn.100ceef0
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
mov dword [esi], edi
mov dword [esi + 4], eax
lea eax, [esp + 0x140]
mov dword [esi + 8], ecx
lea ecx, [esi + 0xc]
push eax
call fcn.100ceef0
lea ecx, [esp + 0x140]
mov byte [esi + 0x30], 0
call fcn.100a7a70
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0xfc]
call fcn.100cfaf0
lea ecx, [esp + 0x13c]
call fcn.100a7a70
lea eax, [esp + 0x6c]
mov ecx, ebx
push eax
call fcn.1008bc00
cmp byte [ebx], 1
jne 0x100e255d
mov eax, dword [ebx + 8]
mov eax, dword [eax]
mov edi, eax
mov dword [esp + 0x10], eax
mov esi, dword [eax + 4]
cmp byte [esi + 0xd], 0
jne 0x100e252f
nop word [eax + eax]
cmp dword [esi + 0x24], 0x10
lea ecx, [esi + 0x10]
mov edx, dword [ecx + 0x10]
jb 0x100e250e
mov ecx, dword [ecx]
push 0xf
push str.Storage_Unit_ID
call fcn.10098f60
test eax, eax
je 0x100e2525
jns 0x100e2525
mov esi, dword [esi + 8]
jmp 0x100e2529
mov edi, esi
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
je 0x100e2500
cmp byte [edi + 0xd], 0
jne 0x100e2555
cmp dword [edi + 0x24], 0x10
lea ecx, [edi + 0x10]
mov edx, dword [ecx + 0x10]
jb 0x100e2543
mov ecx, dword [ecx]
push 0xf
push str.Storage_Unit_ID
call fcn.10098f60
test eax, eax
je 0x100e2559
js 0x100e2559
mov edi, dword [esp + 0x10]
mov dword [esp + 0x70], edi
lea eax, [esp + 0x160]
mov ecx, ebx
push eax
call fcn.1008bc00
lea eax, [esp + 0x160]
push eax
lea ecx, [esp + 0x70]
call fcn.10091630
test al, al
jne 0x100e266a
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
movzx edx, byte [esi]
cmp edx, 9
ja case.0x100e25a0.0
movzx ecx, byte [edx + 0x100e29e0]
jmp dword [ecx*4 + 0x100e29d4]
lea ecx, [eax + 0x28]
jmp 0x100e25bd
mov ecx, edi
jmp 0x100e25bd
cmp dword [esp + 0x78], 0
jne case.0x100e23d0.0
mov ecx, esi
cmp byte [ecx], 6
jne 0x100e266a
cmp edx, 9
ja case.0x100e25d2.0
movzx ecx, byte [edx + 0x100e29f8]
jmp dword [ecx*4 + 0x100e29ec]
lea edi, [eax + 0x28]
jmp case.0x100e25d2.2
cmp dword [esp + 0x78], 0
jne case.0x100e23d0.0
mov edi, esi
mov ecx, edi
call fcn.100e3150
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x44], eax
mov byte [esp + 0x48], 1
cmp byte [ecx], 0x11
je 0x100e264a
mov edi, dword [esp + 0x20]
cmp edi, dword [esp + 0x30]
je 0x100e2624
mov esi, dword [esp + 0x18]
mov dword [edi], esi
mov dword [edi + 4], eax
add edi, 8
mov dword [esp + 0x20], edi
mov dword [esp + 0x3c], edi
jmp 0x100e2673
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x1c]
push eax
push edi
lea ecx, [esp + 0x44]
call fcn.100afdd0
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
jmp 0x100e266f
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x98]
call fcn.100e31f0
jmp 0x100e266f
mov byte [esp + 0x48], 0
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x7c]
mov ecx, ebx
push eax
call fcn.1008bc00
cmp byte [ebx], 1
jne 0x100e26a2
mov ecx, dword [ebx + 8]
lea eax, [esp + 0xec]
push str.Equipped_Slot
push eax
call fcn.1008d850
mov eax, dword [eax]
mov dword [esp + 0x80], eax
lea eax, [esp + 0xac]
mov ecx, ebx
push eax
call fcn.1008bc00
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x80]
call fcn.10091630
test al, al
jne 0x100e2809
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x80]
movzx edx, byte [edi]
cmp edx, 9
ja case.0x100e26f2.0
movzx ecx, byte [edx + 0x100e2a10]
jmp dword [ecx*4 + 0x100e2a04]
lea ecx, [eax + 0x28]
jmp 0x100e2714
mov ecx, dword [esp + 0x10]
jmp 0x100e2714
cmp dword [esp + 0x88], 0
jne case.0x100e23d0.0
mov ecx, edi
mov cl, byte [ecx]
cmp cl, 5
je 0x100e2724
cmp cl, 6
jne 0x100e2809
cmp edx, 9
ja case.0x100e2730.0
movzx ecx, byte [edx + 0x100e2a28]
jmp dword [ecx*4 + 0x100e2a1c]
add eax, 0x28
jmp 0x100e2752
mov eax, dword [esp + 0x10]
jmp 0x100e2752
cmp dword [esp + 0x88], 0
jne case.0x100e23d0.0
mov eax, edi
mov ecx, eax
call fcn.100e2ea0
mov byte [esp + 0x60], al
cmp al, 0xff
je 0x100e2809
lea eax, [esp + 0xe8]
mov ecx, ebx
push eax
call fcn.100dfdf0
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x60]
add edi, 0xcc
mov cx, word [eax]
mov al, byte [eax + 2]
mov word [esp + 0x2c], cx
mov byte [esp + 0x17], al
test cl, cl
je 0x100e27b7
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0xc8]
push 3
push ebx
push esi
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd8], eax
call fcn.100e2a50
cmp byte [esp + 0x2d], 0
mov eax, dword [esp + 0x24]
je 0x100e27e4
push 2
push ebx
push esi
lea ecx, [esp + 0xdc]
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], eax
call fcn.100e2a50
mov eax, dword [esp + 0x24]
cmp byte [esp + 0x17], 0
je 0x100e2809
push 0
push ebx
push esi
lea ecx, [esp + 0xe4]
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], eax
call fcn.100e2a50
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x100e2820.0
movzx eax, byte [eax + 0x100e2a40]
jmp dword [eax*4 + 0x100e2a34]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.100870d0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x50], eax
jmp 0x100e2854
mov eax, dword [esp + 0x34]
add eax, 0x10
mov dword [esp + 0x54], eax
jmp 0x100e2854
inc esi
mov dword [esp + 0x58], esi
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x50]
call fcn.10091630
test al, al
je 0x100e23a1
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x10], ebx
mov edi, ebx
cmp edi, dword [esp + 0x20]
je 0x100e2968
mov ebx, dword [esp + 0x90]
mov edx, dword [edi + 4]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [esp + 0xe4], 0
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [esp + 0x98]
and eax, dword [esp + 0xa4]
mov esi, dword [ecx + eax*8 + 4]
cmp esi, ebx
je 0x100e2900
mov eax, dword [ecx + eax*8]
cmp edx, dword [esi + 8]
je 0x100e28fc
nop
cmp esi, eax
je 0x100e2900
mov esi, dword [esi + 4]
cmp edx, dword [esi + 8]
jne 0x100e28f0
test esi, esi
jne 0x100e2902
mov esi, ebx
cmp esi, ebx
je 0x100e2957
mov ecx, dword [esp + 0x28]
push dword [esi + 0xc]
push dword [edi]
lea edx, [ecx + 0xc4]
lea eax, [ecx + 0x18c]
mov dword [esp + 0xb8], edx
add ecx, 0x1ec
mov dword [esp + 0xbc], edx
mov dword [esp + 0xb4], ecx
lea ecx, [esp + 0xb4]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
call fcn.100d8b80
mov ebx, dword [esp + 0x90]
add edi, 8
cmp edi, dword [esp + 0x20]
jne 0x100e2888
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x100e2999
mov ecx, dword [esp + 0x30]
mov eax, ebx
sub ecx, ebx
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x100e298f
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100e29ac
push ecx
push ebx
call fcn.100fa9c7
add esp, 8
lea ecx, [esp + 0x8c]
call fcn.100a59e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10109b42
call fcn.1010a32a
nop
mov cl, 0x29
push cs
adc bh, dl
and ecx, dword [esi]
adc ah, bl
and ecx, dword [esi]
adc al, ah
and ecx, dword [esi]
adc byte [eax], al
add dword [edx], eax
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add esp, dword [esi - 112]
mov al, 37
push cs
adc byte [edi - 0x53eff1db], ah
and eax, 0x100100e
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
nop
fisub word [0x25d9100e]
push cs
adc bl, ch
and eax, 0x100100e
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
nop
add al, 0x27
push cs
adc cl, bh
push cs
adc dh, bh
push cs
adc byte [eax], al
add dword [edx], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi - 112], ah
inc edx
daa
push cs
adc byte [edi], dh
daa
push cs
adc byte [edi], bh
push cs
adc byte [eax], al
add dword [edx], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi - 112], ah
dec edi
sub byte [esi], cl
adc byte [edi], ah
sub byte [esi], cl
adc byte [edx + 0x28], al
push cs
adc byte [eax], al
add dword [edx], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ah, cl
int3