Function at 0x424660
Capabilities:
Hash data using fnv
Parse pe header

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x28
push esi
push edi
mov edi, dword [ebx + 0xc]
lea eax, [edi - 5]
cmp eax, 0x25
ja case.default.0x42468a
jmp dword [eax*4 + 0x424a28]
mov edx, 0x31
jmp 0x4247da
mov edx, 0x32
jmp 0x4247da
mov edx, 0x33
jmp 0x4247da
mov edx, 0x34
jmp 0x4247da
mov edx, 0x35
jmp 0x4247da
mov edx, 0x36
jmp 0x4247da
mov edx, 0x37
jmp 0x4247da
mov edx, 0x38
jmp 0x4247da
mov edx, 0x39
jmp 0x4247da
mov edx, 0x30
jmp 0x4247da
mov edx, 0x51
jmp 0x4247da
mov edx, 0x57
jmp 0x4247da
mov edx, 0x45
jmp 0x4247da
mov edx, 0x52
jmp 0x4247da
mov edx, 0x54
jmp 0x4247da
mov edx, 0x59
jmp 0x4247da
mov edx, 0x55
jmp 0x4247da
mov edx, 0x49
jmp 0x4247da
mov edx, 0x4f
jmp 0x4247da
mov edx, 0x50
jmp 0x4247da
mov edx, 0x41
jmp 0x4247da
mov edx, 0x53
jmp 0x4247da
mov edx, 0x44
jmp 0x4247da
mov edx, 0x46
jmp 0x4247da
mov edx, 0x47
jmp 0x4247da
mov edx, 0x48
jmp 0x4247da
mov edx, 0x4a
jmp 0x4247da
mov edx, 0x4b
jmp 0x4247da
mov edx, 0x4c
jmp 0x4247da
mov edx, 0x5a
jmp 0x4247da
mov edx, 0x58
jmp 0x4247da
mov edx, 0x43
jmp 0x4247da
mov edx, 0x56
jmp 0x4247da
mov edx, 0x42
jmp 0x4247da
mov edx, 0x4e
jmp 0x4247da
mov edx, 0x4d
jmp 0x4247da
mov edx, 0x2c
jmp 0x4247da
mov edx, 0x2e
jmp 0x4247da
or edx, 0xffffffff
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 4], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
mov dword [ebp - 0xc], edx
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, 0x4ffca0
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00401b80
cmp dword [eax + 4], 0
jne 0x4249d9
mov esi, dword [ebp - 4]
cmp esi, 0xffffffff
je 0x4249d9
call fcn.0040c170
mov eax, dword [eax + 0x18]
push eax
push edi
call fcn.00424280
add esi, 0xffffffd4
add esp, 8
cmp esi, 0x2e
ja case.0x424862.45
jmp dword [esi*4 + 0x424ac0]
mov ecx, str.1234567890QWERTYUIOPASDFGHJKLZXVBNM_
jmp 0x4249b4
mov ecx, 0x4a73a8
jmp 0x4249b4
mov ecx, 0x4a73ac
jmp 0x4249b4
mov ecx, 0x4a73b0
jmp 0x4249b4
mov ecx, 0x4a73b4
jmp 0x4249b4
mov ecx, 0x4a73b8
jmp 0x4249b4
mov ecx, 0x4a73bc
jmp 0x4249b4
mov ecx, 0x4a73c0
jmp 0x4249b4
mov ecx, 0x4a73c4
jmp 0x4249b4
mov ecx, 0x4a73c8
jmp 0x4249b4
mov ecx, 0x4a73cc
jmp 0x4249b4
mov ecx, 0x4a73d0
jmp 0x4249b4
mov ecx, 0x4a73d4
jmp 0x4249b4
mov ecx, 0x4a73d8
jmp 0x4249b4
mov ecx, 0x4a73dc
jmp 0x4249b4
mov ecx, 0x4a73e0
jmp 0x4249b4
mov ecx, 0x4a73e4
jmp 0x4249b4
mov ecx, 0x4a73e8
jmp 0x4249b4
mov ecx, 0x4a73ec
jmp 0x4249b4
mov ecx, 0x4a73f0
jmp 0x4249b4
mov ecx, 0x4a73f4
jmp 0x4249b4
mov ecx, 0x4a73f8
jmp 0x4249b4
mov ecx, 0x4a73fc
jmp 0x4249b4
mov ecx, 0x4a7400
jmp 0x4249b4
mov ecx, 0x4a7404
jmp 0x4249b4
mov ecx, 0x4a7408
jmp 0x4249b4
mov ecx, 0x4a740c
jmp 0x4249b4
mov ecx, 0x4a7410
jmp 0x4249b4
mov ecx, 0x4a7414
jmp 0x4249b4
mov ecx, 0x4a7418
jmp 0x4249b4
mov ecx, 0x4a741c
jmp 0x4249b4
mov ecx, 0x4a6de8
jmp 0x4249b4
mov ecx, 0x4a7420
jmp 0x4249b4
mov ecx, 0x4a7424
jmp 0x4249b4
mov ecx, 0x4a7428
jmp 0x4249b4
mov ecx, 0x4a742c
jmp 0x4249b4
mov ecx, 0x4a7430
jmp 0x4249b4
mov ecx, 0x4a6e1c
jmp 0x4249b4
mov ecx, str.unknown
mov dword [ebp - 0x20], eax
sub esp, 0x10
mov dword [ebp - 0x18], ecx
mov eax, esp
movaps xmm0, xmmword [ebp - 0x20]
lea ecx, [ebp - 0x20]
movaps xmmword [ebp - 0x20], xmm0
push 6
mov dword [eax], 0xcc
push 0x4a765c
jmp 0x424a06
call fcn.0040c170
mov eax, dword [eax + 0x18]
push eax
push edi
call fcn.00424280
mov ecx, dword [ebp - 0xc]
sub esp, 8
mov dword [ebp - 8], eax
mov eax, esp
mov dword [ebp - 4], ecx
lea ecx, [ebp - 8]
push 4
mov dword [eax], 0xc
push 0x4a7654
mov esi, dword [ebx + 8]
mov dword [eax + 4], 0
push esi
mov dword [eax + 8], ecx
call fcn.00485770
add esp, 0x1c
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret