Function at 0x4077b5
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b4
mov eax, dword [0x43d078]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
sub esp, 0xc
mov ebx, ecx
lea eax, [ebp + 8]
mov esi, esp
mov dword [ebp - 0xec], ebx
call fcn.00411119
lea eax, [ebp - 0x1b4]
push eax
call fcn.004056b6
add esp, 0x10
push 0xf
pop ecx
mov esi, eax
lea edi, [ebp - 0x178]
rep movsd dword es:[edi], dword [esi]
push 0x4369bb
mov esi, ebx
call fcn.004110e7
push 0x4369bf
lea esi, [ebp - 0x120]
call fcn.004110e7
push 0x4369d2
lea esi, [ebp - 0xd8]
call fcn.004110e7
push 0x4369d3
lea esi, [ebp - 0x110]
call fcn.004110e7
push 0x4369d6
lea esi, [ebp - 0x130]
call fcn.004110e7
xor esi, esi
push esi
push esi
push esi
xor edi, edi
inc edi
push edi
push dword [ebp + 0x14]
call dword [0x65e4dc]
push dword [0x65e1ac]
mov dword [ebp - 0x114], eax
push dword [ebp - 0x174]
mov dword [ebp - 0xe8], esi
call dword [0x65e5b8]
test eax, eax
jne 0x407882
mov dword [ebp - 0xe8], edi
cmp dword [ebp - 0x114], esi
je 0x40823e
push 0x14
pop ebx
lea edi, [ebp - 0xf8]
call fcn.0041284a
mov edi, eax
lea esi, [ebp - 0x13c]
lea eax, [ebp - 0x120]
call fcn.004111c7
lea esi, [ebp - 0x120]
call fcn.0041118d
mov eax, dword [ebp - 0x13c]
call fcn.00403520
mov eax, dword [ebp - 0xf8]
call fcn.00403520
push 0x4378f8
lea esi, [ebp - 0xf8]
lea eax, [ebp - 0x110]
call fcn.00411209
lea esi, [ebp - 0x110]
call fcn.0041118d
mov eax, dword [ebp - 0xf8]
call fcn.00403520
push 0x4378fc
lea esi, [ebp - 0xf8]
lea eax, [ebp - 0x110]
call fcn.00411209
lea esi, [ebp - 0x110]
call fcn.0041118d
mov eax, dword [ebp - 0xf8]
call fcn.00403520
lea edi, [ebp - 0x120]
lea esi, [ebp - 0xf8]
lea eax, [ebp - 0x110]
call fcn.004111c7
lea esi, [ebp - 0x110]
call fcn.0041118d
mov eax, dword [ebp - 0xf8]
call fcn.00403520
push 0x437904
lea esi, [ebp - 0xf8]
lea eax, [ebp - 0x110]
call fcn.00411209
lea esi, [ebp - 0x110]
call fcn.0041118d
mov eax, dword [ebp - 0xf8]
call fcn.00403520
push 0x437908
lea esi, [ebp - 0xf8]
lea eax, [ebp - 0x110]
call fcn.00411209
lea esi, [ebp - 0x110]
call fcn.0041118d
mov eax, dword [ebp - 0xf8]
call fcn.00403520
push dword [0x65de64]
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0x130]
call fcn.00411209
lea esi, [ebp - 0x13c]
call fcn.004111c7
lea esi, [ebp - 0x130]
call fcn.0041118d
mov eax, dword [ebp - 0x13c]
call fcn.00403520
mov eax, dword [ebp - 0xe4]
call fcn.00403520
xor esi, esi
push esi
push esi
push 3
push esi
push esi
push dword [ebp - 0x160]
push dword [ebp - 0x168]
push dword [ebp - 0x114]
call dword [0x65e5dc]
mov dword [ebp - 0xfc], eax
cmp eax, esi
je 0x40823e
mov eax, dword [ebp - 0xe8]
neg eax
push esi
sbb eax, eax
and eax, 0x800000
add eax, 0x400100
push eax
push esi
push esi
push dword [0x65dff8]
push dword [ebp - 0x14c]
push dword [0x65e1cc]
push dword [ebp - 0xfc]
call dword [0x65e61c]
mov ebx, eax
cmp ebx, esi
je 0x408232
cmp dword [ebp - 0xe8], esi
je 0x407a82
or dword [ebp - 0x124], 0x10300
push 4
lea eax, [ebp - 0x124]
push eax
push 0x1f
push ebx
call dword [0x65e3d4]
push 0x43790c
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
lea edi, [ebp - 0x120]
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.004111c7
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x437914
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push dword [0x65e02c]
lea esi, [ebp - 0xf8]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xf8]
call fcn.00403520
push dword [0x65e1a0]
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x437918
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
lea edi, [ebp + 0x34]
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.004111c7
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x437920
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x437924
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
lea edi, [ebp - 0x120]
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.004111c7
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x43792c
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push dword [0x65e02c]
lea esi, [ebp - 0xf8]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xf8]
call fcn.00403520
push 0x437930
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x43793c
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x4379a8
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x437944
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x437948
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.004111c7
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x437950
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push dword [0x65e02c]
lea esi, [ebp - 0xf8]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xf8]
call fcn.00403520
push 0x437954
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x43795c
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
lea edi, [ebp + 0x70]
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.004111c7
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x437964
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x437968
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
lea edi, [ebp - 0x120]
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.004111c7
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x437970
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push dword [0x65e02c]
lea esi, [ebp - 0xf8]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xf8]
call fcn.00403520
push 0x437974
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x43797c
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
lea edi, [ebp + 0x7c]
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.004111c7
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x437984
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x437988
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
lea edi, [ebp - 0x120]
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.004111c7
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x437990
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push dword [0x65e02c]
lea esi, [ebp - 0xf8]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xf8]
call fcn.00403520
push 0x437994
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push 0x43799c
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.00411209
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
lea edi, [ebp + 0x88]
lea esi, [ebp - 0xe4]
lea eax, [ebp - 0xd8]
call fcn.004111c7
lea esi, [ebp - 0xd8]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
push dword [ebp - 0x110]
call dword [0x65e49c]
mov edi, dword [ebp - 0xd8]
push edi
mov esi, eax
call dword [0x65e49c]
add esi, eax
push esi
push 0
call dword [0x65e5e8]
push eax
call dword [0x65e578]
mov dword [ebp - 0xe8], eax
push edi
call dword [0x65e49c]
push eax
push edi
push dword [ebp - 0xe8]
call fcn.00427c20
add esp, 0xc
push dword [ebp - 0x110]
call dword [0x65e49c]
push eax
push dword [ebp - 0x110]
push edi
call dword [0x65e49c]
add eax, dword [ebp - 0xe8]
push eax
call fcn.00427c20
add esp, 0xc
push esi
push dword [ebp - 0xe8]
push dword [ebp - 0x130]
call dword [0x65e49c]
push eax
push dword [ebp - 0x130]
push ebx
call dword [0x65e5a4]
mov edi, 0xc7
jmp 0x408211
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x40822b
mov byte [ebp + eax - 0xcc], 0
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xec]
lea esi, [ebp - 0x13c]
call fcn.00411209
mov esi, dword [ebp - 0xec]
call fcn.0041118d
mov eax, dword [ebp - 0x13c]
call fcn.00403520
lea eax, [ebp - 0xe8]
push eax
push edi
lea eax, [ebp - 0xcc]
push eax
push ebx
call dword [0x65e504]
test eax, eax
jne 0x4081d1
push ebx
call dword [0x65e4d8]
push dword [ebp - 0xfc]
call dword [0x65e4d8]
push dword [ebp - 0x114]
call dword [0x65e4d8]
mov eax, dword [ebp - 0xec]
push dword [eax]
lea edi, [ebp - 0x104]
lea ebx, [ebp - 0x100]
call fcn.00408c48
pop ecx
test eax, eax
je 0x4082a5
mov esi, dword [ebp - 0xec]
push 0x4369d7
call fcn.00411149
push dword [ebp - 0x100]
mov eax, dword [ebp - 0xec]
lea esi, [ebp - 0xe4]
call fcn.00411209
mov esi, dword [ebp - 0xec]
call fcn.0041118d
mov eax, dword [ebp - 0xe4]
call fcn.00403520
lea eax, [ebp - 0x100]
mov dword [ebp - 0xfc], eax
mov edi, dword [ebp - 0xfc]
mov ecx, 4
xor eax, eax
rep stosb byte es:[edi], al
lea eax, [ebp - 0x104]
mov dword [ebp - 0xfc], eax
mov edi, dword [ebp - 0xfc]
mov ecx, 4
xor eax, eax
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x130]
call fcn.00403520
mov eax, dword [ebp - 0x110]
call fcn.00403520
mov eax, dword [ebp - 0xd8]
call fcn.00403520
mov eax, dword [ebp - 0x120]
call fcn.00403520
lea esi, [ebp + 8]
call fcn.004028de
mov eax, dword [ebp + 0x70]
call fcn.00403520
mov eax, dword [ebp + 0x7c]
call fcn.00403520
mov eax, dword [ebp + 0x88]
call fcn.00403520
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xec]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041dbe0
leave
ret