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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xcc
mov edi, dword [esp + 0xe0]
mov dword [esp], 0xaa937b77
mov dword [esp + 0x18], 0x724743a3
cmp dword [esp + 0xe8], 4
jae 0x415046
mov dword [esp + 0x18], 0xeee9bf99
not edi
mov eax, dword [esp]
cmp eax, 0xf6c5cd5a
jg 0x4150c4
cmp eax, 0xc71cd4c9
jg 0x415121
cmp eax, 0xaf97212a
jg 0x415205
cmp eax, 0x90fbe530
jg 0x41536a
cmp eax, 0x895cf965
jg 0x4155a1
cmp eax, 0x88be01a0
je 0x41596b
cmp eax, 0x8927a85f
jne 0x415048
imul eax, dword [esp + 8], 0xa7
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x6759
add eax, 0xffffff7b
dec edx
mov dword [esp + 8], eax
mov eax, 0xc7b8ff6d
cmp edx, ecx
je 0x415db6
mov eax, 0xc71cd4ca
jmp 0x415db6
cmp eax, 0x4431cd5a
jg 0x415179
cmp eax, 0x13d0c0b7
jg 0x415258
cmp eax, 0x80ea685
jg 0x4153a3
cmp eax, 0x6f0d1ec
jg 0x4155f3
cmp eax, 0xf6c5cd5b
je 0x41535e
cmp eax, 0x845a74
jne 0x415048
mov eax, dword [esp + 0x68]
movzx eax, al
xor eax, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov dword [esp], 0xc3501d22
jmp 0x415048
cmp eax, 0xe05f9073
jg 0x4152ad
cmp eax, 0xd85c26d5
jg 0x4153ea
cmp eax, 0xccb8bb13
jg 0x415643
cmp eax, 0xc71cd4ca
je 0x415993
cmp eax, 0xc7b8ff6d
jne 0x415048
mov eax, dword [esp + 0x50]
movzx eax, al
xor eax, dword [esp + 0xa4]
mov dword [esp + 0xa8], eax
mov dword [esp], 0x8927a85f
jmp 0x415048
cmp eax, 0x65a2ab42
jg 0x415316
cmp eax, 0x5ad917fb
jg 0x415420
cmp eax, 0x47b9c608
jg 0x415674
cmp eax, 0x4431cd5b
je 0x4159b4
cmp eax, 0x459792f2
jne 0x415048
mov ecx, dword [esp + 8]
mov eax, 0xffffff6c
add ecx, eax
imul eax, ecx, 0x1c0000
imul ecx, ecx
imul edx, ecx, 0x387
dec edx
add eax, 0xde40000
mov dword [esp + 8], eax
mov eax, 0x47b9c609
cmp edx, ecx
je 0x4151e2
mov eax, 0xe04cd1ec
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], eax
jmp 0x415048
cmp eax, 0xb986bc78
jg 0x415458
cmp eax, 0xb2409be5
jg 0x4156bc
cmp eax, 0xaf97212b
je 0x4159e8
cmp eax, 0xb193b39f
jne 0x415048
mov eax, dword [esp + 4]
lea ecx, [eax*8]
sub ecx, eax
add ecx, 0x38
mov dword [esp + 4], ecx
mov eax, 0xa3fe076
cmp ecx, 0xc
jge 0x415c28
jmp 0x415db6
cmp eax, 0x31a7ca91
jg 0x4154d4
cmp eax, 0x241b1474
jg 0x4156ee
cmp eax, 0x13d0c0b8
je 0x415a31
cmp eax, 0x1ceb96f1
jne 0x415048
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 2]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x4c]
movzx eax, al
mov dword [esp + 0x9c], eax
mov dword [esp], 0x76d9ca6
jmp 0x415048
cmp eax, 0xeee9bf98
jg 0x415517
cmp eax, 0xe7dc6a3d
jg 0x41571c
cmp eax, 0xe05f9074
je 0x415a4f
cmp eax, 0xe26df8f2
jne 0x415048
mov eax, dword [esp + 0xc4]
mov ecx, 0x5f257485
add eax, 0xffffffff
je 0x4152ef
mov ecx, 0xe04cd1ec
mov dword [esp], ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0xb8]
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
jmp 0x415048
cmp eax, 0x6e5c2dc8
jle 0x41554f
cmp eax, 0x724743a2
jg 0x41574c
cmp eax, 0x6e5c2dc9
je 0x415a76
cmp eax, 0x6fa149df
jne 0x415048
mov eax, dword [esp + 4]
shr eax, 9
lea eax, [eax*4 + 0x4ac]
and eax, 0x3fff000
add eax, 0xffffff30
mov dword [esp + 4], eax
mov dword [esp], 0x895cf966
jmp 0x415048
cmp eax, 0xa076448c
jg 0x415799
cmp eax, 0x90fbe531
je 0x415bb8
cmp eax, 0x9d1fe6d8
jne 0x415048
movzx eax, byte [esp + 0xe]
mov dword [esp + 0xa4], eax
mov dword [esp], 0xc7b8ff6d
jmp 0x415048
cmp eax, 0xbcb9fe5
jg 0x4157bf
cmp eax, 0x80ea686
je 0x415abd
cmp eax, 0xa3fe076
jne 0x415048
movzx eax, byte [esp + 0xd]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x48]
movzx eax, al
mov dword [esp + 0x8c], eax
mov dword [esp], 0x6f0d1ed
jmp 0x415048
cmp eax, 0xe02f4fe1
jg 0x415808
cmp eax, 0xd85c26d6
je 0x415ae1
cmp eax, 0xdd27e91b
jne 0x415048
movzx eax, byte [esp + 0xc]
mov dword [esp + 0x78], eax
mov dword [esp], 0x7e43d795
jmp 0x415048
cmp eax, 0x602deeae
jg 0x415845
cmp eax, 0x5ad917fc
je 0x415b1b
cmp eax, 0x5f257485
jne 0x415048
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc8], eax
mov dword [esp], 0x6c9a1993
jmp 0x415048
cmp eax, 0xbf8677a5
jg 0x415876
cmp eax, 0xb986bc79
je 0x415b3d
cmp eax, 0xbcf08c18
jne 0x415048
mov esi, dword [esp + 4]
mov ebp, esi
shr ebp, 9
add ebp, 0x16
mov dword [esp + 4], ebp
push 0x5171
push 0x1300
push ebp
call fcn.0041ccb8
add esp, 0xc
push 0x2857
push ebp
push 0x4f74
push 0x42f1
push 0x1749
push 0x29c
call fcn.0041f00d
add esp, 0x18
mov eax, 0xaf97212b
cmp esi, 0x1c400
jb 0x415a27
jmp 0x415db6
cmp eax, 0x3bc3b378
jg 0x4158bd
cmp eax, 0x31a7ca92
je 0x415b8b
cmp eax, 0x3a09e3b4
jne 0x415048
mov eax, dword [esp + 8]
shl eax, 5
and eax, 0x3ffffe0
imul eax, eax, 0xe9
mov dword [esp + 8], eax
mov dword [esp], 0x3bc3b379
jmp 0x415048
cmp eax, 0xf247de0e
jg 0x415906
cmp eax, 0xeee9bf99
je 0x415bc4
cmp eax, 0xf0d8d6c9
jne 0x415048
mov eax, dword [esp + 4]
shr eax, 3
and eax, 0x3fffff
imul eax, eax, 0xae
jmp 0x415d7a
cmp eax, 0x6d3a3980
jle 0x415946
cmp eax, 0x6d3a3981
je 0x415beb
cmp eax, 0x6de2b0ce
jne 0x415048
mov eax, dword [esp + 4]
shr eax, 4
and eax, 0x1ff00
or eax, 0xd
imul ecx, eax, 0x380000
mov dword [esp + 4], ecx
mov eax, 0xdd27e91b
cmp ecx, 0x1c
jl 0x415db6
mov eax, 0xf3916fd5
jmp 0x415db6
cmp eax, 0x895cf966
je 0x415c32
cmp eax, 0x90abbf42
jne 0x415048
mov eax, dword [esp + 4]
shl eax, 0xb
add eax, 0xffffff19
shr eax, 2
mov dword [esp + 4], eax
push 0x2f91
push 0x326a
push eax
push 0x1fd6
call fcn.00415eb1
add esp, 0x10
call fcn.00408722
mov dword [esp], 0xf247de0f
jmp 0x415048
cmp eax, 0x6f0d1ed
je 0x415c53
cmp eax, 0x76d9ca6
jne 0x415048
mov eax, dword [esp + 0x98]
xor eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x94]
xor ecx, dword [eax*4 + 0x4709a0]
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x50]
shr eax, 8
mov dword [esp + 0xa0], eax
mov dword [esp], 0x602deeaf
jmp 0x415048
cmp eax, 0xccb8bb14
je 0x415c74
cmp eax, 0xcccbdac0
jne 0x415048
mov eax, dword [esp + 4]
add eax, eax
add eax, 0x62
mov dword [esp + 4], eax
push eax
call fcn.0041f83d
add esp, 4
jmp 0x4158fa
cmp eax, 0x47b9c609
je 0x415c98
cmp eax, 0x4da77fde
jne 0x415048
imul ecx, dword [esp + 8], 0x6a
shr ecx, 0xd
lea eax, [ecx - 0x1f]
imul ecx, ecx
imul edx, ecx, 0x7c7d
dec edx
shr eax, 1
mov dword [esp + 8], eax
mov eax, 0x6d3a3981
cmp edx, ecx
je 0x415db6
mov eax, 0xa3fe076
jmp 0x415db6
cmp eax, 0xb2409be6
je 0x415ce6
cmp eax, 0xb244b70c
jne 0x415048
mov eax, dword [esp + 8]
shl eax, 0x18
or eax, 0x128023
mov dword [esp + 8], eax
mov dword [esp], 0xe7dc6a3e
jmp 0x415048
cmp eax, 0x241b1475
je 0x415d11
cmp eax, 0x2aba2a05
jne 0x415048
imul eax, dword [esp + 4], 0x58000000
mov dword [esp + 4], eax
mov dword [esp], 0x4157743f
jmp 0x415048
cmp eax, 0xe7dc6a3e
je 0x415d1d
cmp eax, 0xeb227f65
jne 0x415048
cmp dword [esp + 0x64], 0
mov eax, 0x5ad917fc
je 0x415db6
mov eax, 0x459792f2
jmp 0x415db6
cmp eax, 0x724743a3
je 0x415d47
cmp eax, 0x7e43d795
jne 0x415048
mov eax, dword [esp + 8]
shr eax, 7
add eax, 0xffffffe4
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x5f1
shr eax, 0xb
and eax, 0xfffffff0
dec edx
mov dword [esp + 8], eax
mov eax, 0x895cf966
cmp edx, ecx
je 0x415db6
mov eax, 0x845a74
jmp 0x415db6
cmp eax, 0xa076448d
je 0x4158fa
cmp eax, 0xaa937b77
jne 0x415048
mov dword [esp + 0x44], edi
mov dword [esp], 0x241b1475
jmp 0x415048
cmp eax, 0xbcb9fe6
je 0x415d6e
cmp eax, 0x12caeac5
jne 0x415048
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x84]
xor ecx, dword [eax*4 + 0x4709a0]
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x4c]
shr eax, 8
mov dword [esp + 0x94], eax
mov dword [esp], 0xccb8bb14
jmp 0x415048
cmp eax, 0xe02f4fe2
je 0x415d8a
cmp eax, 0xe04cd1ec
jne 0x415048
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], eax
mov dword [esp], 0x90fbe531
jmp 0x415048
cmp eax, 0x602deeaf
je 0x415dbe
cmp eax, 0x64ee4232
jne 0x415048
mov eax, dword [esp + 0x74]
xor eax, dword [esp + 0x80]
mov dword [esp + 0x48], eax
mov dword [esp], 0x3a09e3b4
jmp 0x415048
cmp eax, 0xbf8677a6
je 0x415dd5
cmp eax, 0xc3501d22
jne 0x415048
mov eax, dword [esp + 8]
mov ecx, eax
shr ecx, 0x18
imul ecx, ecx
imul edx, ecx, 0x27db
shr eax, 0x11
and eax, 0x7800
dec edx
mov dword [esp + 8], eax
mov eax, 0xbcb9fe6
cmp edx, ecx
jne 0x415ab3
jmp 0x415db6
cmp eax, 0x3bc3b379
je 0x415e20
cmp eax, 0x4157743f
jne 0x415048
mov eax, dword [esp + 4]
mov ecx, 0xffffff26
add eax, ecx
mov dword [esp + 4], eax
push 0x369d
push eax
push 0x1b6c
push 0x5b7c
call fcn.00416505
add esp, 0x10
mov dword [esp], 0xd85c26d6
jmp 0x415048
cmp eax, 0xf247de0f
je 0x415e45
cmp eax, 0xf3916fd5
jne 0x415048
mov ecx, dword [esp + 4]
mov eax, 0x8c
add ecx, eax
and ecx, 0xfffffffc
mov dword [esp + 4], ecx
mov eax, 0x4f223572
cmp ecx, 0x67
jb 0x415db6
mov eax, 0xf0d8d6c9
jmp 0x415db6
cmp eax, 0x65a2ab43
jne 0x415e6d
mov eax, dword [esp + 0xc0]
add eax, 0xfffffffc
mov dword [esp + 0x14], eax
mov dword [esp], 0xbf8677a6
jmp 0x415048
mov eax, dword [esp + 8]
shl eax, 5
add eax, 0x3e0
shr eax, 1
and eax, 0x7fffc000
add eax, 0xffdb3e59
mov dword [esp + 8], eax
mov dword [esp], 0xb2409be6
jmp 0x415048
mov eax, dword [esp + 0xa8]
lea eax, [eax*4 + 0x4709a0]
mov dword [esp + 0xac], eax
mov dword [esp], 0x88be01a0
jmp 0x415048
mov eax, dword [esp + 8]
lea ecx, [eax + 0x32]
add eax, 0xf6
imul ecx, ecx
shr eax, 0xe
imul edx, ecx, 0x7d8d
dec edx
mov dword [esp + 8], eax
mov eax, 0x76d9ca6
cmp edx, ecx
je 0x415db6
mov eax, 0x65a2ab43
jmp 0x415db6
mov ebp, dword [esp + 4]
shl ebp, 9
add ebp, 0x10e50
mov eax, ebp
shr eax, 3
mov dword [esp + 4], eax
push 0x5ff2
push 0x53de
push eax
push 0x30e3
call fcn.004194f3
add esp, 0x10
mov eax, 0xd85c26d6
cmp ebp, 0x380
jb 0x415db6
mov eax, 0xeb227f65
jmp 0x415db6
mov eax, dword [esp + 0x7c]
mov eax, dword [eax*4 + 0x4709a0]
mov dword [esp + 0x80], eax
mov dword [esp], 0x64ee4232
jmp 0x415048
mov ecx, dword [esp + 4]
mov eax, 0xc8
add ecx, eax
mov dword [esp + 4], ecx
mov eax, 0x6fa149df
cmp ecx, 0x7b
je 0x415db6
mov eax, 0x6e5c2dc9
jmp 0x415db6
mov eax, dword [esp + 4]
lea ebp, [eax + eax*4]
mov esi, ebp
shr esi, 5
mov dword [esp + 4], esi
push 0x25f7
push esi
call fcn.004240e1
add esp, 8
push 0x2141
push esi
call fcn.0041a1df
add esp, 8
mov eax, 0x3bc3b379
cmp ebp, 0x840
jae 0x415db6
mov eax, 0x13d0c0b8
jmp 0x415db6
mov eax, dword [esp + 0x6c]
shr eax, 8
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x70]
mov al, byte [eax]
mov byte [esp + 0xf], al
mov dword [esp], 0xf247de0f
jmp 0x415048
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
jmp 0x415048
mov eax, dword [esp + 8]
and eax, 0xfffffffe
shl eax, 0xa
mov dword [esp + 8], eax
mov dword [esp], 0x5f257485
mov eax, dword [esp + 0x60]
mov dword [esp + 0x1c], eax
jmp 0x415048
imul ebp, dword [esp + 4], 0x49800
add ebp, 0xfd987000
mov esi, ebp
shr esi, 0xa
mov dword [esp + 4], esi
push 0x3af5
push 0x1473
push esi
call fcn.00419e9b
add esp, 0xc
push esi
call fcn.00425864
add esp, 4
mov eax, 0xd85c26d6
cmp ebp, 0xe801
jae 0x415db6
mov eax, 0x31a7ca92
jmp 0x415db6
mov eax, dword [esp + 4]
shl eax, 0xd
add eax, 0x3e400000
and eax, 0xffc00000
mov dword [esp + 4], eax
push 0x2aa
push 0x1621
push eax
push 0x4f28
call fcn.004194f3
add esp, 0x10
mov dword [esp], 0x80ea686
jmp 0x415048
mov eax, dword [esp + 0x38]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x64], eax
mov dword [esp], 0xeb227f65
jmp 0x415048
mov eax, dword [esp + 4]
lea ebp, [eax + eax*8]
shl ebp, 8
add ebp, 0xe070
mov dword [esp + 4], ebp
push 0x92e
push 0x4864
push 0x17e3
push ebp
call fcn.0041f0ce
add esp, 0x10
mov eax, 0xe05f9074
cmp ebp, 0xc6
jb 0x415db6
mov eax, 0xdd27e91b
jmp 0x415db6
mov eax, dword [esp + 0x68]
shr eax, 8
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x10]
mov al, byte [eax]
mov byte [esp + 0xc], al
mov dword [esp], 0xdd27e91b
jmp 0x415048
mov eax, dword [esp + 0x88]
xor eax, dword [esp + 0x8c]
mov dword [esp + 0x90], eax
mov dword [esp], 0x12caeac5
jmp 0x415048
mov eax, dword [esp + 8]
shl eax, 0xa
add eax, 0x3fffff0f
shr eax, 0xe
and eax, 0xfff0
mov dword [esp + 8], eax
mov dword [esp], 0x1ceb96f1
jmp 0x415048
imul ebp, dword [esp + 4], 0x2f000
add ebp, 0x27a8060
mov dword [esp + 4], ebp
push ebp
call fcn.0041cb2e
add esp, 4
push 0x4b6e
push 0x1896
push 0x53d8
push ebp
call fcn.00416505
add esp, 0x10
mov eax, 0x2aba2a05
cmp ebp, 0xd1
jb 0x415db6
mov eax, 0xbcf08c18
jmp 0x415db6
mov eax, dword [esp + 0xac]
mov eax, dword [eax]
xor eax, dword [esp + 0xa0]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x58], eax
mov dword [esp], 0x4431cd5b
jmp 0x415048
mov dword [esp], 0xa076448d
jmp 0x415048
mov eax, dword [esp + 0xb0]
xor eax, dword [esp + 0xb4]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0xb8], eax
mov dword [esp], 0xe02f4fe2
jmp 0x415048
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov dword [esp], 0xf6c5cd5b
jmp 0x415048
mov eax, dword [esp + 4]
shl eax, 0xe
add eax, 0x1b400
mov dword [esp + 4], eax
mov dword [esp], 0x845a74
jmp 0x415048
imul eax, dword [esp + 8], 0x3d
lea ecx, [eax + 0x15af]
imul ecx, ecx
imul edx, ecx, 0x465b
add eax, 0x16aa
dec edx
mov dword [esp + 8], eax
mov eax, 0x90abbf42
cmp ecx, edx
je 0x415db6
mov eax, 0xe26df8f2
mov dword [esp], eax
jmp 0x415048
mov eax, dword [esp + 0x10]
mov al, byte [eax + 3]
mov byte [esp + 0xe], al
mov dword [esp], 0x9d1fe6d8
jmp 0x415048
mov ecx, dword [esp + 0x14]
mov eax, 0x724743a3
cmp ecx, 4
jae 0x415de8
mov eax, 0xeee9bf99
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ebx
jmp 0x415048
mov eax, dword [esp + 0x48]
shr eax, 8
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x10]
mov al, byte [eax + 1]
mov byte [esp + 0xd], al
mov dword [esp], 0x4da77fde
jmp 0x415048
movzx eax, byte [esp + 0xf]
mov ecx, dword [esp + 0x6c]
movzx ecx, cl
xor ecx, eax
mov eax, dword [ecx*4 + 0x4709a0]
mov dword [esp + 0xb4], eax
mov dword [esp], 0xb244b70c
jmp 0x415048
cmp eax, 0x6c9a1993
jne 0x415048
mov eax, dword [esp + 0xc8]
not eax
add esp, 0xcc
pop esi
pop edi
pop ebx
pop ebp
ret