Function at 0x1004e1c0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
mov ecx, dword [ebp + 0xc]
push 0xffffffffffffffff
push 0x100c3480
push eax
mov dword fs:[0], esp
sub esp, 0x44
push ebx
mov ebx, dword [ecx + 0x34]
push esi
push edi
mov eax, dword [ebx + 0x18]
mov al, byte [eax + 0x89]
cmp al, 3
je 0x1004e1f9
cmp al, 8
jne 0x1004e6c6
cmp dword [0x100fec08], 0
jbe 0x1004e29e
mov ebx, dword [ebx + 0x28]
mov eax, ebx
shr eax, 8
movzx ecx, al
movzx eax, bl
xor eax, 0x811c9dc5
mov esi, dword [0x100fec0c]
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul ecx, ecx, 0x1000193
and ecx, dword [0x100fec18]
mov eax, dword [esi + ecx*8]
add ecx, ecx
mov edi, dword [esi + ecx*4]
lea edx, [ecx*4 + 4]
mov dword [ebp - 0x10], edx
mov edx, dword [0x100fec04]
cmp edi, edx
jne 0x1004e270
mov ecx, edx
jmp 0x1004e278
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + esi]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x1004e29e
cmp dword [eax + 8], ebx
je 0x1004e285
mov eax, dword [eax]
jmp 0x1004e268
cmp eax, edx
je 0x1004e29e
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [0x100febc8], 0
jbe 0x1004e335
mov ebx, dword [ebp + 8]
mov esi, dword [0x100febcc]
mov ebx, dword [ebx + 4]
mov eax, ebx
shr eax, 8
movzx ecx, al
movzx eax, bl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul ecx, ecx, 0x1000193
and ecx, dword [0x100febd8]
mov eax, dword [esi + ecx*8]
add ecx, ecx
mov edi, dword [esi + ecx*4]
lea edx, [ecx*4 + 4]
mov dword [ebp - 0x10], edx
mov edx, dword [0x100febc4]
cmp edi, edx
jne 0x1004e318
mov ecx, edx
jmp 0x1004e320
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + esi]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x1004e335
cmp dword [eax + 8], ebx
je 0x1004e32d
mov eax, dword [eax]
jmp 0x1004e310
cmp eax, edx
jne 0x1004e289
mov edx, dword [ebp + 8]
add edx, 0x10
cmp dword [edx + 0x14], 0x10
jb 0x1004e343
mov edx, dword [edx]
mov ecx, edx
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e360
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x30]
call fcn.1000a420
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 0x10
mov edx, dword [ebp - 0x20]
cmovae ecx, dword [ebp - 0x30]
push 8
push str.GIGONGTA
push ecx
call fcn.10007490
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1004e696
cmp byte [0x100fe08d], 0
mov ebx, dword [ebp + 0x10]
je 0x1004e3f0
mov eax, dword [ebx]
mov ecx, ebx
push 0xdd87
mov eax, dword [eax + 0x278]
call eax
mov esi, eax
mov byte [ebp + 8], 2
lea eax, [ebp + 8]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], 0x404090
mov edx, dword [ebp - 0x10]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x14]
call dword [ebp - 0x18]
mov eax, dword [ebx]
mov ecx, ebx
push esi
mov eax, dword [eax + 0x27c]
call eax
cmp byte [0x100fe068], 0
jne 0x1004e477
mov dx, word [0x100fe0c0]
mov eax, 0x64a
cmp dx, ax
je 0x1004e477
mov eax, 0x669
cmp dx, ax
je 0x1004e477
call fcn.10027a50
test al, al
jne 0x1004e477
mov eax, 0x8c4
cmp dx, ax
je 0x1004e477
call fcn.10027aa0
test al, al
jne 0x1004e477
cmp dx, 0x38
je 0x1004e477
mov eax, 0x787
cmp dx, ax
je 0x1004e477
mov eax, 0x533
cmp dx, ax
je 0x1004e477
call fcn.10027ac0
test al, al
jne 0x1004e477
cmp dx, 0x6d
je 0x1004e477
mov eax, 0x857
cmp dx, ax
je 0x1004e477
mov eax, 0x69b
cmp dx, ax
je 0x1004e477
mov eax, 0x967
cmp dx, ax
jne 0x1004e4da
mov eax, dword [ebx]
mov ecx, ebx
push 0x30cf
mov eax, dword [eax + 0x278]
call eax
mov esi, eax
mov byte [ebp + 8], 0xd6
lea eax, [ebp + 8]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0x404090
mov edx, dword [ebp - 0x18]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x10]
call dword [ebp - 0x14]
lea eax, [ebp + 8]
mov byte [ebp + 8], 1
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0x404090
mov edx, dword [ebp - 0x18]
push edx
mov eax, 1
mov ecx, dword [ebp - 0x10]
call dword [ebp - 0x14]
mov eax, dword [ebx]
mov ecx, ebx
push esi
mov eax, dword [eax + 0x27c]
call eax
cmp byte [0x100fe071], 0
je 0x1004e696
mov edi, dword [ebp + 0xc]
add edi, 8
mov esi, dword [0x100fea8c]
movzx eax, byte [edi]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edi + 1]
xor ecx, eax
movzx eax, byte [edi + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edi + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul ecx, ecx, 0x1000193
and ecx, dword [0x100fea98]
mov eax, dword [esi + ecx*8]
add ecx, ecx
lea edx, [ecx*4 + 4]
mov ecx, dword [esi + ecx*4]
mov dword [ebp + 8], edx
mov edx, dword [0x100fea84]
mov dword [ebp - 0x18], ecx
cmp ecx, edx
jne 0x1004e54e
mov ecx, edx
jmp 0x1004e556
mov ecx, dword [ebp + 8]
mov ecx, dword [esi + ecx]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x1004e568
mov ecx, dword [eax + 8]
cmp ecx, dword [edi]
je 0x1004e56a
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
jmp 0x1004e546
mov eax, edx
cmp eax, edx
jne 0x1004e599
lea ecx, [ebp - 0x50]
call fcn.10028540
push eax
push edi
mov ecx, 0x100fea80
mov byte [ebp - 4], 1
call fcn.100653d0
mov ecx, eax
call fcn.10028490
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0
call fcn.10021bc0
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 8]
call eax
push edi
mov ecx, 0x100fea80
mov dword [ebp + 8], eax
call fcn.100653d0
push edi
mov ecx, 0x100fea80
mov esi, dword [eax + 4]
call fcn.100653d0
mov edi, eax
mov eax, dword [ebp + 8]
movzx ecx, al
xor ecx, 0x811c9dc5
imul edx, ecx, 0x1000193
movzx ecx, ah
movzx eax, byte [ebp + 0xb]
xor edx, ecx
movzx ecx, byte [ebp + 0xa]
imul edx, edx, 0x1000193
xor edx, ecx
imul ecx, edx, 0x1000193
mov edx, dword [edi + 0xc]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [edi + 0x18]
mov edi, dword [edi + 4]
and ecx, eax
mov eax, dword [edx + ecx*8]
add ecx, ecx
mov ebx, dword [edx + ecx*4]
add edx, 4
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
lea ecx, [edx + ecx*4]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x14], ecx
nop word [eax + eax]
cmp dword [ebp - 0x18], edi
jne 0x1004e629
mov ecx, edi
jmp 0x1004e62d
mov ecx, dword [ecx]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x1004e63d
cmp dword [eax + 8], edx
je 0x1004e63f
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
jmp 0x1004e620
mov eax, edi
cmp eax, esi
mov ecx, ebx
mov eax, dword [ebx]
mov eax, dword [eax + 8]
jne 0x1004e673
call eax
mov dword [ebp + 8], eax
mov ecx, 0x100fea80
lea eax, [ebp + 8]
push eax
mov eax, dword [ebp + 0xc]
add eax, 8
push eax
call fcn.100653d0
mov ecx, eax
call fcn.1000e5e0
mov dword [eax], 1
jmp 0x1004e696
call eax
mov dword [ebp + 8], eax
mov ecx, 0x100fea80
lea eax, [ebp + 8]
push eax
mov eax, dword [ebp + 0xc]
add eax, 8
push eax
call fcn.100653d0
mov ecx, eax
call fcn.1000e5e0
inc dword [eax]
mov edx, dword [ebp - 0x1c]
cmp edx, 0x10
jb 0x1004e6c6
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004e6bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004e6db
push edx
push ecx
call fcn.1006cd71
add esp, 8
mov ecx, dword [ebp - 0xc]
xor al, al
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
call fcn.10087f1c
int3