Function at 0x4125b0
Capabilities:
Access peb ldr_data
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f8ab8
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x672494]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x34], edx
mov esi, ecx
cmp dword [esi + 0x14], 8
jb 0x4125e8
mov esi, dword [esi]
xor edi, edi
mov ebx, 7
xor eax, eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x28], ax
mov dword [ebp - 4], eax
movzx eax, word [esi]
test ax, ax
je 0x412654
mov ecx, eax
cmp cx, 0x5c
je 0x412654
cmp edi, ebx
jae 0x41262f
lea eax, [edi + 1]
cmp ebx, 8
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
mov word [eax + edi*2], cx
xor ecx, ecx
mov word [eax + edi*2 + 2], cx
jmp 0x412640
push ecx
mov byte [ebp - 0x40], 0
push dword [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x28]
call fcn.004111c0
movzx eax, word [esi + 2]
add esi, 2
mov ebx, dword [ebp - 0x14]
mov ecx, eax
mov edi, dword [ebp - 0x18]
test ax, ax
jne 0x412608
mov ecx, dword [0x67f500]
mov eax, 0x2aaaaaab
sub ecx, dword [0x67f4fc]
add esi, 2
imul ecx
mov dword [ebp - 0x40], esi
xor esi, esi
sar edx, 2
mov eax, edx
mov dword [ebp - 0x44], esi
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x30], eax
je 0x4126db
xor eax, eax
mov dword [ebp - 0x48], eax
nop word [eax + eax]
add eax, dword [0x67f4fc]
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x4126a0
mov ecx, dword [eax]
cmp ebx, 8
lea esi, [ebp - 0x28]
cmovae esi, dword [ebp - 0x28]
cmp edi, dword [eax + 0x10]
jne 0x412764
mov edx, edi
test edx, edx
je 0x4126d5
sub esi, ecx
nop dword [eax + eax]
mov ax, word [esi + ecx]
cmp ax, word [ecx]
jne 0x412764
add ecx, 2
sub edx, 1
jne 0x4126c0
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
cmp esi, eax
je 0x412bd9
mov eax, dword [esi*4 + 0x646a6c]
mov ecx, 0x209
cmp dword [ebp - 0x34], 0
mov dword [ebp - 0x44], eax
mov eax, 0x109
cmove eax, ecx
mov dword [ebp - 0x48], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx edx, word [eax + 0x2c]
xor edi, edi
mov esi, dword [eax + 0x30]
and edx, 0xfffffffe
mov dword [ebp - 0x30], eax
mov ebx, 0x811c9dc5
lea ecx, [edx + esi]
inc edx
shr edx, 1
cmp esi, ecx
cmova edx, edi
mov dword [ebp - 0x34], edx
test edx, edx
je 0x412760
mov eax, edx
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x412745
or ecx, 0x20
xor ecx, ebx
inc edi
imul ebx, ecx, 0x1000193
add esi, 2
cmp edi, eax
jne 0x412735
mov eax, dword [ebp - 0x30]
cmp ebx, 0x39794115
je 0x412782
mov eax, dword [eax]
jmp 0x41270d
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
inc esi
add eax, 0x18
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x48], eax
cmp esi, dword [ebp - 0x30]
jne 0x412690
jmp 0x4126d8
mov ecx, dword [0x67f388]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x30], esi
test ecx, ecx
jne 0x41282f
test esi, esi
je 0x412827
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], ecx
cmp ecx, esi
je 0x412827
mov eax, dword [ecx + 0x18]
xor ebx, ebx
mov dword [ebp - 0x34], eax
test eax, eax
je 0x412827
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4127fd
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x4127e3
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x4127d6
cmp esi, 0xf0a608a6
je 0x41280a
mov eax, dword [ebp - 0x34]
inc ebx
add edi, 4
cmp ebx, eax
je 0x412827
mov esi, dword [ebp - 0x30]
jmp 0x4127c6
mov esi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x30]
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + edx]
add ecx, edx
jmp 0x412829
xor ecx, ecx
mov dword [0x67f388], ecx
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x48]
or eax, 0x20000
push eax
push 0
push dword [ebp - 0x40]
push dword [ebp - 0x44]
call ecx
test eax, eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x30], eax
jne 0x412980
nop dword [eax]
movzx edx, word [eax + 0x2c]
xor edi, edi
mov esi, dword [eax + 0x30]
and edx, 0xfffffffe
mov ebx, 0x811c9dc5
lea ecx, [edx + esi]
inc edx
shr edx, 1
cmp esi, ecx
cmova edx, edi
mov dword [ebp - 0x38], edx
test edx, edx
je 0x4128b0
mov eax, edx
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x412895
or ecx, 0x20
xor ecx, ebx
inc edi
imul ebx, ecx, 0x1000193
add esi, 2
cmp edi, eax
jne 0x412885
mov eax, dword [ebp - 0x30]
cmp ebx, 0x39794115
je 0x4128b7
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
jmp 0x412860
mov esi, dword [eax + 0x18]
mov eax, dword [0x67f3a8]
mov dword [ebp - 0x30], esi
test eax, eax
jne 0x412bcd
test esi, esi
je 0x412bc6
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
cmp ecx, esi
je 0x412bc6
mov eax, dword [ecx + 0x18]
xor ebx, ebx
mov dword [ebp - 0x38], eax
test eax, eax
je 0x412bc6
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x412939
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x41291f
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x412912
cmp esi, 0x6b36a56a
je 0x41294a
mov eax, dword [ebp - 0x38]
inc ebx
add edi, 4
cmp ebx, eax
je 0x412bc6
mov esi, dword [ebp - 0x30]
jmp 0x412902
mov esi, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
push dword [ebp - 0x44]
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
mov dword [0x67f3a8], eax
call eax
mov esi, 1
jmp 0x412bdb
movzx edx, word [eax + 0x2c]
xor edi, edi
mov esi, dword [eax + 0x30]
and edx, 0xfffffffe
mov ebx, 0x811c9dc5
lea ecx, [edx + esi]
inc edx
shr edx, 1
cmp esi, ecx
cmova edx, edi
mov dword [ebp - 0x38], edx
test edx, edx
je 0x4129d0
mov eax, edx
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x4129b5
or ecx, 0x20
xor ecx, ebx
inc edi
imul ebx, ecx, 0x1000193
add esi, 2
cmp edi, eax
jne 0x4129a5
mov eax, dword [ebp - 0x30]
cmp ebx, 0x39794115
je 0x4129d7
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
jmp 0x412980
mov esi, dword [eax + 0x18]
mov eax, dword [0x67f388]
mov dword [ebp - 0x30], esi
test eax, eax
jne 0x412a88
test esi, esi
je 0x412a81
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
cmp ecx, esi
je 0x412a81
mov eax, dword [ecx + 0x18]
xor ebx, ebx
mov dword [ebp - 0x38], eax
test eax, eax
je 0x412a81
mov edi, dword [ecx + 0x20]
add edi, esi
nop word [eax + eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x412a57
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x412a3d
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x412a30
cmp esi, 0xf0a608a6
je 0x412a64
mov eax, dword [ebp - 0x38]
inc ebx
add edi, 4
cmp ebx, eax
je 0x412a81
mov esi, dword [ebp - 0x30]
jmp 0x412a20
mov esi, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
jmp 0x412a83
xor eax, eax
mov dword [0x67f388], eax
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x48]
or ecx, 0x20019
push ecx
push 0
push dword [ebp - 0x40]
push dword [ebp - 0x44]
call eax
test eax, eax
jne 0x412bd9
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx edx, word [eax + 0x2c]
xor edi, edi
mov esi, dword [eax + 0x30]
and edx, 0xfffffffe
mov dword [ebp - 0x40], eax
mov ebx, 0x811c9dc5
lea ecx, [edx + esi]
inc edx
shr edx, 1
cmp esi, ecx
cmova edx, edi
mov dword [ebp - 0x38], edx
test edx, edx
je 0x412b0b
mov eax, edx
nop dword [eax]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x412af0
or ecx, 0x20
xor ecx, ebx
inc edi
imul ebx, ecx, 0x1000193
add esi, 2
cmp edi, eax
jne 0x412ae0
mov eax, dword [ebp - 0x40]
cmp ebx, 0x39794115
je 0x412b0f
mov eax, dword [eax]
jmp 0x412ab4
mov esi, dword [eax + 0x18]
mov eax, dword [0x67f3a8]
mov dword [ebp - 0x40], esi
test eax, eax
jne 0x412bcd
test esi, esi
je 0x412bc6
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
cmp ecx, esi
je 0x412bc6
mov eax, dword [ecx + 0x18]
xor ebx, ebx
mov dword [ebp - 0x38], eax
test eax, eax
je 0x412bc6
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x412b8d
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x412b73
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x412b66
cmp esi, 0x6b36a56a
je 0x412b9a
mov eax, dword [ebp - 0x38]
inc ebx
add edi, 4
cmp ebx, eax
je 0x412bc6
mov esi, dword [ebp - 0x40]
jmp 0x412b56
mov esi, dword [ebp - 0x34]
mov edx, dword [ebp - 0x40]
push dword [ebp - 0x44]
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
mov dword [0x67f3a8], eax
call eax
mov esi, 1
jmp 0x412bdb
xor eax, eax
mov dword [0x67f3a8], eax
push dword [ebp - 0x44]
call eax
mov esi, 1
jmp 0x412bdb
xor esi, esi
lea ecx, [ebp - 0x28]
call fcn.0040f8c0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004d0a85
mov esp, ebp
pop ebp
ret