401878:	6b de 18             	imul   $0x18,%esi,%ebx
40187b:	8b 75 08             	mov    0x8(%ebp),%esi
40187e:	8b ce                	mov    %esi,%ecx
401880:	03 1f                	add    (%edi),%ebx
401882:	53                   	push   %ebx
401883:	e8 d2 1b 00 00       	call   0x40345a
401888:	8b 4b 08             	mov    0x8(%ebx),%ecx
40188b:	8b c6                	mov    %esi,%eax
40188d:	89 4e 08             	mov    %ecx,0x8(%esi)
401890:	8b 4b 0c             	mov    0xc(%ebx),%ecx
401893:	89 4e 0c             	mov    %ecx,0xc(%esi)
401896:	8b 4b 10             	mov    0x10(%ebx),%ecx
401899:	5f                   	pop    %edi
40189a:	89 4e 10             	mov    %ecx,0x10(%esi)
40189d:	5e                   	pop    %esi
40189e:	5b                   	pop    %ebx
40189f:	5d                   	pop    %ebp
4018a0:	c2 08 00             	ret    $0x8
4018a3:	55                   	push   %ebp
4018a4:	8b ec                	mov    %esp,%ebp
4018a6:	83 ec 10             	sub    $0x10,%esp
4018a9:	53                   	push   %ebx
4018aa:	56                   	push   %esi
4018ab:	57                   	push   %edi
4018ac:	8b f9                	mov    %ecx,%edi
4018ae:	8b 77 08             	mov    0x8(%edi),%esi
4018b1:	3b 77 04             	cmp    0x4(%edi),%esi
4018b4:	0f 82 ab 00 00 00    	jb     0x401965
4018ba:	46                   	inc    %esi
4018bb:	33 db                	xor    %ebx,%ebx
4018bd:	0f af 77 0c          	imul   0xc(%edi),%esi
4018c1:	6a 0c                	push   $0xc
4018c3:	59                   	pop    %ecx
4018c4:	8b c6                	mov    %esi,%eax
4018c6:	89 75 f0             	mov    %esi,-0x10(%ebp)
4018c9:	f7 e1                	mul    %ecx
4018cb:	0f 90 c3             	seto   %bl
4018ce:	33 c9                	xor    %ecx,%ecx
4018d0:	f7 db                	neg    %ebx
4018d2:	0b d8                	or     %eax,%ebx
4018d4:	83 c3 04             	add    $0x4,%ebx
4018d7:	0f 92 c1             	setb   %cl
4018da:	f7 d9                	neg    %ecx
4018dc:	0b cb                	or     %ebx,%ecx
4018de:	e8 f8 41 00 00       	call   0x405adb
4018e3:	85 c0                	test   %eax,%eax
4018e5:	74 1e                	je     0x401905
4018e7:	8d 58 04             	lea    0x4(%eax),%ebx
4018ea:	89 30                	mov    %esi,(%eax)
4018ec:	33 c0                	xor    %eax,%eax
4018ee:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4018f1:	8b ce                	mov    %esi,%ecx
4018f3:	8b d3                	mov    %ebx,%edx
4018f5:	85 f6                	test   %esi,%esi
4018f7:	74 13                	je     0x40190c
4018f9:	89 02                	mov    %eax,(%edx)
4018fb:	8d 52 0c             	lea    0xc(%edx),%edx
4018fe:	83 e9 01             	sub    $0x1,%ecx
401901:	75 f6                	jne    0x4018f9
401903:	eb 07                	jmp    0x40190c
401905:	33 c0                	xor    %eax,%eax
401907:	8b d8                	mov    %eax,%ebx
401909:	89 45 f8             	mov    %eax,-0x8(%ebp)
40190c:	39 47 08             	cmp    %eax,0x8(%edi)
40190f:	76 41                	jbe    0x401952
401911:	6a f8                	push   $0xfffffff8
401913:	58                   	pop    %eax
401914:	8d 4b 08             	lea    0x8(%ebx),%ecx
401917:	2b c3                	sub    %ebx,%eax
401919:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40191c:	33 db                	xor    %ebx,%ebx
40191e:	89 45 f4             	mov    %eax,-0xc(%ebp)
401921:	8d 34 08             	lea    (%eax,%ecx,1),%esi
401924:	83 c1 f8             	add    $0xfffffff8,%ecx
401927:	03 37                	add    (%edi),%esi
401929:	56                   	push   %esi
40192a:	e8 35 19 00 00       	call   0x403264
40192f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401932:	43                   	inc    %ebx
401933:	8b 46 04             	mov    0x4(%esi),%eax
401936:	89 41 fc             	mov    %eax,-0x4(%ecx)
401939:	8b 46 08             	mov    0x8(%esi),%eax
40193c:	89 01                	mov    %eax,(%ecx)
40193e:	83 c1 0c             	add    $0xc,%ecx
401941:	8b 45 f4             	mov    -0xc(%ebp),%eax
401944:	89 4d fc             	mov    %ecx,-0x4(%ebp)
401947:	3b 5f 08             	cmp    0x8(%edi),%ebx
40194a:	72 d5                	jb     0x401921
40194c:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40194f:	8b 75 f0             	mov    -0x10(%ebp),%esi
401952:	8b 0f                	mov    (%edi),%ecx
401954:	85 c9                	test   %ecx,%ecx
401956:	74 06                	je     0x40195e
401958:	51                   	push   %ecx
401959:	e8 42 01 00 00       	call   0x401aa0
40195e:	89 1f                	mov    %ebx,(%edi)
401960:	89 77 04             	mov    %esi,0x4(%edi)
401963:	eb 02                	jmp    0x401967
401965:	8b 1f                	mov    (%edi),%ebx
401967:	6b 77 08 0c          	imul   $0xc,0x8(%edi),%esi
40196b:	8d 45 08             	lea    0x8(%ebp),%eax
40196e:	50                   	push   %eax
40196f:	03 f3                	add    %ebx,%esi
401971:	8b ce                	mov    %esi,%ecx
401973:	e8 ec 18 00 00       	call   0x403264
401978:	8b 45 0c             	mov    0xc(%ebp),%eax
40197b:	89 46 04             	mov    %eax,0x4(%esi)
40197e:	8b 45 10             	mov    0x10(%ebp),%eax
401981:	89 46 08             	mov    %eax,0x8(%esi)
401984:	8b 4d 08             	mov    0x8(%ebp),%ecx
401987:	ff 47 08             	incl   0x8(%edi)
40198a:	e8 9e 40 00 00       	call   0x405a2d
40198f:	5f                   	pop    %edi
401990:	5e                   	pop    %esi
401991:	5b                   	pop    %ebx
401992:	c9                   	leave
401993:	c2 0c 00             	ret    $0xc
401996:	53                   	push   %ebx
401997:	56                   	push   %esi
401998:	57                   	push   %edi
401999:	8b f9                	mov    %ecx,%edi
40199b:	33 db                	xor    %ebx,%ebx
40199d:	6a 0c                	push   $0xc
40199f:	59                   	pop    %ecx
4019a0:	8b 77 04             	mov    0x4(%edi),%esi
4019a3:	8b c6                	mov    %esi,%eax
4019a5:	f7 e1                	mul    %ecx
4019a7:	0f 90 c3             	seto   %bl
4019aa:	33 c9                	xor    %ecx,%ecx
4019ac:	f7 db                	neg    %ebx
4019ae:	0b d8                	or     %eax,%ebx
4019b0:	83 c3 04             	add    $0x4,%ebx
4019b3:	0f 92 c1             	setb   %cl
4019b6:	f7 d9                	neg    %ecx
4019b8:	0b cb                	or     %ebx,%ecx
4019ba:	e8 1c 41 00 00       	call   0x405adb
4019bf:	85 c0                	test   %eax,%eax
4019c1:	74 18                	je     0x4019db
4019c3:	89 30                	mov    %esi,(%eax)
4019c5:	83 c0 04             	add    $0x4,%eax
4019c8:	8b c8                	mov    %eax,%ecx
4019ca:	85 f6                	test   %esi,%esi
4019cc:	74 0f                	je     0x4019dd
4019ce:	83 21 00             	andl   $0x0,(%ecx)
4019d1:	8d 49 0c             	lea    0xc(%ecx),%ecx
4019d4:	83 ee 01             	sub    $0x1,%esi
4019d7:	75 f5                	jne    0x4019ce
4019d9:	eb 02                	jmp    0x4019dd
4019db:	33 c0                	xor    %eax,%eax
4019dd:	89 07                	mov    %eax,(%edi)
4019df:	5f                   	pop    %edi
4019e0:	5e                   	pop    %esi
4019e1:	5b                   	pop    %ebx
4019e2:	c3                   	ret
4019e3:	55                   	push   %ebp
4019e4:	8b ec                	mov    %esp,%ebp
4019e6:	53                   	push   %ebx
4019e7:	56                   	push   %esi
4019e8:	8b 75 0c             	mov    0xc(%ebp),%esi
4019eb:	57                   	push   %edi
4019ec:	8b f9                	mov    %ecx,%edi
4019ee:	3b 77 08             	cmp    0x8(%edi),%esi
4019f1:	0f 92 c1             	setb   %cl
4019f4:	e8 32 3e 00 00       	call   0x40582b
4019f9:	6b de 0c             	imul   $0xc,%esi,%ebx
4019fc:	8b 75 08             	mov    0x8(%ebp),%esi
4019ff:	8b ce                	mov    %esi,%ecx
401a01:	03 1f                	add    (%edi),%ebx
401a03:	53                   	push   %ebx
401a04:	e8 51 1a 00 00       	call   0x40345a
401a09:	8b 4b 04             	mov    0x4(%ebx),%ecx
401a0c:	8b c6                	mov    %esi,%eax
401a0e:	89 4e 04             	mov    %ecx,0x4(%esi)
401a11:	8b 4b 08             	mov    0x8(%ebx),%ecx
401a14:	5f                   	pop    %edi
401a15:	89 4e 08             	mov    %ecx,0x8(%esi)
401a18:	5e                   	pop    %esi
401a19:	5b                   	pop    %ebx
401a1a:	5d                   	pop    %ebp
401a1b:	c2 08 00             	ret    $0x8
401a1e:	53                   	push   %ebx
401a1f:	56                   	push   %esi
401a20:	8d 59 fc             	lea    -0x4(%ecx),%ebx
401a23:	57                   	push   %edi
401a24:	8b 3b                	mov    (%ebx),%edi
401a26:	8b f7                	mov    %edi,%esi
401a28:	c1 e6 04             	shl    $0x4,%esi
401a2b:	03 f1                	add    %ecx,%esi
401a2d:	85 ff                	test   %edi,%edi
401a2f:	74 0f                	je     0x401a40
401a31:	83 ee 10             	sub    $0x10,%esi
401a34:	8b ce                	mov    %esi,%ecx
401a36:	e8 54 f9 ff ff       	call   0x40138f
401a3b:	83 ef 01             	sub    $0x1,%edi
401a3e:	75 f1                	jne    0x401a31
401a40:	5f                   	pop    %edi
401a41:	5e                   	pop    %esi
401a42:	8b c3                	mov    %ebx,%eax
401a44:	5b                   	pop    %ebx
401a45:	c2 04 00             	ret    $0x4
401a48:	53                   	push   %ebx
401a49:	56                   	push   %esi
401a4a:	8d 59 fc             	lea    -0x4(%ecx),%ebx
401a4d:	57                   	push   %edi
401a4e:	8b 3b                	mov    (%ebx),%edi
401a50:	8b f7                	mov    %edi,%esi
401a52:	c1 e6 04             	shl    $0x4,%esi
401a55:	03 f1                	add    %ecx,%esi
401a57:	85 ff                	test   %edi,%edi
401a59:	74 12                	je     0x401a6d
401a5b:	8d 76 f0             	lea    -0x10(%esi),%esi
401a5e:	8b 0e                	mov    (%esi),%ecx
401a60:	e8 c8 3f 00 00       	call   0x405a2d
401a65:	83 26 00             	andl   $0x0,(%esi)
401a68:	83 ef 01             	sub    $0x1,%edi
401a6b:	75 ee                	jne    0x401a5b
401a6d:	5f                   	pop    %edi
401a6e:	5e                   	pop    %esi
401a6f:	8b c3                	mov    %ebx,%eax
401a71:	5b                   	pop    %ebx
401a72:	c2 04 00             	ret    $0x4
401a75:	53                   	push   %ebx
401a76:	56                   	push   %esi
401a77:	8d 59 fc             	lea    -0x4(%ecx),%ebx
401a7a:	57                   	push   %edi
401a7b:	8b 3b                	mov    (%ebx),%edi
401a7d:	6b f7 18             	imul   $0x18,%edi,%esi
401a80:	03 f1                	add    %ecx,%esi
401a82:	85 ff                	test   %edi,%edi
401a84:	74 12                	je     0x401a98
401a86:	8d 76 e8             	lea    -0x18(%esi),%esi
401a89:	8b 0e                	mov    (%esi),%ecx
401a8b:	e8 9d 3f 00 00       	call   0x405a2d
401a90:	83 26 00             	andl   $0x0,(%esi)
401a93:	83 ef 01             	sub    $0x1,%edi
401a96:	75 ee                	jne    0x401a86
401a98:	5f                   	pop    %edi
401a99:	5e                   	pop    %esi
401a9a:	8b c3                	mov    %ebx,%eax
401a9c:	5b                   	pop    %ebx
401a9d:	c2 04 00             	ret    $0x4
401aa0:	53                   	push   %ebx
401aa1:	56                   	push   %esi
401aa2:	8d 59 fc             	lea    -0x4(%ecx),%ebx
401aa5:	57                   	push   %edi
401aa6:	8b 3b                	mov    (%ebx),%edi
401aa8:	6b f7 0c             	imul   $0xc,%edi,%esi
401aab:	03 f1                	add    %ecx,%esi
401aad:	85 ff                	test   %edi,%edi
401aaf:	74 12                	je     0x401ac3
401ab1:	8d 76 f4             	lea    -0xc(%esi),%esi
401ab4:	8b 0e                	mov    (%esi),%ecx
401ab6:	e8 72 3f 00 00       	call   0x405a2d
401abb:	83 26 00             	andl   $0x0,(%esi)
401abe:	83 ef 01             	sub    $0x1,%edi
401ac1:	75 ee                	jne    0x401ab1
401ac3:	5f                   	pop    %edi
401ac4:	5e                   	pop    %esi
401ac5:	8b c3                	mov    %ebx,%eax
401ac7:	5b                   	pop    %ebx
401ac8:	c2 04 00             	ret    $0x4
401acb:	56                   	push   %esi
401acc:	8b f1                	mov    %ecx,%esi
401ace:	e8 1a 1b 00 00       	call   0x4035ed
401ad3:	8b c6                	mov    %esi,%eax
401ad5:	5e                   	pop    %esi
401ad6:	c2 04 00             	ret    $0x4
401ad9:	56                   	push   %esi
401ada:	8b f1                	mov    %ecx,%esi
401adc:	e8 8e 1b 00 00       	call   0x40366f
401ae1:	8b c6                	mov    %esi,%eax
401ae3:	5e                   	pop    %esi
401ae4:	c2 04 00             	ret    $0x4
401ae7:	56                   	push   %esi
401ae8:	8b f1                	mov    %ecx,%esi
401aea:	e8 a4 1b 00 00       	call   0x403693
401aef:	8b c6                	mov    %esi,%eax
401af1:	5e                   	pop    %esi
401af2:	c2 04 00             	ret    $0x4
401af5:	c7 01 ac 26 41 00    	movl   $0x4126ac,(%ecx)
401afb:	8b c1                	mov    %ecx,%eax
401afd:	c2 04 00             	ret    $0x4
401b00:	c7 01 b4 26 41 00    	movl   $0x4126b4,(%ecx)
401b06:	8b c1                	mov    %ecx,%eax
401b08:	c2 04 00             	ret    $0x4
401b0b:	c7 01 bc 26 41 00    	movl   $0x4126bc,(%ecx)
401b11:	8b c1                	mov    %ecx,%eax
401b13:	c2 04 00             	ret    $0x4
401b16:	56                   	push   %esi
401b17:	8b f1                	mov    %ecx,%esi
401b19:	e8 4a 1c 00 00       	call   0x403768
401b1e:	8b c6                	mov    %esi,%eax
401b20:	5e                   	pop    %esi
401b21:	c2 04 00             	ret    $0x4
401b24:	c7 01 cc 26 41 00    	movl   $0x4126cc,(%ecx)
401b2a:	8b c1                	mov    %ecx,%eax
401b2c:	c2 04 00             	ret    $0x4
401b2f:	c7 01 d4 26 41 00    	movl   $0x4126d4,(%ecx)
401b35:	8b c1                	mov    %ecx,%eax
401b37:	c2 04 00             	ret    $0x4
401b3a:	c7 01 dc 26 41 00    	movl   $0x4126dc,(%ecx)
401b40:	8b c1                	mov    %ecx,%eax
401b42:	c2 04 00             	ret    $0x4
401b45:	c7 01 e4 26 41 00    	movl   $0x4126e4,(%ecx)
401b4b:	8b c1                	mov    %ecx,%eax
401b4d:	c2 04 00             	ret    $0x4
401b50:	c7 01 ec 26 41 00    	movl   $0x4126ec,(%ecx)
401b56:	8b c1                	mov    %ecx,%eax
401b58:	c2 04 00             	ret    $0x4
401b5b:	c7 01 f4 26 41 00    	movl   $0x4126f4,(%ecx)
401b61:	8b c1                	mov    %ecx,%eax
401b63:	c2 04 00             	ret    $0x4
401b66:	c7 01 fc 26 41 00    	movl   $0x4126fc,(%ecx)
401b6c:	8b c1                	mov    %ecx,%eax
401b6e:	c2 04 00             	ret    $0x4
401b71:	56                   	push   %esi
401b72:	8b f1                	mov    %ecx,%esi
401b74:	e8 49 1d 00 00       	call   0x4038c2
401b79:	8b c6                	mov    %esi,%eax
401b7b:	5e                   	pop    %esi
401b7c:	c2 04 00             	ret    $0x4
401b7f:	56                   	push   %esi
401b80:	8b f1                	mov    %ecx,%esi
401b82:	8b 4e 04             	mov    0x4(%esi),%ecx
401b85:	c7 06 0c 27 41 00    	movl   $0x41270c,(%esi)
401b8b:	e8 9d 3e 00 00       	call   0x405a2d
401b90:	8b c6                	mov    %esi,%eax
401b92:	5e                   	pop    %esi
401b93:	c2 04 00             	ret    $0x4
401b96:	c7 01 14 27 41 00    	movl   $0x412714,(%ecx)
401b9c:	8b c1                	mov    %ecx,%eax
401b9e:	c2 04 00             	ret    $0x4
401ba1:	c7 01 1c 27 41 00    	movl   $0x41271c,(%ecx)
401ba7:	8b c1                	mov    %ecx,%eax
401ba9:	c2 04 00             	ret    $0x4
401bac:	c7 01 24 27 41 00    	movl   $0x412724,(%ecx)
401bb2:	8b c1                	mov    %ecx,%eax
401bb4:	c2 04 00             	ret    $0x4
401bb7:	c7 01 2c 27 41 00    	movl   $0x41272c,(%ecx)
401bbd:	8b c1                	mov    %ecx,%eax
401bbf:	c2 04 00             	ret    $0x4
401bc2:	c7 01 34 27 41 00    	movl   $0x412734,(%ecx)
401bc8:	8b c1                	mov    %ecx,%eax
401bca:	c2 04 00             	ret    $0x4
401bcd:	c7 01 3c 27 41 00    	movl   $0x41273c,(%ecx)
401bd3:	8b c1                	mov    %ecx,%eax
401bd5:	c2 04 00             	ret    $0x4
401bd8:	56                   	push   %esi
401bd9:	8b f1                	mov    %ecx,%esi
401bdb:	e8 62 1e 00 00       	call   0x403a42