Function at 0x414f08
Capabilities:
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc0
mov edi, dword [esp + 0xd4]
mov dword [esp], 0xaa937b77
mov ebx, 0xeee9bf99
cmp dword [esp + 0xdc], 4
jae 0x414f34
mov ebx, 0xa076448d
not edi
mov eax, dword [esp]
cmp eax, 0x845a73
jle 0x414f9c
cmp eax, 0x4431cd5a
jg 0x414ffe
cmp eax, 0x13d0c0b7
jle 0x4151af
cmp eax, 0x3179aa01
jg 0x415234
cmp eax, 0x241b1474
jg 0x41563f
cmp eax, 0x13d0c0b8
je 0x415a5f
cmp eax, 0x1ceb96f1
jne 0x414f36
mov eax, dword [esp + 0x90]
lea eax, [eax*4 + 0x4718e0]
mov dword [esp + 0x94], eax
mov dword [esp], 0x602deeaf
jmp 0x414f36
cmp eax, 0xc7b8ff6c
jle 0x41506b
cmp eax, 0xe26df8f1
jle 0x415119
cmp eax, 0xf0d8d6c8
jg 0x4151f8
cmp eax, 0xeb227f64
jg 0x4155d1
cmp eax, 0xe26df8f2
je 0x415989
cmp eax, 0xe7dc6a3e
jne 0x414f36
mov eax, dword [esp + 0xa8]
mov eax, dword [eax]
xor eax, dword [esp + 0x98]
mov dword [esp + 0x4c], eax
mov dword [esp], 0xe26df8f2
jmp 0x414f36
cmp eax, 0x64ee4231
jg 0x4150ae
cmp eax, 0x4f223571
jle 0x415276
cmp eax, 0x5f257484
jg 0x41557f
cmp eax, 0x4f223572
je 0x41591c
cmp eax, 0x5ad917fc
jne 0x414f36
mov eax, dword [esp + 4]
mov ecx, eax
shr ecx, 6
imul ecx, ecx
imul edx, ecx, 0x2803
dec edx
shl eax, 4
and eax, 0x1ffffc00
mov dword [esp + 4], eax
mov eax, 0x6e5c2dc9
cmp edx, ecx
je 0x415c27
mov eax, 0x5f257485
jmp 0x415c27
cmp eax, 0xaf97212a
jg 0x41515d
cmp eax, 0x90fbe530
jle 0x415352
cmp eax, 0xa076448c
jg 0x4154f6
cmp eax, 0x90fbe531
je 0x4157fd
cmp eax, 0x9d1fe6d8
jne 0x414f36
mov dword [esp], 0xc71cd4ca
jmp 0x414f36
cmp eax, 0x6e5c2dc8
jg 0x4152b8
cmp eax, 0x6c9a1992
jg 0x41543a
cmp eax, 0x64ee4232
je 0x41576f
cmp eax, 0x65a2ab43
jne 0x414f36
mov eax, dword [esp + 4]
shl eax, 2
and eax, 0x1ffffc
imul eax, eax, 0x4b
add eax, 0xfffff1a5
mov dword [esp + 4], eax
mov dword [esp], 0x88be01a0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
jmp 0x414f36
cmp eax, 0xdd27e91a
jle 0x4152f5
cmp eax, 0xe04cd1eb
jg 0x4154a5
cmp eax, 0xdd27e91b
je 0x41579d
cmp eax, 0xe02f4fe2
jne 0x414f36
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0xac], eax
mov dword [esp], 0x5ad917fc
jmp 0x414f36
cmp eax, 0xbcf08c17
jle 0x41538a
cmp eax, 0xc3501d21
jg 0x415518
cmp eax, 0xbcf08c18
je 0x415835
cmp eax, 0xbf8677a6
jne 0x414f36
movzx eax, byte [esp + 0xf]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x60]
movzx eax, al
mov dword [esp + 0xa0], eax
mov dword [esp], 0x90fbe531
jmp 0x414f36
cmp eax, 0x80ea685
jle 0x4153e2
cmp eax, 0xbcb9fe5
jg 0x415545
cmp eax, 0x80ea686
je 0x4158c2
cmp eax, 0xa3fe076
jne 0x414f36
imul eax, dword [esp + 4], 0x6c800
add eax, 0x6d8c0
mov dword [esp + 4], eax
mov dword [esp], 0x3a09e3b4
jmp 0x414f36
cmp eax, 0xf3916fd4
jg 0x41560e
cmp eax, 0xf0d8d6c9
je 0x415995
cmp eax, 0xf247de0f
jne 0x414f36
imul eax, dword [esp + 4], 0xf100
or eax, 0x55
mov dword [esp + 4], eax
mov dword [esp], 0x80ea686
jmp 0x414f36
cmp eax, 0x3bc3b378
jg 0x415675
cmp eax, 0x3179aa02
je 0x415a74
cmp eax, 0x3a09e3b4
jne 0x414f36
mov eax, dword [esp + 0x80]
lea eax, [eax*4 + 0x4718e0]
mov dword [esp + 0x84], eax
mov dword [esp], 0x4da77fde
jmp 0x414f36
cmp eax, 0x47b9c608
jg 0x4156c6
cmp eax, 0x4431cd5b
je 0x415736
cmp eax, 0x459792f2
jne 0x414f36
mov eax, dword [esp + 0x9c]
xor eax, dword [esp + 0xa0]
mov dword [esp + 0xa4], eax
mov dword [esp], 0xf247de0f
jmp 0x414f36
cmp eax, 0x724743a2
jle 0x4156ed
cmp eax, 0x724743a3
je 0x41575a
cmp eax, 0x7e43d795
jne 0x414f36
mov eax, dword [esp + 4]
shl eax, 0x13
add eax, 0xfffeb77e
mov dword [esp + 4], eax
mov dword [esp], 0x845a74
jmp 0x414f36
cmp eax, 0xc7b8ff6d
je 0x415b99
cmp eax, 0xccb8bb14
je 0x415ae4
cmp eax, 0xd85c26d6
jne 0x414f36
cmp dword [esp + 0x58], 0
mov eax, 0x6c9a1993
je 0x415327
mov eax, 0x88be01a0
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
jmp 0x414f36
cmp eax, 0x88be01a0
je 0x415bc9
cmp eax, 0x8927a85f
je 0x415b1b
cmp eax, 0x895cf966
jne 0x414f36
mov eax, dword [esp + 0x5c]
movzx eax, al
mov dword [esp + 0x70], eax
mov dword [esp], 0x7e43d795
jmp 0x414f36
cmp eax, 0xaf97212b
je 0x415bf0
cmp eax, 0xb2409be6
je 0x415b27
cmp eax, 0xb244b70c
jne 0x414f36
mov ecx, dword [esp + 4]
add ecx, 0x23
imul eax, ecx, 0x9a2f
imul ecx, ecx
imul edx, ecx, 0x1075
dec edx
add eax, 0xffff4ad0
mov dword [esp + 4], eax
mov eax, 0x4431cd5b
cmp edx, ecx
je 0x415c27
mov eax, 0xe7dc6a3e
jmp 0x415c27
cmp eax, 0x845a74
je 0x415c2f
cmp eax, 0x6f0d1ed
je 0x415b70
cmp eax, 0x76d9ca6
jne 0x414f36
mov eax, dword [esp + 0x94]
mov eax, dword [eax]
xor eax, dword [esp + 0x8c]
movzx ecx, al
shr eax, 8
mov edx, dword [esp + 0x10]
movzx edx, byte [edx + 3]
xor ecx, edx
xor eax, dword [ecx*4 + 0x4718e0]
mov dword [esp + 0x44], eax
mov dword [esp], 0xc7b8ff6d
jmp 0x414f36
cmp eax, 0x6c9a1993
je 0x415786
cmp eax, 0x6de2b0ce
jne 0x414f36
mov ebp, dword [esp + 8]
mov eax, 0xfffffef4
add ebp, eax
mov esi, ebp
shr esi, 5
mov dword [esp + 8], esi
push esi
push 0x2761
push 0xaf8
push 0x1472
push 0x5572
call fcn.0041b1c2
add esp, 0x14
push esi
call fcn.0042046e
add esp, 4
mov eax, 0x3bc3b379
cmp ebp, 0x19c0
jb 0x415c27
mov eax, 0xf3916fd5
jmp 0x415c27
cmp eax, 0xe04cd1ec
je 0x4157d7
cmp eax, 0xe05f9074
jne 0x414f36
imul esi, dword [esp + 8], 0x1a6000
or esi, 0xa5
mov dword [esp + 8], esi
push 0x8c3
push 0x18fe
push esi
call fcn.0041b9a8
add esp, 0xc
mov eax, 0x3bc3b379
cmp esi, 0xe0
jae 0x4156bc
jmp 0x415c27
cmp eax, 0xa076448d
je 0x41585d
cmp eax, 0xaa937b77
jne 0x414f36
mov dword [esp], 0x241b1475
jmp 0x414f36
cmp eax, 0xc3501d22
je 0x415884
cmp eax, 0xc71cd4ca
jne 0x414f36
mov eax, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x48], eax
mov dword [esp], 0x8927a85f
jmp 0x414f36
cmp eax, 0xbcb9fe6
je 0x4158e3
cmp eax, 0x12caeac5
jne 0x414f36
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 2]
mov ecx, dword [esp + 0x40]
movzx ecx, cl
xor ecx, eax
mov dword [esp + 0x90], ecx
mov dword [esp], 0xccb8bb14
jmp 0x414f36
cmp eax, 0x5f257485
je 0x415963
cmp eax, 0x602deeaf
jne 0x414f36
mov eax, dword [esp + 4]
shr eax, 2
add eax, 0x114
mov ecx, eax
shl ecx, 0x17
imul eax, eax
imul edx, eax, 0x43f
dec edx
or ecx, 0x72800
mov dword [esp + 4], ecx
mov ecx, 0x6de2b0ce
cmp edx, eax
je 0x4158ba
mov ecx, 0x76d9ca6
jmp 0x4158ba
cmp eax, 0xeb227f65
je 0x4159f6
cmp eax, 0xeee9bf99
jne 0x414f36
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov dword [esp], 0xeb227f65
jmp 0x414f36
cmp eax, 0xf3916fd5
je 0x415a17
cmp eax, 0xf6c5cd5b
jne 0x414f36
mov eax, dword [esp + 4]
add eax, eax
and eax, 0xfffff000
mov dword [esp + 4], eax
mov dword [esp], 0x724743a3
jmp 0x414f36
cmp eax, 0x241b1475
je 0x415a9b
cmp eax, 0x2aba2a05
jne 0x414f36
imul eax, dword [esp + 8], 0xcb
shr eax, 8
add eax, 0xbe
mov dword [esp + 8], eax
mov dword [esp], 0xeb227f65
jmp 0x414f36
cmp eax, 0x3bc3b379
je 0x415ac9
cmp eax, 0x4157743f
jne 0x414f36
mov esi, dword [esp + 8]
mov eax, 0xb3
add esi, eax
shr esi, 3
add esi, 0xffffffb2
mov dword [esp + 8], esi
push esi
push 0x5a36
call fcn.0041cfc4
add esp, 8
mov eax, 0x845a74
cmp esi, 2
je 0x415c27
mov eax, 0x64ee4232
jmp 0x415c27
cmp eax, 0x4da77fde
jne 0x415c68
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
mov dword [esp], 0x6f0d1ed
jmp 0x414f36
cmp eax, 0x6e5c2dc9
jne 0x415c74
mov eax, dword [esp + 8]
add eax, 0x64
shr eax, 5
imul esi, eax, 0x4a
mov dword [esp + 8], esi
push 0x40b6
push 0x1c10
push 0x3a45
push esi
call fcn.00416325
add esp, 0x10
push esi
call fcn.004210b0
add esp, 4
mov dword [esp], 0x4431cd5b
jmp 0x414f36
mov eax, dword [esp + 0x60]
shr eax, 8
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x64]
mov al, byte [eax]
mov byte [esp + 0xf], al
mov dword [esp], 0xe04cd1ec
jmp 0x414f36
movzx eax, byte [esp + 0xd]
mov dword [esp + 0x6c], eax
mov dword [esp], 0xdd27e91b
jmp 0x414f36
mov eax, dword [esp + 0x3c]
movzx eax, al
mov dword [esp + 0x7c], eax
mov dword [esp], 0x3bc3b379
jmp 0x414f36
mov eax, dword [esp + 0x14]
mov dword [esp + 0xbc], eax
mov dword [esp], 0x47b9c609
jmp 0x414f36
mov eax, dword [esp + 4]
shr eax, 2
and eax, 0x1ffffff
add eax, 0x46
imul ecx, eax, 0xc6
imul eax, eax
imul edx, eax, 0x3dff
dec edx
mov dword [esp + 4], ecx
mov ecx, 0x724743a3
cmp eax, edx
je 0x4158ba
mov ecx, 0x895cf966
jmp 0x4158ba
imul eax, dword [esp + 4], 0xaa
shr eax, 7
imul eax, eax, 0xa80
add eax, 0x238
mov dword [esp + 4], eax
mov dword [esp], 0xbf8677a6
jmp 0x414f36
mov eax, dword [esp + 4]
mov ecx, 0xffffff58
add eax, ecx
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x69f9
shl eax, 4
and eax, 0xffffff80
dec edx
mov dword [esp + 4], eax
mov eax, 0xd85c26d6
cmp edx, ecx
je 0x415c27
mov eax, 0x459792f2
jmp 0x415c27
mov esi, dword [esp + 8]
add esi, 0xf
mov dword [esp + 8], esi
call fcn.00424d1f
mov eax, 0x895cf966
cmp esi, 0x3d
je 0x415c27
mov eax, 0xaf97212b
jmp 0x415c27
mov eax, dword [esp + 0x30]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x58], eax
mov dword [esp], 0xd85c26d6
jmp 0x414f36
imul eax, dword [esp + 4], 0xd0
add eax, 0x7d
shr eax, 0xc
imul ecx, eax, 0xa7
imul eax, eax
imul edx, eax, 0x2059
dec edx
add ecx, 0xffff5af5
mov dword [esp + 4], ecx
mov ecx, 0x2aba2a05
cmp eax, edx
je 0x4158ba
mov ecx, 0x13d0c0b8
mov dword [esp], ecx
jmp 0x414f36
mov eax, dword [esp + 0xa4]
lea eax, [eax*4 + 0x4718e0]
mov dword [esp + 0xa8], eax
mov dword [esp], 0xb244b70c
jmp 0x414f36
imul esi, dword [esp + 8], 0x6cf1
add esi, 0xffb95b1a
shr esi, 0xe
mov dword [esp + 8], esi
push esi
call fcn.00419b2a
add esp, 4
mov eax, 0x3bc3b379
cmp esi, 0xf4
je 0x415c27
mov eax, 0x12caeac5
jmp 0x415c27
mov ebp, dword [esp + 8]
add ebp, 0xffffff84
mov eax, ebp
shr eax, 1
mov dword [esp + 8], eax
push 0x489c
push 0x1eac
push 0xcc
push eax
call fcn.0041a666
add esp, 0x10
call fcn.0042772b
mov eax, 0x6f0d1ed
cmp ebp, 0x1b0
jae 0x415c27
mov eax, 0x895cf966
jmp 0x415c27
mov eax, dword [esp + 0xb8]
dec eax
mov dword [esp + 0x50], eax
cmp dword [esp + 0x50], 0
mov eax, 0x3179aa02
je 0x415c27
mov eax, 0x65a2ab43
jmp 0x415c27
mov dword [esp], 0xe02f4fe2
jmp 0x414f36
imul esi, dword [esp + 8], 0x5800
mov ebp, esi
shr ebp, 9
mov dword [esp + 8], ebp
push 0x2c27
push 0x2668
push 0x35c3
push ebp
call fcn.004202f5
add esp, 0x10
push 0x2558
push 0x4d5a
push 0x1edd
push ebp
push 0x465d
call fcn.00419a17
add esp, 0x14
mov eax, 0x6d3a3981
cmp esi, 0x6e01
jae 0x415c27
mov eax, 0x76d9ca6
jmp 0x415c27
mov eax, dword [esp + 0x5c]
shr eax, 8
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x10]
mov al, byte [eax]
mov byte [esp + 0xd], al
mov dword [esp], 0xf6c5cd5b
jmp 0x414f36
mov ebp, dword [esp + 8]
shr ebp, 8
add ebp, 0xe7
mov dword [esp + 8], ebp
push 0x5bd9
push 0x523
push 0x2c40
push ebp
call fcn.00426bcc
add esp, 0x10
push 0x1558
push 0xd44
push ebp
call fcn.0042105a
add esp, 0xc
mov dword [esp], 0x12caeac5
jmp 0x414f36
movzx eax, byte [esp + 0xe]
mov dword [esp + 0x78], eax
mov dword [esp], 0x64ee4232
jmp 0x414f36
mov eax, dword [esp + 4]
shr eax, 5
and eax, 0xffffff80
add eax, 0x346
mov dword [esp + 4], eax
mov dword [esp], 0x6c9a1993
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
jmp 0x414f36
mov dword [esp], ebx
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], edi
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], eax
jmp 0x414f36
mov eax, dword [esp + 0x78]
xor eax, dword [esp + 0x7c]
mov dword [esp + 0x80], eax
mov dword [esp], 0xa3fe076
jmp 0x414f36
mov ecx, dword [esp + 4]
shr ecx, 8
imul eax, ecx, 0x23ee
imul ecx, ecx
imul edx, ecx, 0x242d
dec edx
add eax, 0xffe6bca8
mov dword [esp + 4], eax
mov eax, 0xbcf08c18
cmp edx, ecx
je 0x415c27
mov eax, 0x1ceb96f1
jmp 0x415c27
mov dword [esp], 0xb2409be6
jmp 0x414f36
mov eax, dword [esp + 0xb4]
add eax, 0xfffffffc
mov ecx, 0xeee9bf99
cmp eax, 4
jae 0x415b40
mov ecx, 0xa076448d
mov dword [esp], ecx
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
jmp 0x414f36
mov eax, dword [esp + 0x74]
xor eax, dword [esp + 0x88]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
shr eax, 8
mov dword [esp + 0x8c], eax
mov dword [esp], 0x12caeac5
jmp 0x414f36
imul ecx, dword [esp + 4], 0x5a00
shr ecx, 0xc
lea eax, [ecx*4 - 0xd2]
imul ecx, ecx
imul edx, ecx, 0x1e81
dec edx
mov dword [esp + 4], eax
mov eax, 0xf0d8d6c9
cmp edx, ecx
je 0x415c27
mov eax, 0x9d1fe6d8
jmp 0x415c27
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x64], eax
mov dword [esp], 0x4431cd5b
jmp 0x414f36
imul esi, dword [esp + 8], 0xef300
add esi, 0xf47f3e99
mov dword [esp + 8], esi
push 0x282c
push 0x13c7
push esi
call fcn.004196a9
add esp, 0xc
mov eax, 0xbcb9fe6
cmp esi, 0xd1
jb 0x415c27
mov eax, 0x845a74
mov dword [esp], eax
jmp 0x414f36
mov eax, dword [esp + 0x6c]
xor eax, dword [esp + 0x70]
mov eax, dword [eax*4 + 0x4718e0]
xor eax, dword [esp + 0x68]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
shr eax, 8
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x10]
mov al, byte [eax + 1]
mov byte [esp + 0xe], al
mov dword [esp], 0xc3501d22
jmp 0x414f36
cmp eax, 0x47b9c609
je 0x415c98
jmp 0x414f36
cmp eax, 0x6fa149df
jne 0x414f36
mov eax, 0x160
add eax, dword [esp + 8]
shr eax, 0xa
add eax, 0xffffff81
mov dword [esp + 8], eax
push eax
call fcn.00420362
mov eax, dword [esp + 0xbc]
not eax
add esp, 0xc0
pop esi
pop edi
pop ebx
pop ebp
ret