40a865:	b9 7c 8e 43 00       	mov    $0x438e7c,%ecx
40a86a:	e8 36 3d 00 00       	call   0x40e5a5
40a86f:	68 b0 fc 41 00       	push   $0x41fcb0
40a874:	e8 f5 03 01 00       	call   0x41ac6e
40a879:	59                   	pop    %ecx
40a87a:	c3                   	ret
40a87b:	cc                   	int3
40a87c:	cc                   	int3
40a87d:	cc                   	int3
40a87e:	cc                   	int3
40a87f:	cc                   	int3
40a880:	68 84 57 40 00       	push   $0x405784
40a885:	b9 4c 8e 43 00       	mov    $0x438e4c,%ecx
40a88a:	e8 16 3d 00 00       	call   0x40e5a5
40a88f:	68 c0 fc 41 00       	push   $0x41fcc0
40a894:	e8 d5 03 01 00       	call   0x41ac6e
40a899:	59                   	pop    %ecx
40a89a:	c3                   	ret
40a89b:	cc                   	int3
40a89c:	cc                   	int3
40a89d:	cc                   	int3
40a89e:	cc                   	int3
40a89f:	cc                   	int3
40a8a0:	68 70 57 40 00       	push   $0x405770
40a8a5:	b9 5c 8e 43 00       	mov    $0x438e5c,%ecx
40a8aa:	e8 f6 3c 00 00       	call   0x40e5a5
40a8af:	68 d0 fc 41 00       	push   $0x41fcd0
40a8b4:	e8 b5 03 01 00       	call   0x41ac6e
40a8b9:	59                   	pop    %ecx
40a8ba:	c3                   	ret
40a8bb:	cc                   	int3
40a8bc:	cc                   	int3
40a8bd:	cc                   	int3
40a8be:	cc                   	int3
40a8bf:	cc                   	int3
40a8c0:	b9 a0 8e 43 00       	mov    $0x438ea0,%ecx
40a8c5:	e8 2b f4 00 00       	call   0x419cf5
40a8ca:	68 20 fd 41 00       	push   $0x41fd20
40a8cf:	e8 9a 03 01 00       	call   0x41ac6e
40a8d4:	59                   	pop    %ecx
40a8d5:	c3                   	ret
40a8d6:	cc                   	int3
40a8d7:	cc                   	int3
40a8d8:	cc                   	int3
40a8d9:	cc                   	int3
40a8da:	cc                   	int3
40a8db:	cc                   	int3
40a8dc:	cc                   	int3
40a8dd:	cc                   	int3
40a8de:	cc                   	int3
40a8df:	cc                   	int3
40a8e0:	e9 2d f4 00 00       	jmp    0x419d12
40a8e5:	cc                   	int3
40a8e6:	cc                   	int3
40a8e7:	cc                   	int3
40a8e8:	cc                   	int3
40a8e9:	cc                   	int3
40a8ea:	cc                   	int3
40a8eb:	cc                   	int3
40a8ec:	cc                   	int3
40a8ed:	cc                   	int3
40a8ee:	cc                   	int3
40a8ef:	cc                   	int3
40a8f0:	b9 bc 8e 43 00       	mov    $0x438ebc,%ecx
40a8f5:	e8 fb f3 00 00       	call   0x419cf5
40a8fa:	68 30 fd 41 00       	push   $0x41fd30
40a8ff:	e8 6a 03 01 00       	call   0x41ac6e
40a904:	59                   	pop    %ecx
40a905:	c3                   	ret
40a906:	cc                   	int3
40a907:	cc                   	int3
40a908:	cc                   	int3
40a909:	cc                   	int3
40a90a:	cc                   	int3
40a90b:	cc                   	int3
40a90c:	cc                   	int3
40a90d:	cc                   	int3
40a90e:	cc                   	int3
40a90f:	cc                   	int3
40a910:	33 c0                	xor    %eax,%eax
40a912:	68 40 fd 41 00       	push   $0x41fd40
40a917:	a3 30 8a 43 00       	mov    %eax,0x438a30
40a91c:	a3 34 8a 43 00       	mov    %eax,0x438a34
40a921:	a3 28 8a 43 00       	mov    %eax,0x438a28
40a926:	a3 24 8a 43 00       	mov    %eax,0x438a24
40a92b:	a3 2c 8a 43 00       	mov    %eax,0x438a2c
40a930:	e8 39 03 01 00       	call   0x41ac6e
40a935:	59                   	pop    %ecx
40a936:	c3                   	ret
40a937:	cc                   	int3
40a938:	cc                   	int3
40a939:	cc                   	int3
40a93a:	cc                   	int3
40a93b:	cc                   	int3
40a93c:	cc                   	int3
40a93d:	cc                   	int3
40a93e:	cc                   	int3
40a93f:	cc                   	int3
40a940:	8b ff                	mov    %edi,%edi
40a942:	55                   	push   %ebp
40a943:	8b ec                	mov    %esp,%ebp
40a945:	83 ec 48             	sub    $0x48,%esp
40a948:	a1 08 85 43 00       	mov    0x438508,%eax
40a94d:	33 c5                	xor    %ebp,%eax
40a94f:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a952:	8b 45 3c             	mov    0x3c(%ebp),%eax
40a955:	8b 4d 18             	mov    0x18(%ebp),%ecx
40a958:	8b 55 28             	mov    0x28(%ebp),%edx
40a95b:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
40a95f:	89 45 e0             	mov    %eax,-0x20(%ebp)
40a962:	8b 45 40             	mov    0x40(%ebp),%eax
40a965:	89 45 dc             	mov    %eax,-0x24(%ebp)
40a968:	8b 45 44             	mov    0x44(%ebp),%eax
40a96b:	89 45 e8             	mov    %eax,-0x18(%ebp)
40a96e:	8b 45 48             	mov    0x48(%ebp),%eax
40a971:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40a974:	8b 45 4c             	mov    0x4c(%ebp),%eax
40a977:	89 45 ec             	mov    %eax,-0x14(%ebp)
40a97a:	b8 cc 3f 40 00       	mov    $0x403fcc,%eax
40a97f:	53                   	push   %ebx
40a980:	8b 5d 08             	mov    0x8(%ebp),%ebx
40a983:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40a986:	89 45 d8             	mov    %eax,-0x28(%ebp)
40a989:	8b 45 50             	mov    0x50(%ebp),%eax
40a98c:	56                   	push   %esi
40a98d:	8b 75 2c             	mov    0x2c(%ebp),%esi
40a990:	57                   	push   %edi
40a991:	8b 7d 34             	mov    0x34(%ebp),%edi
40a994:	89 45 f4             	mov    %eax,-0xc(%ebp)
40a997:	8b 45 54             	mov    0x54(%ebp),%eax
40a99a:	89 45 f8             	mov    %eax,-0x8(%ebp)
40a99d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40a9a0:	89 7d c8             	mov    %edi,-0x38(%ebp)
40a9a3:	8b 7d ec             	mov    -0x14(%ebp),%edi
40a9a6:	89 4d bc             	mov    %ecx,-0x44(%ebp)
40a9a9:	8b 4b 10             	mov    0x10(%ebx),%ecx
40a9ac:	89 55 c0             	mov    %edx,-0x40(%ebp)
40a9af:	8d 55 b8             	lea    -0x48(%ebp),%edx
40a9b2:	c7 45 cc 10 00 00 00 	movl   $0x10,-0x34(%ebp)
40a9b9:	c7 45 f0 0c 00 00 00 	movl   $0xc,-0x10(%ebp)
40a9c0:	c7 45 b8 14 00 00 00 	movl   $0x14,-0x48(%ebp)
40a9c7:	89 75 c4             	mov    %esi,-0x3c(%ebp)
40a9ca:	57                   	push   %edi
40a9cb:	85 c0                	test   %eax,%eax
40a9cd:	0f 84 81 7f 01 00    	je     0x422954
40a9d3:	ff 75 e0             	push   -0x20(%ebp)
40a9d6:	8b 30                	mov    (%eax),%esi
40a9d8:	52                   	push   %edx
40a9d9:	8d 55 f0             	lea    -0x10(%ebp),%edx
40a9dc:	52                   	push   %edx
40a9dd:	8d 55 cc             	lea    -0x34(%ebp),%edx
40a9e0:	52                   	push   %edx
40a9e1:	51                   	push   %ecx
40a9e2:	8b 4e 1c             	mov    0x1c(%esi),%ecx
40a9e5:	50                   	push   %eax
40a9e6:	ff 15 20 a5 43 00    	call   *0x43a520
40a9ec:	ff 56 1c             	call   *0x1c(%esi)
40a9ef:	ff 37                	push   (%edi)
40a9f1:	8b 75 dc             	mov    -0x24(%ebp),%esi
40a9f4:	8b d8                	mov    %eax,%ebx
40a9f6:	8b ce                	mov    %esi,%ecx
40a9f8:	e8 bc 19 00 00       	call   0x40c3b9
40a9fd:	ff 75 e8             	push   -0x18(%ebp)
40aa00:	8d 4e 08             	lea    0x8(%esi),%ecx
40aa03:	e8 b1 19 00 00       	call   0x40c3b9
40aa08:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40aa0b:	8b c3                	mov    %ebx,%eax
40aa0d:	5f                   	pop    %edi
40aa0e:	5e                   	pop    %esi
40aa0f:	33 cd                	xor    %ebp,%ecx
40aa11:	5b                   	pop    %ebx
40aa12:	e8 a9 fd 00 00       	call   0x41a7c0
40aa17:	c9                   	leave
40aa18:	c2 50 00             	ret    $0x50
40aa1b:	8b ff                	mov    %edi,%edi
40aa1d:	55                   	push   %ebp
40aa1e:	8b ec                	mov    %esp,%ebp
40aa20:	8b 55 08             	mov    0x8(%ebp),%edx
40aa23:	56                   	push   %esi
40aa24:	8b f1                	mov    %ecx,%esi
40aa26:	3b 56 0c             	cmp    0xc(%esi),%edx
40aa29:	73 1f                	jae    0x40aa4a
40aa2b:	8b 46 04             	mov    0x4(%esi),%eax
40aa2e:	8d 04 50             	lea    (%eax,%edx,2),%eax
40aa31:	0f b7 08             	movzwl (%eax),%ecx
40aa34:	83 f9 2f             	cmp    $0x2f,%ecx
40aa37:	74 0e                	je     0x40aa47
40aa39:	83 f9 5c             	cmp    $0x5c,%ecx
40aa3c:	74 09                	je     0x40aa47
40aa3e:	42                   	inc    %edx
40aa3f:	83 c0 02             	add    $0x2,%eax
40aa42:	3b 56 0c             	cmp    0xc(%esi),%edx
40aa45:	72 ea                	jb     0x40aa31
40aa47:	3b 56 0c             	cmp    0xc(%esi),%edx
40aa4a:	5e                   	pop    %esi
40aa4b:	73 06                	jae    0x40aa53
40aa4d:	8b c2                	mov    %edx,%eax
40aa4f:	5d                   	pop    %ebp
40aa50:	c2 04 00             	ret    $0x4
40aa53:	83 ca ff             	or     $0xffffffff,%edx
40aa56:	eb f5                	jmp    0x40aa4d
40aa58:	8b ff                	mov    %edi,%edi
40aa5a:	55                   	push   %ebp
40aa5b:	8b ec                	mov    %esp,%ebp
40aa5d:	51                   	push   %ecx
40aa5e:	53                   	push   %ebx
40aa5f:	56                   	push   %esi
40aa60:	8b f1                	mov    %ecx,%esi
40aa62:	57                   	push   %edi
40aa63:	ff 76 30             	push   0x30(%esi)
40aa66:	e8 87 a4 00 00       	call   0x414ef2
40aa6b:	83 7e 48 ff          	cmpl   $0xffffffff,0x48(%esi)
40aa6f:	8b c8                	mov    %eax,%ecx
40aa71:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40aa74:	bf 10 27 00 00       	mov    $0x2710,%edi
40aa79:	0f 85 cd 8c 01 00    	jne    0x42374c
40aa7f:	33 db                	xor    %ebx,%ebx
40aa81:	8d 46 14             	lea    0x14(%esi),%eax
40aa84:	57                   	push   %edi
40aa85:	8b d0                	mov    %eax,%edx
40aa87:	e8 f4 a0 00 00       	call   0x414b80
40aa8c:	8b 4e 28             	mov    0x28(%esi),%ecx
40aa8f:	83 b9 80 00 00 00 00 	cmpl   $0x0,0x80(%ecx)
40aa96:	7d 17                	jge    0x40aaaf
40aa98:	3d 02 01 00 00       	cmp    $0x102,%eax
40aa9d:	0f 84 ba 8c 01 00    	je     0x42375d
40aaa3:	8b c8                	mov    %eax,%ecx
40aaa5:	e8 9c a4 00 00       	call   0x414f46
40aaaa:	5f                   	pop    %edi
40aaab:	5e                   	pop    %esi
40aaac:	5b                   	pop    %ebx
40aaad:	c9                   	leave
40aaae:	c3                   	ret
40aaaf:	b8 b4 0d 04 80       	mov    $0x80040db4,%eax
40aab4:	eb f4                	jmp    0x40aaaa
40aab6:	8b ff                	mov    %edi,%edi
40aab8:	55                   	push   %ebp
40aab9:	8b ec                	mov    %esp,%ebp
40aabb:	51                   	push   %ecx
40aabc:	56                   	push   %esi
40aabd:	57                   	push   %edi
40aabe:	8b f9                	mov    %ecx,%edi
40aac0:	e8 3b 00 00 00       	call   0x40ab00
40aac5:	8b f0                	mov    %eax,%esi
40aac7:	83 ee 01             	sub    $0x1,%esi
40aaca:	78 2e                	js     0x40aafa
40aacc:	8d 45 fc             	lea    -0x4(%ebp),%eax
40aacf:	50                   	push   %eax
40aad0:	56                   	push   %esi
40aad1:	ff 37                	push   (%edi)
40aad3:	ff 15 dc a3 43 00    	call   *0x43a3dc
40aad9:	85 c0                	test   %eax,%eax
40aadb:	0f 84 ab 8c 01 00    	je     0x42378c
40aae1:	8b 45 fc             	mov    -0x4(%ebp),%eax
40aae4:	ff 75 08             	push   0x8(%ebp)
40aae7:	83 c0 08             	add    $0x8,%eax
40aaea:	50                   	push   %eax
40aaeb:	ff 15 7c a3 43 00    	call   *0x43a37c
40aaf1:	85 c0                	test   %eax,%eax
40aaf3:	74 d2                	je     0x40aac7
40aaf5:	e9 84 8c 01 00       	jmp    0x42377e
40aafa:	5f                   	pop    %edi
40aafb:	5e                   	pop    %esi
40aafc:	c9                   	leave
40aafd:	c2 04 00             	ret    $0x4
40ab00:	8b ff                	mov    %edi,%edi
40ab02:	55                   	push   %ebp
40ab03:	8b ec                	mov    %esp,%ebp
40ab05:	83 ec 10             	sub    $0x10,%esp
40ab08:	a1 08 85 43 00       	mov    0x438508,%eax
40ab0d:	33 c5                	xor    %ebp,%eax
40ab0f:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ab12:	83 39 00             	cmpl   $0x0,(%ecx)
40ab15:	74 27                	je     0x40ab3e
40ab17:	6a 02                	push   $0x2
40ab19:	6a 0c                	push   $0xc
40ab1b:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ab1e:	50                   	push   %eax
40ab1f:	ff 31                	push   (%ecx)
40ab21:	ff 15 b4 a3 43 00    	call   *0x43a3b4
40ab27:	85 c0                	test   %eax,%eax
40ab29:	0f 84 70 8c 01 00    	je     0x42379f
40ab2f:	8b 45 f0             	mov    -0x10(%ebp),%eax
40ab32:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40ab35:	33 cd                	xor    %ebp,%ecx
40ab37:	e8 84 fc 00 00       	call   0x41a7c0
40ab3c:	c9                   	leave
40ab3d:	c3                   	ret
40ab3e:	33 c0                	xor    %eax,%eax
40ab40:	eb f0                	jmp    0x40ab32
40ab42:	8b ff                	mov    %edi,%edi
40ab44:	55                   	push   %ebp
40ab45:	8b ec                	mov    %esp,%ebp
40ab47:	83 ec 0c             	sub    $0xc,%esp
40ab4a:	53                   	push   %ebx
40ab4b:	8b da                	mov    %edx,%ebx
40ab4d:	85 db                	test   %ebx,%ebx
40ab4f:	74 79                	je     0x40abca
40ab51:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40ab55:	74 73                	je     0x40abca
40ab57:	8b cb                	mov    %ebx,%ecx
40ab59:	8d 51 01             	lea    0x1(%ecx),%edx
40ab5c:	8a 01                	mov    (%ecx),%al
40ab5e:	41                   	inc    %ecx
40ab5f:	84 c0                	test   %al,%al
40ab61:	75 f9                	jne    0x40ab5c
40ab63:	2b ca                	sub    %edx,%ecx
40ab65:	33 d2                	xor    %edx,%edx
40ab67:	56                   	push   %esi
40ab68:	57                   	push   %edi
40ab69:	6a 0a                	push   $0xa
40ab6b:	8d 79 01             	lea    0x1(%ecx),%edi
40ab6e:	59                   	pop    %ecx
40ab6f:	8b c7                	mov    %edi,%eax
40ab71:	89 7d f8             	mov    %edi,-0x8(%ebp)
40ab74:	f7 f1                	div    %ecx
40ab76:	03 c7                	add    %edi,%eax
40ab78:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ab7b:	03 c0                	add    %eax,%eax
40ab7d:	50                   	push   %eax
40ab7e:	89 45 f4             	mov    %eax,-0xc(%ebp)
40ab81:	ff 15 5c a0 43 00    	call   *0x43a05c
40ab87:	8b f0                	mov    %eax,%esi
40ab89:	85 f6                	test   %esi,%esi
40ab8b:	0f 84 21 8c 01 00    	je     0x4237b2
40ab91:	ff 75 fc             	push   -0x4(%ebp)
40ab94:	56                   	push   %esi
40ab95:	57                   	push   %edi
40ab96:	53                   	push   %ebx
40ab97:	6a 00                	push   $0x0
40ab99:	6a 00                	push   $0x0
40ab9b:	ff 15 60 a2 43 00    	call   *0x43a260
40aba1:	85 c0                	test   %eax,%eax
40aba3:	0f 84 26 8c 01 00    	je     0x4237cf
40aba9:	33 ff                	xor    %edi,%edi
40abab:	8b 4d 08             	mov    0x8(%ebp),%ecx
40abae:	8b c6                	mov    %esi,%eax
40abb0:	33 f6                	xor    %esi,%esi
40abb2:	89 01                	mov    %eax,(%ecx)
40abb4:	85 f6                	test   %esi,%esi
40abb6:	75 09                	jne    0x40abc1
40abb8:	8b c7                	mov    %edi,%eax
40abba:	5f                   	pop    %edi
40abbb:	5e                   	pop    %esi
40abbc:	5b                   	pop    %ebx
40abbd:	c9                   	leave
40abbe:	c2 04 00             	ret    $0x4
40abc1:	56                   	push   %esi
40abc2:	ff 15 64 a0 43 00    	call   *0x43a064
40abc8:	eb ee                	jmp    0x40abb8