401a7d:	e8 f7 53 00 00       	call   0x406e79
401a82:	50                   	push   %eax
401a83:	68 80 11 40 00       	push   $0x401180
401a88:	ff 15 cc 81 40 00    	call   *0x4081cc
401a8e:	83 c4 0c             	add    $0xc,%esp
401a91:	83 ee 01             	sub    $0x1,%esi
401a94:	75 e5                	jne    0x401a7b
401a96:	5e                   	pop    %esi
401a97:	c3                   	ret
401a98:	cc                   	int3
401a99:	cc                   	int3
401a9a:	cc                   	int3
401a9b:	cc                   	int3
401a9c:	cc                   	int3
401a9d:	cc                   	int3
401a9e:	8b ff                	mov    %edi,%edi
401aa0:	51                   	push   %ecx
401aa1:	68 60 ea 00 00       	push   $0xea60
401aa6:	6a 02                	push   $0x2
401aa8:	e8 cc 53 00 00       	call   0x406e79
401aad:	59                   	pop    %ecx
401aae:	50                   	push   %eax
401aaf:	e8 29 ff ff ff       	call   0x4019dd
401ab4:	83 c4 0c             	add    $0xc,%esp
401ab7:	c3                   	ret
401ab8:	cc                   	int3
401ab9:	cc                   	int3
401aba:	cc                   	int3
401abb:	cc                   	int3
401abc:	cc                   	int3
401abd:	cc                   	int3
401abe:	8b ff                	mov    %edi,%edi
401ac0:	55                   	push   %ebp
401ac1:	8b ec                	mov    %esp,%ebp
401ac3:	83 ec 20             	sub    $0x20,%esp
401ac6:	a1 b4 71 40 00       	mov    0x4071b4,%eax
401acb:	33 c5                	xor    %ebp,%eax
401acd:	89 45 fc             	mov    %eax,-0x4(%ebp)
401ad0:	56                   	push   %esi
401ad1:	8d 45 e8             	lea    -0x18(%ebp),%eax
401ad4:	50                   	push   %eax
401ad5:	6a 20                	push   $0x20
401ad7:	ff 15 30 80 40 00    	call   *0x408030
401add:	50                   	push   %eax
401ade:	ff 15 08 80 40 00    	call   *0x408008
401ae4:	33 f6                	xor    %esi,%esi
401ae6:	85 c0                	test   %eax,%eax
401ae8:	74 48                	je     0x401b32
401aea:	8d 45 e0             	lea    -0x20(%ebp),%eax
401aed:	50                   	push   %eax
401aee:	68 88 11 40 00       	push   $0x401188
401af3:	56                   	push   %esi
401af4:	ff 15 10 80 40 00    	call   *0x408010
401afa:	85 c0                	test   %eax,%eax
401afc:	74 2b                	je     0x401b29
401afe:	8b 45 e0             	mov    -0x20(%ebp),%eax
401b01:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
401b04:	56                   	push   %esi
401b05:	56                   	push   %esi
401b06:	56                   	push   %esi
401b07:	89 45 f0             	mov    %eax,-0x10(%ebp)
401b0a:	8d 45 ec             	lea    -0x14(%ebp),%eax
401b0d:	50                   	push   %eax
401b0e:	56                   	push   %esi
401b0f:	ff 75 e8             	push   -0x18(%ebp)
401b12:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
401b19:	89 4d f4             	mov    %ecx,-0xc(%ebp)
401b1c:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
401b23:	ff 15 0c 80 40 00    	call   *0x40800c
401b29:	ff 75 e8             	push   -0x18(%ebp)
401b2c:	ff 15 3c 80 40 00    	call   *0x40803c
401b32:	68 02 00 01 80       	push   $0x80010002
401b37:	6a 01                	push   $0x1
401b39:	56                   	push   %esi
401b3a:	56                   	push   %esi
401b3b:	56                   	push   %esi
401b3c:	56                   	push   %esi
401b3d:	ff 15 04 80 40 00    	call   *0x408004
401b43:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401b46:	33 cd                	xor    %ebp,%ecx
401b48:	5e                   	pop    %esi
401b49:	e8 92 4d 00 00       	call   0x4068e0
401b4e:	c9                   	leave
401b4f:	c3                   	ret
401b50:	cc                   	int3
401b51:	cc                   	int3
401b52:	cc                   	int3
401b53:	cc                   	int3
401b54:	cc                   	int3
401b55:	cc                   	int3
401b56:	8b ff                	mov    %edi,%edi
401b58:	55                   	push   %ebp
401b59:	8b ec                	mov    %esp,%ebp
401b5b:	83 ec 0c             	sub    $0xc,%esp
401b5e:	53                   	push   %ebx
401b5f:	56                   	push   %esi
401b60:	57                   	push   %edi
401b61:	68 02 04 00 00       	push   $0x402
401b66:	8b fa                	mov    %edx,%edi
401b68:	8b d9                	mov    %ecx,%ebx
401b6a:	e8 4f 4a 00 00       	call   0x4065be
401b6f:	8b f0                	mov    %eax,%esi
401b71:	59                   	pop    %ecx
401b72:	85 f6                	test   %esi,%esi
401b74:	75 04                	jne    0x401b7a
401b76:	33 c0                	xor    %eax,%eax
401b78:	eb 72                	jmp    0x401bec
401b7a:	8d 45 fc             	lea    -0x4(%ebp),%eax
401b7d:	50                   	push   %eax
401b7e:	68 00 04 00 00       	push   $0x400
401b83:	eb 46                	jmp    0x401bcb
401b85:	ff 15 38 80 40 00    	call   *0x408038
401b8b:	83 f8 7a             	cmp    $0x7a,%eax
401b8e:	75 63                	jne    0x401bf3
401b90:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
401b94:	75 5d                	jne    0x401bf3
401b96:	8b 45 fc             	mov    -0x4(%ebp),%eax
401b99:	56                   	push   %esi
401b9a:	89 45 f8             	mov    %eax,-0x8(%ebp)
401b9d:	e8 4b 4a 00 00       	call   0x4065ed
401ba2:	8b 45 f8             	mov    -0x8(%ebp),%eax
401ba5:	33 c9                	xor    %ecx,%ecx
401ba7:	d1 e8                	shr    $1,%eax
401ba9:	6a 02                	push   $0x2
401bab:	40                   	inc    %eax
401bac:	5a                   	pop    %edx
401bad:	f7 e2                	mul    %edx
401baf:	0f 90 c1             	seto   %cl
401bb2:	f7 d9                	neg    %ecx
401bb4:	0b c8                	or     %eax,%ecx
401bb6:	51                   	push   %ecx
401bb7:	e8 02 4a 00 00       	call   0x4065be
401bbc:	8b f0                	mov    %eax,%esi
401bbe:	59                   	pop    %ecx
401bbf:	59                   	pop    %ecx
401bc0:	85 f6                	test   %esi,%esi
401bc2:	74 b2                	je     0x401b76
401bc4:	8d 45 fc             	lea    -0x4(%ebp),%eax
401bc7:	50                   	push   %eax
401bc8:	ff 75 f8             	push   -0x8(%ebp)
401bcb:	56                   	push   %esi
401bcc:	8d 45 f4             	lea    -0xc(%ebp),%eax
401bcf:	50                   	push   %eax
401bd0:	ff 75 08             	push   0x8(%ebp)
401bd3:	57                   	push   %edi
401bd4:	53                   	push   %ebx
401bd5:	ff 15 18 81 40 00    	call   *0x408118
401bdb:	85 c0                	test   %eax,%eax
401bdd:	74 a6                	je     0x401b85
401bdf:	8b 45 fc             	mov    -0x4(%ebp),%eax
401be2:	d1 e8                	shr    $1,%eax
401be4:	33 c9                	xor    %ecx,%ecx
401be6:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
401bea:	8b c6                	mov    %esi,%eax
401bec:	5f                   	pop    %edi
401bed:	5e                   	pop    %esi
401bee:	5b                   	pop    %ebx
401bef:	c9                   	leave
401bf0:	c2 04 00             	ret    $0x4
401bf3:	56                   	push   %esi
401bf4:	e8 f4 49 00 00       	call   0x4065ed
401bf9:	59                   	pop    %ecx
401bfa:	e9 77 ff ff ff       	jmp    0x401b76
401bff:	cc                   	int3
401c00:	cc                   	int3
401c01:	cc                   	int3
401c02:	cc                   	int3
401c03:	cc                   	int3
401c04:	cc                   	int3
401c05:	8b ff                	mov    %edi,%edi
401c07:	55                   	push   %ebp
401c08:	8b ec                	mov    %esp,%ebp
401c0a:	51                   	push   %ecx
401c0b:	51                   	push   %ecx
401c0c:	53                   	push   %ebx
401c0d:	56                   	push   %esi
401c0e:	8b f1                	mov    %ecx,%esi
401c10:	33 db                	xor    %ebx,%ebx
401c12:	57                   	push   %edi
401c13:	89 75 fc             	mov    %esi,-0x4(%ebp)
401c16:	8b d6                	mov    %esi,%edx
401c18:	89 5d f8             	mov    %ebx,-0x8(%ebp)
401c1b:	8b fb                	mov    %ebx,%edi
401c1d:	66 39 1e             	cmp    %bx,(%esi)
401c20:	74 27                	je     0x401c49
401c22:	33 f6                	xor    %esi,%esi
401c24:	8b ca                	mov    %edx,%ecx
401c26:	8d 59 02             	lea    0x2(%ecx),%ebx
401c29:	66 8b 01             	mov    (%ecx),%ax
401c2c:	83 c1 02             	add    $0x2,%ecx
401c2f:	66 3b c6             	cmp    %si,%ax
401c32:	75 f5                	jne    0x401c29
401c34:	2b cb                	sub    %ebx,%ecx
401c36:	d1 f9                	sar    $1,%ecx
401c38:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
401c3b:	83 c2 02             	add    $0x2,%edx
401c3e:	47                   	inc    %edi
401c3f:	66 39 32             	cmp    %si,(%edx)
401c42:	75 e0                	jne    0x401c24
401c44:	8b 75 fc             	mov    -0x4(%ebp),%esi
401c47:	33 db                	xor    %ebx,%ebx
401c49:	33 c9                	xor    %ecx,%ecx
401c4b:	8d 47 02             	lea    0x2(%edi),%eax
401c4e:	6a 04                	push   $0x4
401c50:	5a                   	pop    %edx
401c51:	f7 e2                	mul    %edx
401c53:	0f 90 c1             	seto   %cl
401c56:	f7 d9                	neg    %ecx
401c58:	0b c8                	or     %eax,%ecx
401c5a:	51                   	push   %ecx
401c5b:	e8 5e 49 00 00       	call   0x4065be
401c60:	8b d0                	mov    %eax,%edx
401c62:	59                   	pop    %ecx
401c63:	85 d2                	test   %edx,%edx
401c65:	74 38                	je     0x401c9f
401c67:	89 32                	mov    %esi,(%edx)
401c69:	85 ff                	test   %edi,%edi
401c6b:	74 2b                	je     0x401c98
401c6d:	8b fb                	mov    %ebx,%edi
401c6f:	eb 22                	jmp    0x401c93
401c71:	8b ce                	mov    %esi,%ecx
401c73:	89 74 ba 04          	mov    %esi,0x4(%edx,%edi,4)
401c77:	8d 59 02             	lea    0x2(%ecx),%ebx
401c7a:	66 8b 01             	mov    (%ecx),%ax
401c7d:	83 c1 02             	add    $0x2,%ecx
401c80:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
401c84:	75 f4                	jne    0x401c7a
401c86:	2b cb                	sub    %ebx,%ecx
401c88:	d1 f9                	sar    $1,%ecx
401c8a:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
401c8d:	83 c6 02             	add    $0x2,%esi
401c90:	47                   	inc    %edi
401c91:	33 db                	xor    %ebx,%ebx
401c93:	66 39 1e             	cmp    %bx,(%esi)
401c96:	75 d9                	jne    0x401c71
401c98:	89 5c ba 04          	mov    %ebx,0x4(%edx,%edi,4)
401c9c:	8d 42 04             	lea    0x4(%edx),%eax
401c9f:	5f                   	pop    %edi
401ca0:	5e                   	pop    %esi
401ca1:	5b                   	pop    %ebx
401ca2:	c9                   	leave
401ca3:	c3                   	ret
401ca4:	cc                   	int3
401ca5:	cc                   	int3
401ca6:	cc                   	int3
401ca7:	cc                   	int3
401ca8:	cc                   	int3
401ca9:	cc                   	int3
401caa:	8b ff                	mov    %edi,%edi
401cac:	55                   	push   %ebp
401cad:	8b ec                	mov    %esp,%ebp
401caf:	83 ec 10             	sub    $0x10,%esp
401cb2:	53                   	push   %ebx
401cb3:	33 c0                	xor    %eax,%eax
401cb5:	8b d9                	mov    %ecx,%ebx
401cb7:	89 45 fc             	mov    %eax,-0x4(%ebp)
401cba:	56                   	push   %esi
401cbb:	57                   	push   %edi
401cbc:	8b f8                	mov    %eax,%edi
401cbe:	85 db                	test   %ebx,%ebx
401cc0:	74 24                	je     0x401ce6
401cc2:	8b 13                	mov    (%ebx),%edx
401cc4:	8b c8                	mov    %eax,%ecx
401cc6:	eb 1a                	jmp    0x401ce2
401cc8:	8d 72 02             	lea    0x2(%edx),%esi
401ccb:	66 8b 02             	mov    (%edx),%ax
401cce:	83 c2 02             	add    $0x2,%edx
401cd1:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
401cd5:	75 f4                	jne    0x401ccb
401cd7:	2b d6                	sub    %esi,%edx
401cd9:	d1 fa                	sar    $1,%edx
401cdb:	42                   	inc    %edx
401cdc:	03 fa                	add    %edx,%edi
401cde:	41                   	inc    %ecx
401cdf:	8b 14 8b             	mov    (%ebx,%ecx,4),%edx
401ce2:	85 d2                	test   %edx,%edx
401ce4:	75 e2                	jne    0x401cc8
401ce6:	47                   	inc    %edi
401ce7:	33 c9                	xor    %ecx,%ecx
401ce9:	6a 02                	push   $0x2
401ceb:	5a                   	pop    %edx
401cec:	8b c7                	mov    %edi,%eax
401cee:	f7 e2                	mul    %edx
401cf0:	0f 90 c1             	seto   %cl
401cf3:	f7 d9                	neg    %ecx
401cf5:	0b c8                	or     %eax,%ecx
401cf7:	51                   	push   %ecx
401cf8:	e8 c1 48 00 00       	call   0x4065be
401cfd:	8b f0                	mov    %eax,%esi
401cff:	59                   	pop    %ecx
401d00:	85 f6                	test   %esi,%esi
401d02:	74 75                	je     0x401d79
401d04:	33 c9                	xor    %ecx,%ecx
401d06:	8b c1                	mov    %ecx,%eax
401d08:	89 45 f8             	mov    %eax,-0x8(%ebp)
401d0b:	85 db                	test   %ebx,%ebx
401d0d:	74 45                	je     0x401d54
401d0f:	8b 13                	mov    (%ebx),%edx
401d11:	eb 3a                	jmp    0x401d4d
401d13:	52                   	push   %edx
401d14:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
401d17:	8b d7                	mov    %edi,%edx
401d19:	2b d0                	sub    %eax,%edx
401d1b:	89 4d f0             	mov    %ecx,-0x10(%ebp)
401d1e:	e8 2f fc ff ff       	call   0x401952
401d23:	85 c0                	test   %eax,%eax
401d25:	78 4b                	js     0x401d72
401d27:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401d2a:	8d 51 02             	lea    0x2(%ecx),%edx
401d2d:	66 8b 01             	mov    (%ecx),%ax
401d30:	83 c1 02             	add    $0x2,%ecx
401d33:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
401d37:	75 f4                	jne    0x401d2d
401d39:	8b 45 f8             	mov    -0x8(%ebp),%eax
401d3c:	2b ca                	sub    %edx,%ecx
401d3e:	d1 f9                	sar    $1,%ecx
401d40:	40                   	inc    %eax
401d41:	03 c1                	add    %ecx,%eax
401d43:	8b 4d f4             	mov    -0xc(%ebp),%ecx
401d46:	41                   	inc    %ecx
401d47:	89 45 f8             	mov    %eax,-0x8(%ebp)
401d4a:	8b 14 8b             	mov    (%ebx,%ecx,4),%edx
401d4d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
401d50:	85 d2                	test   %edx,%edx
401d52:	75 bf                	jne    0x401d13
401d54:	3b c7                	cmp    %edi,%eax
401d56:	7d 08                	jge    0x401d60
401d58:	33 c9                	xor    %ecx,%ecx
401d5a:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
401d5e:	eb 07                	jmp    0x401d67
401d60:	33 c0                	xor    %eax,%eax
401d62:	66 89 44 7e fe       	mov    %ax,-0x2(%esi,%edi,2)
401d67:	8b ce                	mov    %esi,%ecx
401d69:	e8 97 fe ff ff       	call   0x401c05
401d6e:	85 c0                	test   %eax,%eax
401d70:	75 09                	jne    0x401d7b
401d72:	56                   	push   %esi
401d73:	e8 75 48 00 00       	call   0x4065ed
401d78:	59                   	pop    %ecx
401d79:	33 c0                	xor    %eax,%eax
401d7b:	5f                   	pop    %edi
401d7c:	5e                   	pop    %esi
401d7d:	5b                   	pop    %ebx
401d7e:	c9                   	leave
401d7f:	c3                   	ret
401d80:	cc                   	int3
401d81:	cc                   	int3
401d82:	cc                   	int3
401d83:	cc                   	int3
401d84:	cc                   	int3