Function at 0x4168e0
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 dword [esp + 0x18], 0x724743a3
cmp dword [esp + 0xdc], 4
jae 0x416912
mov dword [esp + 0x18], 0xeee9bf99
not edi
mov eax, dword [esp]
cmp eax, 0x845a73
jg 0x416981
cmp eax, 0xc71cd4c9
jg 0x4169dd
cmp eax, 0xaf97212a
jg 0x416ab8
cmp eax, 0x90fbe530
jg 0x416c7e
cmp eax, 0x895cf965
jg 0x416f5d
cmp eax, 0x88be01a0
je 0x41741b
cmp eax, 0x8927a85f
jne 0x416914
mov eax, dword [esp + 0x50]
movzx eax, al
xor eax, dword [esp + 0x9c]
lea eax, [eax*4 + 0x4759a0]
mov dword [esp + 0xa0], eax
mov dword [esp], 0xb2409be6
jmp 0x416914
cmp eax, 0x4431cd5a
jg 0x416a2c
cmp eax, 0x1ceb96f0
jg 0x416a80
cmp eax, 0xa3fe075
jg 0x416bef
cmp eax, 0x76d9ca5
jg 0x416e7d
cmp eax, 0x845a74
je 0x4172bd
cmp eax, 0x6f0d1ed
jne 0x416914
mov eax, dword [esp + 0x4c]
shr eax, 8
mov dword [esp + 0x90], eax
mov dword [esp], 0x12caeac5
jmp 0x416914
cmp eax, 0xe26df8f1
jg 0x416b10
cmp eax, 0xdd27e91a
jg 0x416cc4
cmp eax, 0xccb8bb13
jg 0x416f94
cmp eax, 0xc71cd4ca
je 0x417466
cmp eax, 0xc7b8ff6d
jne 0x416914
movzx eax, byte [esp + 0xe]
mov dword [esp + 0x9c], eax
mov dword [esp], 0x8927a85f
jmp 0x416914
cmp eax, 0x602deeae
jle 0x416b61
cmp eax, 0x6d3a3980
jg 0x416ba7
cmp eax, 0x65a2ab42
jg 0x416deb
cmp eax, 0x602deeaf
je 0x4171eb
cmp eax, 0x64ee4232
jne 0x416914
mov eax, dword [esp + 0x84]
movzx eax, byte [eax]
mov dword [esp + 0x88], eax
mov dword [esp], 0x3a09e3b4
jmp 0x416914
cmp eax, 0x31a7ca91
jg 0x416c3c
cmp eax, 0x2aba2a04
jg 0x416eb4
cmp eax, 0x1ceb96f1
je 0x4172f1
cmp eax, 0x241b1475
jne 0x416914
mov dword [esp], 0xa076448d
jmp 0x416914
cmp eax, 0xb986bc78
jg 0x416d0b
cmp eax, 0xb2409be5
jg 0x416fe4
cmp eax, 0xaf97212b
je 0x4174a2
cmp eax, 0xb193b39f
jne 0x416914
mov ecx, dword [esp + 4]
shl ecx, 0xa
add ecx, 0xffffff10
mov dword [esp + 4], ecx
mov eax, 0x1ceb96f1
cmp ecx, 0x8a
jl 0x4176fc
mov eax, 0x4bb43e67
jmp 0x4176fc
cmp eax, 0xf0d8d6c8
jg 0x416d62
cmp eax, 0xeb227f64
jg 0x417006
cmp eax, 0xe26df8f2
je 0x4174e9
cmp eax, 0xe7dc6a3e
jne 0x416914
mov eax, dword [esp + 0xa8]
mov eax, dword [eax*4 + 0x4759a0]
xor eax, dword [esp + 0xa4]
mov dword [esp + 0x5c], eax
mov dword [esp], 0xb244b70c
jmp 0x416914
cmp eax, 0x4da77fdd
jle 0x416dbe
cmp eax, 0x5ad917fb
jg 0x417127
cmp eax, 0x4da77fde
je 0x417704
cmp eax, 0x4f223572
jne 0x416914
mov eax, dword [esp + 4]
shl eax, 0xc
or eax, 0x11
mov dword [esp + 4], eax
mov dword [esp], 0xf0d8d6c9
jmp 0x416914
cmp eax, 0x724743a2
jg 0x416e48
cmp eax, 0x6de2b0ce
je 0x417221
cmp eax, 0x6e5c2dc9
jne 0x417733
imul ecx, dword [esp + 4], 0xd9800000
mov dword [esp + 4], ecx
mov eax, 0x6f0d1ed
cmp ecx, 0xcd
jge 0x4176fc
mov eax, 0x64ee4232
jmp 0x4176fc
cmp eax, 0x12caeac4
jg 0x416f02
cmp eax, 0xa3fe076
je 0x41730f
cmp eax, 0xbcb9fe6
jne 0x416914
mov eax, dword [esp + 4]
lea eax, [eax*8 + 0x530]
and eax, 0xfffff000
imul ecx, eax, 0xfa
mov dword [esp + 4], ecx
mov eax, 0x6de2b0ce
test ecx, ecx
jne 0x4174df
jmp 0x4176fc
cmp eax, 0x3bc3b378
jg 0x416f24
cmp eax, 0x31a7ca92
je 0x417334
cmp eax, 0x3a09e3b4
jne 0x416914
mov eax, dword [esp + 0x48]
movzx eax, al
xor eax, dword [esp + 0x88]
mov dword [esp + 0x8c], eax
mov dword [esp], 0xa3fe076
jmp 0x416914
cmp eax, 0xa076448c
jg 0x417043
cmp eax, 0x90fbe531
je 0x417501
cmp eax, 0x9d1fe6d8
jne 0x416914
mov eax, dword [esp + 0x50]
shr eax, 8
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x10]
mov al, byte [eax + 3]
mov byte [esp + 0xe], al
mov dword [esp], 0xc71cd4ca
jmp 0x416914
cmp eax, 0xe04cd1eb
jg 0x417069
cmp eax, 0xdd27e91b
je 0x417525
cmp eax, 0xe02f4fe2
jne 0x416914
mov eax, dword [esp + 0xb8]
dec eax
mov dword [esp + 0x60], eax
cmp dword [esp + 0x60], 0
mov eax, 0x6c9a1993
je 0x4176fc
mov eax, 0xbf8677a6
jmp 0x4176fc
cmp eax, 0xbf8677a5
jg 0x4170be
cmp eax, 0xb986bc79
je 0x417543
cmp eax, 0xbcf08c18
jne 0x416914
mov esi, dword [esp + 4]
mov eax, 0xc0
add esi, eax
shr esi, 0xa
and esi, 0xfffffff8
mov dword [esp + 4], esi
push esi
call fcn.0042174e
add esp, 4
mov eax, 0xaf97212b
cmp esi, 0x5c
jb 0x4176fc
mov eax, 0xeb227f65
jmp 0x4176fc
cmp eax, 0xf3916fd4
jg 0x4170fa
cmp eax, 0xf0d8d6c9
je 0x417575
cmp eax, 0xf247de0f
jne 0x416914
mov eax, dword [esp + 8]
add eax, 8
mov ecx, eax
shr ecx, 0xb
and eax, 0xfffff800
imul ecx, ecx
add eax, 0xffffff33
imul edx, ecx, 0x1d71
dec edx
mov dword [esp + 8], eax
mov eax, 0x90fbe531
cmp edx, ecx
je 0x4176fc
mov eax, 0x80ea686
jmp 0x4176fc
cmp eax, 0x47b9c608
jg 0x417174
cmp eax, 0x4431cd5b
je 0x4171c4
cmp eax, 0x459792f2
jne 0x416914
mov dword [esp], 0x90fbe531
jmp 0x416914
cmp eax, 0x65a2ab43
je 0x41725b
cmp eax, 0x6c9a1993
jne 0x416914
mov eax, dword [esp + 8]
mov ecx, 0xffffff0e
add eax, ecx
shr eax, 0xb
lea ecx, [eax + eax*8]
mov edx, eax
imul edx, eax
imul esi, edx, 0x3ccf
dec esi
lea eax, [ecx + ecx*8]
add eax, 0xffff5482
mov dword [esp + 8], eax
mov eax, 0xd85c26d6
cmp esi, edx
je 0x416e38
mov eax, 0x5ad917fc
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
jmp 0x416914
cmp eax, 0x724743a3
je 0x417296
cmp eax, 0x7e43d795
jne 0x416914
mov eax, dword [esp + 0x7c]
mov eax, dword [eax*4 + 0x4759a0]
xor eax, dword [esp + 0x78]
mov dword [esp + 0x48], eax
mov dword [esp], 0x13d0c0b8
jmp 0x416914
cmp eax, 0x76d9ca6
je 0x41736d
cmp eax, 0x80ea686
jne 0x416914
movzx eax, byte [esp + 0xf]
mov ecx, dword [esp + 0x70]
movzx ecx, cl
xor ecx, eax
mov dword [esp + 0xa8], ecx
mov dword [esp], 0xe7dc6a3e
jmp 0x416914
cmp eax, 0x2aba2a05
je 0x417379
cmp eax, 0x3179aa02
jne 0x416914
mov eax, dword [esp + 8]
shr eax, 8
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x1513
shl eax, 6
dec edx
mov dword [esp + 8], eax
mov eax, 0x2aba2a05
cmp edx, ecx
je 0x416ef2
mov eax, 0x5ad917fc
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1c], eax
jmp 0x416914
cmp eax, 0x12caeac5
je 0x4173bd
cmp eax, 0x13d0c0b8
jne 0x416914
mov dword [esp], 0xc3501d22
jmp 0x416914
cmp eax, 0x3bc3b379
je 0x4173e8
cmp eax, 0x4157743f
jne 0x416914
mov eax, dword [esp + 4]
shl eax, 0x16
add eax, 0xf6400000
mov dword [esp + 4], eax
push eax
push 0x20ca
call fcn.00422270
add esp, 8
jmp 0x41724f
cmp eax, 0x895cf966
je 0x4175b8
cmp eax, 0x90abbf42
jne 0x416914
mov eax, dword [esp + 4]
shl eax, 0x10
add eax, 0x52800000
and eax, 0xff800000
mov dword [esp + 4], eax
mov dword [esp], 0xf6c5cd5b
jmp 0x416914
cmp eax, 0xccb8bb14
je 0x4175ce
cmp eax, 0xd85c26d6
jne 0x416914
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
jmp 0x416914
cmp eax, 0xb2409be6
je 0x4175f5
cmp eax, 0xb244b70c
jne 0x416914
mov dword [esp], 0xe26df8f2
jmp 0x416914
cmp eax, 0xeb227f65
je 0x41762e
cmp eax, 0xeee9bf99
jne 0x416914
mov eax, dword [esp + 0x38]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x68], eax
mov dword [esp], 0xeb227f65
jmp 0x416914
cmp eax, 0xa076448d
je 0x41724f
cmp eax, 0xaa937b77
jne 0x416914
mov dword [esp + 0x44], edi
mov dword [esp], 0x241b1475
jmp 0x416914
cmp eax, 0xe04cd1ec
je 0x417648
cmp eax, 0xe05f9074
jne 0x416914
imul esi, dword [esp + 4], 0x52000
mov dword [esp + 4], esi
push esi
push 0xba0
push 0x2084
push 0xc93
call fcn.0041e594
add esp, 0x10
mov eax, 0xd85c26d6
cmp esi, 0x95
jl 0x4176fc
mov eax, 0x895cf966
jmp 0x4176fc
cmp eax, 0xbf8677a6
je 0x417688
cmp eax, 0xc3501d22
jne 0x416914
mov eax, dword [esp + 0x48]
shr eax, 8
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x84], eax
mov dword [esp], 0x3bc3b379
jmp 0x416914
cmp eax, 0xf3916fd5
je 0x4176d4
cmp eax, 0xf6c5cd5b
jne 0x416914
mov eax, dword [esp + 0x6c]
shr eax, 8
mov dword [esp + 0x78], eax
mov dword [esp], 0x895cf966
jmp 0x416914
cmp eax, 0x5ad917fc
je 0x417710
cmp eax, 0x5f257485
jne 0x416914
mov eax, dword [esp + 8]
shr eax, 0xa
lea ecx, [eax - 0x25]
imul ecx, ecx
imul edx, ecx, 0x4591
dec edx
shl eax, 5
add eax, 0x4780
mov dword [esp + 8], eax
mov eax, 0xe7dc6a3e
cmp edx, ecx
je 0x4176fc
mov eax, 0xe02f4fe2
jmp 0x4176fc
cmp eax, 0x4bb43e67
jne 0x417727
imul ebp, dword [esp + 4], 0x8d00
add ebp, 0xfffffc25
mov eax, ebp
shr eax, 5
mov dword [esp + 4], eax
push 0x1c3d
push 0x5323
push eax
call fcn.00420a50
add esp, 0xc
mov eax, 0x64ee4232
cmp ebp, 0x520
jae 0x4176fc
mov eax, 0x12caeac5
jmp 0x4176fc
mov eax, dword [esp + 0x20]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x74], eax
mov dword [esp], 0x459792f2
jmp 0x416914
mov eax, dword [esp + 8]
shr eax, 9
lea ecx, [eax + 0x68]
imul ecx, ecx
imul edx, ecx, 0x1ecd
lea eax, [eax*8 + 0x388]
dec edx
mov dword [esp + 8], eax
mov eax, 0x6fa149df
cmp ecx, edx
je 0x4176fc
mov eax, 0x76d9ca6
jmp 0x4176fc
imul eax, dword [esp + 4], 0xa6c
shr eax, 1
and eax, 0xfffffffc
add eax, 0xfffffe6c
and eax, 0xfffff800
mov dword [esp + 4], eax
push 0x3186
push 0x41be
push eax
call fcn.0041bdc4
add esp, 0xc
mov dword [esp], 0xd85c26d6
jmp 0x416914
mov ecx, dword [esp + 8]
mov eax, 0xde
add ecx, eax
imul eax, ecx, 0x9d
imul ecx, ecx
imul edx, ecx, 0x359f
dec edx
add eax, 0xffffff46
mov dword [esp + 8], eax
mov eax, 0xb986bc79
cmp edx, ecx
je 0x4176fc
mov eax, 0x88be01a0
jmp 0x4176fc
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov dword [esp], 0xf6c5cd5b
jmp 0x416914
mov eax, dword [esp + 8]
add eax, 0xffffff95
mov ecx, eax
shr ecx, 0xb
shr eax, 0x1b
imul ecx, ecx
imul edx, ecx, 0x4973
dec edx
mov dword [esp + 8], eax
mov eax, 0xbcb9fe6
cmp edx, ecx
je 0x4176fc
mov eax, 0xdd27e91b
jmp 0x4176fc
mov eax, dword [esp + 0x90]
xor eax, dword [esp + 0x94]
mov dword [esp + 0x50], eax
mov dword [esp], 0x602deeaf
jmp 0x416914
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x80]
xor ecx, dword [eax*4 + 0x4759a0]
mov dword [esp + 0x4c], ecx
mov dword [esp], 0x4da77fde
jmp 0x416914
mov esi, dword [esp + 4]
add esi, 0x2f
mov dword [esp + 4], esi
push 0x263e
push esi
push 0x1485
call fcn.0041bdc4
add esp, 0xc
mov eax, 0x90abbf42
cmp esi, 0xe0
jge 0x4176fc
mov eax, 0x6f0d1ed
jmp 0x4176fc
mov dword [esp], 0x9d1fe6d8
jmp 0x416914
imul ebp, dword [esp + 4], 0x6c0
mov dword [esp + 4], ebp
push 0x28db
push 0x4a40
push 0x3ddc
push ebp
push 0xc54
call fcn.0041cb23
add esp, 0x14
mov eax, 0x4157743f
cmp ebp, 0xe8
jb 0x4176fc
mov eax, 0xbcf08c18
jmp 0x4176fc
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 2]
mov ecx, dword [esp + 0x4c]
movzx ecx, cl
xor ecx, eax
mov eax, dword [ecx*4 + 0x4759a0]
mov dword [esp + 0x94], eax
mov dword [esp], 0xccb8bb14
jmp 0x416914
mov eax, dword [esp + 8]
add eax, 0xffffffd4
mov ecx, eax
shr ecx, 1
imul eax, eax
imul edx, eax, 0x585b
add ecx, 0xffffff97
dec edx
shr ecx, 9
mov dword [esp + 8], ecx
mov ecx, 0xf3916fd5
cmp edx, eax
je 0x41749a
mov ecx, 0x64ee4232
jmp 0x41749a
mov ecx, dword [esp + 0x14]
mov eax, 0x724743a3
cmp ecx, 4
jae 0x41742e
mov eax, 0xeee9bf99
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ebx
jmp 0x416914
mov eax, dword [esp + 8]
add eax, 0x46
shr eax, 8
add eax, 0xffffffba
mov ecx, eax
shl ecx, 0x12
imul eax, eax
imul edx, eax, 0x33e3
dec edx
add ecx, 0xea000
mov dword [esp + 8], ecx
mov ecx, 0x64ee4232
cmp eax, edx
je 0x41749a
mov ecx, 0xc7b8ff6d
mov dword [esp], ecx
jmp 0x416914
imul ebp, dword [esp + 4], 0x3dc0
add ebp, 0xffffff90
mov dword [esp + 4], ebp
push ebp
push 0x95e
push 0x5208
push 0x3aa4
push 0x4b5d
call fcn.00417d6b
add esp, 0x14
mov eax, 0xeb227f65
cmp ebp, 0xd9
jb 0x4176fc
mov eax, 0xd85c26d6
jmp 0x4176fc
mov eax, dword [esp + 0x74]
inc eax
mov dword [esp + 0xac], eax
mov dword [esp], 0x5f257485
jmp 0x416914
mov eax, dword [esp + 0x70]
shr eax, 8
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x74]
mov al, byte [eax]
mov byte [esp + 0xf], al
mov dword [esp], 0xf247de0f
jmp 0x416914
movzx eax, byte [esp + 0xd]
mov ecx, dword [esp + 0x6c]
movzx ecx, cl
xor ecx, eax
mov dword [esp + 0x7c], ecx
mov dword [esp], 0x7e43d795
jmp 0x416914
imul ecx, dword [esp + 4], 0x3c000
add ecx, 0x2aa8000
mov eax, ecx
shr eax, 0x13
mov dword [esp + 4], eax
mov eax, 0x1ceb96f1
cmp ecx, 0x1a80000
jb 0x4176fc
mov eax, 0x31a7ca92
jmp 0x4176fc
mov eax, dword [esp + 4]
mov ecx, 0x7fffffe
and eax, ecx
lea esi, [eax*8 + 0x130]
mov dword [esp + 4], esi
push esi
push 0x2960
push 0x1fcb
push 0x538a
call fcn.0041998b
add esp, 0x10
push esi
call fcn.00417a2a
add esp, 4
mov dword [esp], 0xe05f9074
jmp 0x416914
mov eax, dword [esp + 0x10]
mov al, byte [eax]
mov byte [esp + 0xd], al
mov dword [esp], 0x845a74
jmp 0x416914
mov eax, dword [esp + 8]
shr eax, 2
and eax, 0x3ffffc00
imul eax, eax, 0x298
add eax, 0xfffe1d90
mov dword [esp + 8], eax
mov dword [esp], 0x1ceb96f1
jmp 0x416914
mov eax, dword [esp + 0xa0]
mov eax, dword [eax]
xor eax, dword [esp + 0x98]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xb4]
add eax, 0xfffffffc
mov dword [esp + 0x14], eax
mov dword [esp], 0x65a2ab43
jmp 0x416914
cmp dword [esp + 0x68], 0
mov eax, 0x3179aa02
je 0x4176fc
mov eax, 0xe04cd1ec
jmp 0x4176fc
mov eax, dword [esp + 8]
mov ecx, 0xffffc000
and eax, ecx
add eax, eax
add eax, 0xfffffdd4
shr eax, 0xc
mov dword [esp + 8], eax
mov dword [esp], 0x4431cd5b
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x20], eax
jmp 0x416914
mov ecx, dword [esp + 8]
add ecx, 0xffffff91
imul eax, ecx, 0x390000
imul ecx, ecx
imul edx, ecx, 0x6609
dec edx
mov dword [esp + 8], eax
mov eax, 0xe02f4fe2
cmp ecx, edx
je 0x4176b1
mov eax, 0x4431cd5b
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edx
jmp 0x416914
imul ecx, dword [esp + 4], 0x9074
mov eax, ecx
shr eax, 0xb
add eax, 0xffffff0e
mov dword [esp + 4], eax
mov eax, 0xf6c5cd5b
cmp ecx, 0xdc000
jae 0x4176fc
mov eax, 0xc3501d22
mov dword [esp], eax
jmp 0x416914
mov dword [esp], 0x6f0d1ed
jmp 0x416914
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp], 0x47b9c609
jmp 0x416914
cmp eax, 0x47b9c609
je 0x417763
jmp 0x416914
cmp eax, 0x6d3a3981
jne 0x416914
mov eax, dword [esp + 4]
add eax, 0x75
mov dword [esp + 4], eax
push eax
push 0x5eb7
push 0x3849
push 0x328a
push 0x4688
call fcn.0041b440
mov eax, dword [esp + 0xbc]
not eax
add esp, 0xc0
pop esi
pop edi
pop ebx
pop ebp
ret