Function at 0x418fd2
Capabilities:
Hash data using fnv

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x448
mov eax, 2
imul ecx, eax, 0xe4c
mov edx, 0x6fde
mov word [ecx + 0x48fba0], dx
mov eax, 4
imul ecx, eax, 0x6eb
mov edx, dword [ecx + 0x495f00]
sub edx, 0x5c6452cd
mov eax, 4
imul ecx, eax, 0x6eb
mov dword [ecx + 0x495f00], edx
mov edx, 4
imul eax, edx, 0x14a3
imul ecx, dword [eax + 0x495f00], 0x7d4327dd
mov edx, 4
imul eax, edx, 0x14a3
mov dword [eax + 0x495f00], ecx
mov ecx, 4
imul edx, ecx, 0x1081
mov eax, dword [edx + 0x495f00]
shl eax, 7
xor eax, 0xa8a2cf09
cmp eax, 0x16f5b4ea
je 0x418e0a
mov ecx, 4
imul edx, ecx, 0x307d
mov eax, 4
imul ecx, eax, 0x327
mov eax, dword [ecx + 0x495f00]
add eax, 0x657faf1a
mov ecx, dword [edx + 0x495f00]
sub ecx, eax
mov edx, 4
imul eax, edx, 0x307d
mov dword [eax + 0x495f00], ecx
mov ecx, 4
imul edx, ecx, 0x1f5b
mov eax, dword [edx + 0x495f00]
sub eax, 1
mov dword [ebp + 0x40], eax
mov ecx, 4
imul edx, ecx, 0x1f5b
mov eax, dword [ebp + 0x40]
mov dword [edx + 0x495f00], eax
cmp dword [ebp + 0x40], 0xfe2d3a6b
jg 0x418e65
mov ecx, 4
imul edx, ecx, 0x24c8
mov eax, dword [edx + 0x495f00]
sub eax, 0x52735497
mov ecx, 4
imul edx, ecx, 0x24c8
mov dword [edx + 0x495f00], eax
mov eax, 4
imul ecx, eax, 0x23c4
mov edx, dword [ecx + 0x495f00]
or edx, 0xc3eaa0cd
mov eax, 4
imul ecx, eax, 0x23c4
mov dword [ecx + 0x495f00], edx
lea ecx, [ebp - 8]
call fcn.004114e0
mov edx, 4
imul eax, edx, 0xbe8
mov ecx, 4
imul edx, ecx, 0x1a9e
mov ecx, 4
imul ecx, ecx, 0xc6a
mov ecx, dword [ecx + 0x495f00]
not ecx
mov edx, dword [edx + 0x495f00]
or edx, ecx
mov eax, dword [eax + 0x495f00]
or eax, edx
mov ecx, 4
imul edx, ecx, 0xbe8
mov dword [edx + 0x495f00], eax
lea ecx, [ebp + 0x60]
call fcn.00404090
mov eax, 4
imul ecx, eax, 0x2b8
imul edx, dword [ecx + 0x495f00], 0x8900004
mov eax, 4
imul ecx, eax, 0x2b8
mov dword [ecx + 0x495f00], edx
push 0x1c
call fcn.0045c060
add esp, 4
mov dword [ebp + 0x34], eax
cmp dword [ebp + 0x34], 0
je 0x418f2d
mov ecx, dword [ebp + 0x34]
call fcn.0041bcc0
mov dword [ebp + 0x38], eax
jmp 0x418f34
mov dword [ebp + 0x38], 0
mov edx, dword [ebp + 0x38]
mov dword [0x48f150], edx
mov eax, 4
imul ecx, eax, 0x232d
imul edx, dword [ecx + 0x495f00], 0xb808cdf8
mov eax, 4
imul ecx, eax, 0x232d
mov dword [ecx + 0x495f00], edx
mov dword [ebp + 0x28], 0x10
mov edx, 4
imul eax, edx, 0x25fb
mov dword [eax + 0x495f00], 0xfffcf525
lea ecx, [ebp + 0x28]
push ecx
lea edx, [ebp + 0xc]
push edx
call dword [0x48fafc]
test eax, eax
jne 0x419121
mov eax, 2
imul ecx, eax, 0x20a4
mov edx, 4
imul eax, edx, 0xdd8
mov edx, dword [eax + 0x495f00]
sub edx, 0x3cc7c26d
movsx eax, word [ecx + 0x48fba0]
or eax, edx
mov ecx, 2
imul edx, ecx, 0x20a4
mov word [edx + 0x48fba0], ax
push 0xe
push 0x1602
call fcn.004456b0
add esp, 8
mov dword [ebp + 0x50], eax
mov eax, 4
imul ecx, eax, 0x20ec
imul edx, dword [ecx + 0x495f00], 0x22b48c2c
mov dword [ebp + 0x20], edx
mov eax, 4
imul ecx, eax, 0x20ec
mov edx, dword [ecx + 0x495f00]
sub edx, 1
mov eax, 4
imul ecx, eax, 0x20ec
mov dword [ecx + 0x495f00], edx
cmp dword [ebp + 0x20], 0xff8fef65
jge 0x419082
mov edx, 4
imul eax, edx, 0x1166
mov ecx, 4
imul edx, ecx, 0x2d59
mov eax, dword [eax + 0x495f00]
add eax, dword [edx + 0x495f00]
mov ecx, 4
imul edx, ecx, 0x1166
mov dword [edx + 0x495f00], eax
mov eax, 4
imul ecx, eax, 0x2d59
mov edx, dword [ecx + 0x495f00]
sub edx, 1
mov eax, 4
imul ecx, eax, 0x2d59
mov dword [ecx + 0x495f00], edx
mov edx, dword [ebp + 0x50]
push edx
lea eax, [ebp + 0xc]
push eax
call fcn.00465130
add esp, 8
mov ecx, 4
imul edx, ecx, 0x265d
mov eax, 4
imul ecx, eax, 0x2d34
mov edx, dword [edx + 0x495f00]
imul edx, dword [ecx + 0x495f00]
mov eax, 4
imul ecx, eax, 0x265d
mov dword [ecx + 0x495f00], edx
mov edx, 4
imul eax, edx, 0x2d34
mov ecx, dword [eax + 0x495f00]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x2d34
mov dword [eax + 0x495f00], ecx
mov ecx, dword [ebp + 0x50]
push ecx
push 0xe
call fcn.00405010
add esp, 8
mov edx, 4
imul eax, edx, 0xb2b
mov ecx, dword [eax + 0x495f00]
sub ecx, 0x659d5a9c
mov edx, 4
imul eax, edx, 0xb2b
mov dword [eax + 0x495f00], ecx
mov ecx, 2
imul edx, ecx, 0x1bc7
mov eax, 0xffffe7a3
mov word [edx + 0x48fba0], ax
mov ecx, 2
imul edx, ecx, 0x3090
movsx eax, word [edx + 0x48fba0]
cmp eax, 0x8ac63d8c
jle 0x419179
mov ecx, 4
imul edx, ecx, 0x2abb
imul eax, dword [edx + 0x495f00], 0x1fdffbfb
mov ecx, 4
imul edx, ecx, 0x2abb
mov dword [edx + 0x495f00], eax
jmp 0x41919f
mov eax, 4
imul ecx, eax, 0x74e
imul edx, dword [ecx + 0x495f00], 0x2c488332
mov eax, 4
imul ecx, eax, 0x74e
mov dword [ecx + 0x495f00], edx
mov edx, 4
imul eax, edx, 0x19ab
mov ecx, dword [eax + 0x495f00]
xor ecx, 0x62801810
mov edx, 4
imul eax, edx, 0x19ab
mov dword [eax + 0x495f00], ecx
push 0x7e
push 0x1f47
call fcn.004456b0
add esp, 8
mov dword [ebp + 0x5c], eax
mov ecx, 4
imul edx, ecx, 0x2d28
mov eax, 2
imul ecx, eax, 0xb98
movsx eax, word [ecx + 0x48fba0]
mov ecx, dword [edx + 0x495f00]
and ecx, eax
mov edx, 4
imul eax, edx, 0x2d28
mov dword [eax + 0x495f00], ecx
mov ecx, dword [ebp + 0x5c]
push ecx
lea edx, [ebp - 0x1e4]
push edx
call fcn.00465130
add esp, 8
mov eax, 4
imul ecx, eax, 0x2889
mov edx, dword [ecx + 0x495f00]
sub edx, 0x3c951974
mov eax, 4
imul ecx, eax, 0x2889
mov dword [ecx + 0x495f00], edx
mov edx, dword [ebp + 0x5c]
push edx
push 0x7e
call fcn.00405010
add esp, 8
mov eax, 2
imul ecx, eax, 0x23cc
mov edx, 0x51a5
mov word [ecx + 0x48fba0], dx
mov eax, 1
shl eax, 4
lea ecx, [ebp + eax - 0x1e4]
push ecx
lea ecx, [ebp + 0x60]
call fcn.0043bb80
mov edx, 2
imul eax, edx, 0x2edf
mov cx, word [eax + 0x48fba0]
add cx, 1
mov word [ebp + 0x74], cx
mov edx, 2
imul eax, edx, 0x2edf
mov cx, word [ebp + 0x74]
mov word [eax + 0x48fba0], cx
movsx edx, word [ebp + 0x74]
mov eax, 4
imul ecx, eax, 0x240e
mov eax, dword [ecx + 0x495f00]
xor eax, edx
mov ecx, 4
imul edx, ecx, 0x240e
mov dword [edx + 0x495f00], eax
push 9
lea ecx, [ebp + 0x60]
call fcn.0043ba70
mov eax, 2
imul ecx, eax, 0x12bd
movsx edx, word [ecx + 0x48fba0]
sar edx, 1
sub edx, 0x20a8d5a1
cmp edx, 0x84844c20
jg 0x419331
mov eax, 4
imul ecx, eax, 0x1d9f
imul edx, dword [ecx + 0x495f00], 0xf5ddcc9b
mov eax, 4
imul ecx, eax, 0x1d9f
mov dword [ecx + 0x495f00], edx
mov edx, 1
shl edx, 4
lea eax, [ebp + edx - 0x1e4]
push eax
lea ecx, [ebp - 0x2f4]
push ecx
call fcn.00465130
add esp, 8
mov edx, 4
imul eax, edx, 0x1d22
mov ecx, dword [eax + 0x495f00]
xor ecx, 0x3e9a65e3
mov edx, 4
imul eax, edx, 0x1d22
mov dword [eax + 0x495f00], ecx
lea ecx, [ebp + 0xc]
push ecx
lea edx, [ebp - 0x2f4]
push edx
call fcn.00465140
add esp, 8
mov eax, 4
imul ecx, eax, 0x1ba7
mov edx, 4
imul eax, edx, 0x223a
mov ecx, dword [ecx + 0x495f00]
add ecx, dword [eax + 0x495f00]
mov edx, 4
imul eax, edx, 0x1ba7
mov dword [eax + 0x495f00], ecx
push 0x100
push 0
lea ecx, [ebp - 0x1e4]
push ecx
call fcn.004650a0
add esp, 0xc
mov edx, 2
imul eax, edx, 0x91c
movsx ecx, word [eax + 0x48fba0]
or ecx, 0x7c0f0a19
mov edx, 2
imul eax, edx, 0x91c
mov word [eax + 0x48fba0], cx
mov ecx, 4
imul edx, ecx, 0x1b55
mov eax, dword [edx + 0x495f00]
lea ecx, [eax*8 - 0x198f8aaa]
cmp ecx, 0x7ec68deb
jg 0x41944f
mov edx, 4
imul eax, edx, 0x1dc4
mov ecx, dword [eax + 0x495f00]
not ecx
add ecx, 0x5157f48e
and ecx, 0x4bd49288
mov edx, 2
imul eax, edx, 0x27c6
mov word [eax + 0x48fba0], cx
lea ecx, [ebp - 0x1c]
push ecx
call fcn.0045f290
add esp, 4
mov edx, 4
imul eax, edx, 0x2149
mov ecx, dword [eax + 0x495f00]
sub ecx, 1
mov dword [ebp + 0x48], ecx
mov edx, 4
imul eax, edx, 0x2149
mov ecx, dword [ebp + 0x48]
mov dword [eax + 0x495f00], ecx
mov edx, 0x83e8d0d
sub edx, dword [ebp + 0x48]
xor edx, 0xf07a88f6
mov eax, 4
imul ecx, eax, 0xbeb
mov eax, dword [ecx + 0x495f00]
imul eax, edx
mov ecx, 4
imul edx, ecx, 0xbeb
mov dword [edx + 0x495f00], eax
mov eax, dword [0x48f9b0]
push eax
call fcn.004652c0
add esp, 4
mov dword [ebp + 0x58], eax
mov ecx, 4
imul edx, ecx, 0x2930
mov eax, 4
imul ecx, eax, 0x10b3
mov eax, dword [ecx + 0x495f00]
not eax
or eax, 0x411048c8
mov ecx, dword [edx + 0x495f00]
or ecx, eax
mov edx, 4
imul eax, edx, 0x2930
mov dword [eax + 0x495f00], ecx
mov ecx, dword [0x48f9b0]
add ecx, dword [ebp + 0x58]
mov byte [ecx - 1], 0
mov edx, 4
imul eax, edx, 0x17f3
mov ecx, dword [eax + 0x495f00]
add ecx, 0x239c64ea
mov edx, 4
imul eax, edx, 0x17f3
mov dword [eax + 0x495f00], ecx
mov ecx, dword [0x48f9b0]
push ecx
lea ecx, [ebp - 0x6c]
call fcn.0045b790
lea edx, [ebp - 0x6c]
push edx
lea ecx, [ebp + 0x60]
call fcn.00417800
lea ecx, [ebp - 0x6c]
call fcn.00457f60
mov eax, 2
imul ecx, eax, 0x3b6
movsx edx, word [ecx + 0x48fba0]
xor edx, 0x238b0e14
mov eax, 2
imul ecx, eax, 0x3b6
mov word [ecx + 0x48fba0], dx
push 9
lea ecx, [ebp + 0x60]
call fcn.0043ba70
mov edx, 4
imul eax, edx, 0x548
mov ecx, dword [eax + 0x495f00]
xor ecx, 0x97f38776
mov edx, 4
imul eax, edx, 0x548
mov dword [eax + 0x495f00], ecx
mov ecx, dword [0x48f9b0]
add ecx, dword [ebp + 0x58]
mov byte [ecx - 1], 0x5c
mov edx, 4
imul eax, edx, 0x11
mov ecx, dword [eax + 0x495f00]
or ecx, 0xbab31843
mov edx, 4
imul eax, edx, 0x26f0
mov edx, 4
imul edx, edx, 0x22bc
mov edx, dword [edx + 0x495f00]
sub edx, 0x1027a384
mov eax, dword [eax + 0x495f00]
and eax, edx
cmp ecx, eax
jne 0x419632
mov ecx, 2
imul edx, ecx, 0x13c3
movsx eax, word [edx + 0x48fba0]
and eax, 0xcbd44d37
mov ecx, 2
imul edx, ecx, 0x13c3
mov word [edx + 0x48fba0], ax
mov eax, dword [0x48f994]
push eax
lea ecx, [ebp - 0xbc]
call fcn.0045b790
lea ecx, [ebp - 0xbc]
push ecx
lea ecx, [ebp + 0x60]
call fcn.00417800
lea ecx, [ebp - 0xbc]
call fcn.00457f60
mov edx, 4
imul eax, edx, 0x252
mov ecx, dword [eax + 0x495f00]
sub ecx, 0x38de5ff6
mov edx, 4
imul eax, edx, 0x252
mov dword [eax + 0x495f00], ecx
push 9
lea ecx, [ebp + 0x60]
call fcn.0043ba70
mov ecx, 4
imul edx, ecx, 0x1ac
mov eax, dword [edx + 0x495f00]
add eax, 0x7f390072
mov dword [ebp + 0x24], eax
mov ecx, 4
imul edx, ecx, 0x26fc
mov eax, dword [edx + 0x495f00]
and eax, 0x1030a988
mov dword [ebp + 0x1c], eax
mov ecx, 4
imul edx, ecx, 0x1ac
mov eax, dword [edx + 0x495f00]
sub eax, 1
mov ecx, 4
imul edx, ecx, 0x1ac
mov dword [edx + 0x495f00], eax
mov eax, dword [ebp + 0x24]
cmp eax, dword [ebp + 0x1c]
jle 0x419717
mov ecx, 4
imul edx, ecx, 0x3cc
mov eax, dword [edx + 0x495f00]
sub eax, 0x5fdc37fb
mov ecx, 4
imul edx, ecx, 0x3cc
mov dword [edx + 0x495f00], eax
jmp 0x419772
mov eax, 2
imul ecx, eax, 0x1fa1
movsx edx, word [ecx + 0x48fba0]
mov dword [ebp + 0x30], edx
mov eax, 2
imul ecx, eax, 0x1fa1
mov dx, word [ecx + 0x48fba0]
add dx, 1
mov eax, 2
imul ecx, eax, 0x1fa1
mov word [ecx + 0x48fba0], dx
cmp dword [ebp + 0x30], 0x1b31a46f
je 0x419772
mov edx, 4
imul eax, edx, 0x3d5
cmp dword [eax + 0x495f00], 0x78a273d7
mov ecx, dword [0x48f9ac]
push ecx
lea ecx, [ebp - 0x30]
call fcn.0045b790
lea edx, [ebp - 0x30]
push edx
lea ecx, [ebp + 0x60]
call fcn.00417800
lea ecx, [ebp - 0x30]
call fcn.00457f60
mov eax, 4
imul ecx, eax, 0x125
mov edx, 4
imul eax, edx, 0x47a
mov edx, dword [eax + 0x495f00]
sar edx, 4
and edx, 0xe7eec7fb
mov eax, dword [ecx + 0x495f00]
and eax, edx
mov ecx, 4
imul edx, ecx, 0x125
mov dword [edx + 0x495f00], eax
push 9
lea ecx, [ebp + 0x60]
call fcn.0043ba70
mov eax, 4
imul ecx, eax, 0x1c5e
mov edx, dword [ecx + 0x495f00]
sub edx, 1
mov dword [ebp + 0x54], edx
mov eax, 4
imul ecx, eax, 0x1c5e
mov edx, dword [ebp + 0x54]
mov dword [ecx + 0x495f00], edx
mov eax, 2
imul ecx, eax, 0xa1e
movsx edx, word [ecx + 0x48fba0]
xor edx, dword [ebp + 0x54]
mov eax, 4
imul ecx, eax, 0xbe8
mov eax, dword [ecx + 0x495f00]
or eax, edx
mov ecx, 4
imul edx, ecx, 0xbe8
mov dword [edx + 0x495f00], eax
mov eax, 2
imul ecx, eax, 0xa1e
mov dx, word [ecx + 0x48fba0]
add dx, 1
mov eax, 2
imul ecx, eax, 0xa1e
mov word [ecx + 0x48fba0], dx
mov edx, dword [0x48f9a4]
push edx
lea ecx, [ebp - 0xd0]
call fcn.0045b790
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp + 0x60]
call fcn.00417800
lea ecx, [ebp - 0xd0]
call fcn.00457f60
mov ecx, 4
imul edx, ecx, 0xe2c
mov eax, 4
imul ecx, eax, 0x788
mov eax, 4
imul eax, eax, 0x1c05
mov ecx, dword [ecx + 0x495f00]
or ecx, dword [eax + 0x495f00]
mov edx, dword [edx + 0x495f00]
and edx, ecx
mov eax, 4
imul ecx, eax, 0xe2c
mov dword [ecx + 0x495f00], edx
mov edx, 4
imul eax, edx, 0x788
mov ecx, dword [eax + 0x495f00]
add ecx, 1
mov edx, 4
imul eax, edx, 0x788
mov dword [eax + 0x495f00], ecx
push 9
lea ecx, [ebp + 0x60]
call fcn.0043ba70
mov ecx, 2
imul edx, ecx, 0xc8b
movsx eax, word [edx + 0x48fba0]
and eax, 0xefdf3ff5
mov ecx, 2
imul edx, ecx, 0xc8b
mov word [edx + 0x48fba0], ax
mov eax, dword [0x48f9a8]
push eax
lea ecx, [ebp - 0x94]
call fcn.0045b790
lea ecx, [ebp - 0x94]
push ecx
lea ecx, [ebp + 0x60]
call fcn.00417800
lea ecx, [ebp - 0x94]
call fcn.00457f60
mov edx, 4
imul eax, edx, 0x284a
mov ecx, dword [eax + 0x495f00]
shl ecx, 4
and ecx, 0xf3524900
and ecx, 0x84b5ca17
cmp ecx, 0x3ea16f13
jl 0x4199ae
mov edx, 4
imul eax, edx, 0x24f3
mov ecx, dword [eax + 0x495f00]
sub ecx, 0xf147a76
mov edx, 4
imul eax, edx, 0x24f3
mov dword [eax + 0x495f00], ecx
push 9
lea ecx, [ebp + 0x60]
call fcn.0043ba70
mov ecx, 4
imul edx, ecx, 0x2461
mov eax, dword [edx + 0x495f00]
or eax, 0x94dd94c3
or eax, 0xf3f7ac08
mov dword [ebp + 0x2c], eax
mov ecx, 4
imul edx, ecx, 0x2461
mov eax, dword [edx + 0x495f00]
sub eax, 1
mov ecx, 4
imul edx, ecx, 0x2461
mov dword [edx + 0x495f00], eax
cmp dword [ebp + 0x2c], 0x43a1d69
jl 0x419a2c
mov eax, 4
imul ecx, eax, 0x16b6
mov edx, dword [ecx + 0x495f00]
xor edx, 0x5670f27f
mov eax, 4
imul ecx, eax, 0x16b6
mov dword [ecx + 0x495f00], edx
push 4
push 0x868
call fcn.004456b0
add esp, 8
mov dword [ebp + 0x4c], eax
mov edx, 4
imul eax, edx, 0x2cf4
mov ecx, 4
imul edx, ecx, 0x25ec
mov ecx, dword [edx + 0x495f00]
not ecx
and ecx, 0xef478762
and ecx, 0x28880383
mov edx, dword [eax + 0x495f00]
add edx, ecx
mov eax, 4
imul ecx, eax, 0x2cf4
mov dword [ecx + 0x495f00], edx
mov edx, dword [ebp + 0x4c]
push edx
lea ecx, [ebp - 0xe4]
call fcn.0045b790
lea eax, [ebp - 0xe4]
push eax
lea ecx, [ebp + 0x60]
call fcn.00417800
lea ecx, [ebp - 0xe4]
call fcn.00457f60
mov ecx, 2
imul edx, ecx, 0x3052
mov eax, 4
imul ecx, eax, 0x1b1
imul eax, dword [ecx + 0x495f00], 0x3b8519f8
xor eax, 0xe31dd3c1
movsx ecx, word [edx + 0x48fba0]
or ecx, eax
mov edx, 2
imul eax, edx, 0x3052
mov word [eax + 0x48fba0], cx
mov ecx, dword [ebp + 0x4c]
push ecx
push 4
call fcn.00405010
add esp, 8
mov edx, 2
imul eax, edx, 0xdf7
mov ecx, 4
imul edx, ecx, 0x21a5
mov ecx, dword [edx + 0x495f00]
not ecx
and ecx, 0x70cab91a
movsx edx, word [eax + 0x48fba0]
add edx, ecx
mov eax, 2
imul ecx, eax, 0xdf7
mov word [ecx + 0x48fba0], dx
push 9
lea ecx, [ebp + 0x60]
call fcn.0043ba70
mov edx, 2
imul eax, edx, 0x1b3
movsx ecx, word [eax + 0x48fba0]
and ecx, 0x55f3fda2
mov edx, 2
imul eax, edx, 0x1b3
mov word [eax + 0x48fba0], cx
lea ecx, [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x44]
call fcn.0045b790
lea edx, [ebp - 0x44]
push edx
lea ecx, [ebp + 0x60]
call fcn.00417800
lea ecx, [ebp - 0x44]
call fcn.00457f60
mov eax, 2
imul ecx, eax, 0x2dcd
movsx edx, word [ecx + 0x48fba0]
sar edx, 8
cmp edx, 0x8ade693d
jl 0x419bd0
mov eax, 4
imul ecx, eax, 0x2d26
mov edx, dword [ecx + 0x495f00]
sub edx, 0x30010809
mov eax, 4
imul ecx, eax, 0x2d26
mov dword [ecx + 0x495f00], edx
push 9
lea ecx, [ebp + 0x60]
call fcn.0043ba70
mov edx, 4
imul eax, edx, 0x8f7
mov ecx, dword [eax + 0x495f00]
add ecx, 1
mov dword [ebp + 0x44], ecx
mov edx, 4
imul eax, edx, 0x8f7
mov ecx, dword [ebp + 0x44]
mov dword [eax + 0x495f00], ecx
mov edx, dword [ebp + 0x44]
and edx, 0x1bf81624
mov eax, 2
imul ecx, eax, 0x16e2
movsx eax, word [ecx + 0x48fba0]
and eax, edx
mov ecx, 2
imul edx, ecx, 0x16e2
mov word [edx + 0x48fba0], ax
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x58]
call fcn.0045b790
lea ecx, [ebp - 0x58]
push ecx
lea ecx, [ebp + 0x60]
call fcn.00417800
lea ecx, [ebp - 0x58]
call fcn.00457f60
mov edx, 4
imul eax, edx, 0x273d
mov ecx, dword [eax + 0x495f00]
or ecx, 0x24202253
mov edx, 4
imul eax, edx, 0x273d
mov dword [eax + 0x495f00], ecx
push 9
lea ecx, [ebp + 0x60]
call fcn.0043ba70
mov ecx, 4
imul edx, ecx, 0x239c
mov eax, 0x9be30bb
sub eax, dword [edx + 0x495f00]
xor eax, 0xde396864
cmp eax, 0x6fd55c96
jne 0x419cef
mov ecx, 2
imul edx, ecx, 0xcf4
movsx eax, word [edx + 0x48fba0]
xor eax, 0x291c1b2d
cmp eax, 0x10036090
jle 0x419cef
mov ecx, 2
imul edx, ecx, 0x144e
movsx eax, word [edx + 0x48fba0]
or eax, 0xb6fde1b9
mov ecx, 2
imul edx, ecx, 0x144e
mov word [edx + 0x48fba0], ax
mov eax, 4
imul ecx, eax, 0xd2a
mov edx, 2
imul eax, edx, 0x123b
movsx edx, word [eax + 0x48fba0]
shl edx, 4
and edx, 0xfb7eb08d
mov eax, dword [ecx + 0x495f00]
add eax, edx
mov ecx, 4
imul edx, ecx, 0xd2a
mov dword [edx + 0x495f00], eax
lea ecx, [ebp - 0x3d0]
call fcn.004552d0
mov eax, 2
imul ecx, eax, 0x20af
movsx edx, word [ecx + 0x48fba0]
sub edx, 0x1c854122
mov eax, 2
imul ecx, eax, 0x20af
mov word [ecx + 0x48fba0], dx
lea edx, [ebp - 0x2f4]
push edx
lea ecx, [ebp - 0x3d0]
call fcn.004454d0
push eax
lea ecx, [ebp - 0x80]
call fcn.0045b790
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp + 0x60]
call fcn.00417800
lea ecx, [ebp - 0x80]
call fcn.00457f60
mov ecx, 4
imul edx, ecx, 0x205
mov eax, dword [edx + 0x495f00]
xor eax, 0x975c728e
cmp eax, 0xa04810
jge 0x419dc4
mov ecx, 4
imul edx, ecx, 0x34d
mov dword [edx + 0x495f00], 0xeaaffdbd
push 9
lea ecx, [ebp + 0x60]
call fcn.0043ba70
mov eax, 4
imul ecx, eax, 0x506
cmp dword [ecx + 0x495f00], 0xe2f3ff69
jle 0x419e5d
mov edx, 4
imul eax, edx, 0x1cbd
mov ecx, dword [eax + 0x495f00]
sar ecx, 1
sub ecx, 0x3ec3d272
cmp ecx, 0xb81fcc45
jg 0x419e32
mov edx, 2
imul eax, edx, 0xb4
movsx ecx, word [eax + 0x48fba0]
add ecx, 0x3a493ce
mov edx, 2
imul eax, edx, 0xb4
mov word [eax + 0x48fba0], cx
jmp 0x419e5b
mov ecx, 2
imul edx, ecx, 0x1ccf
movsx eax, word [edx + 0x48fba0]
xor eax, 0x2edce9f2
mov ecx, 2
imul edx, ecx, 0x1ccf
mov word [edx + 0x48fba0], ax
jmp 0x419e92
mov eax, 2
imul ecx, eax, 0x2f48
mov edx, 4
imul eax, edx, 0x21de
movsx ecx, word [ecx + 0x48fba0]
and ecx, dword [eax + 0x495f00]
mov edx, 2
imul eax, edx, 0x2f48
mov word [eax + 0x48fba0], cx
lea ecx, [ebp - 0x3d0]
call fcn.0041bb70
mov ecx, 4
imul edx, ecx, 0x348
mov eax, dword [edx + 0x495f00]
add eax, 1
mov dword [ebp + 0x3c], eax
mov ecx, 4
imul edx, ecx, 0x348
mov eax, dword [ebp + 0x3c]
mov dword [edx + 0x495f00], eax
mov ecx, dword [ebp + 0x3c]
sub ecx, 0x27857b6a
cmp ecx, 0xa779717f
je 0x419eff
mov edx, 4
imul eax, edx, 0x138a
imul ecx, dword [eax + 0x495f00], 0xc160880
mov edx, 4
imul eax, edx, 0x138a
mov dword [eax + 0x495f00], ecx
mov ecx, dword [0x48f9b4]
push ecx
lea ecx, [ebp - 0xa8]
call fcn.0045b790
lea edx, [ebp - 0xa8]
push edx
lea ecx, [ebp + 0x60]
call fcn.00417800
lea ecx, [ebp - 0xa8]
call fcn.00457f60
mov eax, 4
imul ecx, eax, 0x6f3
mov edx, dword [ecx + 0x495f00]
and edx, 0xb5bac504
mov eax, 4
imul ecx, eax, 0x6f3
mov dword [ecx + 0x495f00], edx
lea edx, [ebp - 8]
push edx
push 1
lea ecx, [ebp + 0x60]
call fcn.0043c7d0
push eax
lea ecx, [ebp + 0x60]
call fcn.004486c0
push eax
call fcn.004138b0
add esp, 0x10
mov eax, 4
imul ecx, eax, 0xd4
mov dword [ecx + 0x495f00], 0xcbd3bf4a
lea ecx, [ebp + 0x60]
call fcn.00420130
mov edx, 4
imul eax, edx, 0x788
mov dword [eax + 0x495f00], 0x3e1813ea
lea ecx, [ebp - 8]
call fcn.0043c7d0
push eax
lea ecx, [ebp - 8]
call fcn.004486c0
push eax
lea ecx, [ebp + 0x60]
call fcn.0040a180
mov ecx, 2
imul edx, ecx, 0x12a0
mov eax, 0xffffa001
mov word [edx + 0x48fba0], ax
lea ecx, [ebp - 8]
push ecx
call fcn.0045cf70
add esp, 4
mov edx, 2
imul eax, edx, 0x2e8e
mov cx, word [eax + 0x48fba0]
sub cx, 1
mov word [ebp + 0x76], cx
mov edx, 2
imul eax, edx, 0x2e8e
mov cx, word [ebp + 0x76]
mov word [eax + 0x48fba0], cx
movsx edx, word [ebp + 0x76]
mov eax, 4
imul ecx, eax, 0x1e28
mov eax, dword [ecx + 0x495f00]
and eax, edx
mov ecx, 4
imul edx, ecx, 0x1e28
mov dword [edx + 0x495f00], eax
lea eax, [ebp + 0x60]
push eax
mov ecx, dword [0x48f150]
call fcn.0041cdb0
mov ecx, 4
imul edx, ecx, 0x853
imul eax, dword [edx + 0x495f00], 0x96a98257
mov ecx, 4
imul edx, ecx, 0x853
mov dword [edx + 0x495f00], eax
push 0x10
push 0
lea eax, [ebp + 0xc]
push eax
call fcn.004650a0
add esp, 0xc
mov ecx, 2
imul edx, ecx, 0x17a4
mov eax, 0xffffff9f
mov word [edx + 0x48fba0], ax
push 0x11
push 0
lea ecx, [ebp - 0x1c]
push ecx
call fcn.004650a0
add esp, 0xc
mov edx, 4
imul eax, edx, 0x1466
mov ecx, dword [eax + 0x495f00]
sar ecx, 9
cmp ecx, 0xc0900820
jne 0x41a14c
mov edx, 4
imul eax, edx, 0x1e07
mov ecx, dword [eax + 0x495f00]
xor ecx, 0x7beec7d4
or ecx, 0x7b710b95
cmp ecx, 0xde2f6480
jge 0x41a123
mov edx, 4
imul eax, edx, 0x7d0
mov ecx, dword [eax + 0x495f00]
sar ecx, 4
mov edx, 4
imul eax, edx, 0x1da
sub ecx, dword [eax + 0x495f00]
mov edx, 4
imul eax, edx, 0xa66
mov dword [eax + 0x495f00], ecx
jmp 0x41a14a
mov ecx, 4
imul edx, ecx, 0xa9e
mov eax, dword [edx + 0x495f00]
and eax, 0x1413d779
mov ecx, 4
imul edx, ecx, 0x1417
mov dword [edx + 0x495f00], eax
jmp 0x41a1b5
mov eax, 4
imul ecx, eax, 0x1bd0
mov edx, 2
imul eax, edx, 0x161f
movsx edx, word [eax + 0x48fba0]
imul eax, edx, 0x26f1826e
or eax, 0xbdfe0d39
mov ecx, dword [ecx + 0x495f00]
sub ecx, eax
mov edx, 4
imul eax, edx, 0x1bd0
mov dword [eax + 0x495f00], ecx
mov ecx, 2
imul edx, ecx, 0x161f
mov ax, word [edx + 0x48fba0]
add ax, 1
mov ecx, 2
imul edx, ecx, 0x161f
mov word [edx + 0x48fba0], ax
push 0x110
push 0
lea eax, [ebp - 0x2f4]
push eax
call fcn.004650a0
add esp, 0xc
mov ecx, 2
imul edx, ecx, 0x12a4
mov eax, 4
imul ecx, eax, 0x132e
mov eax, dword [ecx + 0x495f00]
shl eax, 5
mov ecx, 0x8a9376ed
sub ecx, eax
or ecx, 0xa66e45fe
movsx edx, word [edx + 0x48fba0]
and edx, ecx
mov eax, 2
imul ecx, eax, 0x12a4
mov word [ecx + 0x48fba0], dx
lea ecx, [ebp + 0x60]
call fcn.00457f60
lea ecx, [ebp - 8]
call fcn.004093e0
add ebp, 0x78
mov esp, ebp
pop ebp
ret