40a786:	e8 88 52 03 00       	call   0x43fa13
40a78b:	c2 04 00             	ret    $0x4
40a78e:	6a 04                	push   $0x4
40a790:	b8 03 b1 48 00       	mov    $0x48b103,%eax
40a795:	e8 b0 52 03 00       	call   0x43fa4a
40a79a:	8b f1                	mov    %ecx,%esi
40a79c:	89 75 f0             	mov    %esi,-0x10(%ebp)
40a79f:	8b 55 08             	mov    0x8(%ebp),%edx
40a7a2:	8d 4e 04             	lea    0x4(%esi),%ecx
40a7a5:	8b 02                	mov    (%edx),%eax
40a7a7:	89 06                	mov    %eax,(%esi)
40a7a9:	8d 42 04             	lea    0x4(%edx),%eax
40a7ac:	50                   	push   %eax
40a7ad:	e8 db 07 00 00       	call   0x40af8d
40a7b2:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40a7b6:	8b c6                	mov    %esi,%eax
40a7b8:	e8 56 52 03 00       	call   0x43fa13
40a7bd:	c2 04 00             	ret    $0x4
40a7c0:	6a 04                	push   $0x4
40a7c2:	b8 31 b1 48 00       	mov    $0x48b131,%eax
40a7c7:	e8 7e 52 03 00       	call   0x43fa4a
40a7cc:	8b f1                	mov    %ecx,%esi
40a7ce:	89 75 f0             	mov    %esi,-0x10(%ebp)
40a7d1:	8b 55 08             	mov    0x8(%ebp),%edx
40a7d4:	8d 4e 04             	lea    0x4(%esi),%ecx
40a7d7:	8b 02                	mov    (%edx),%eax
40a7d9:	89 06                	mov    %eax,(%esi)
40a7db:	8d 42 04             	lea    0x4(%edx),%eax
40a7de:	50                   	push   %eax
40a7df:	e8 a9 07 00 00       	call   0x40af8d
40a7e4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40a7e8:	8b c6                	mov    %esi,%eax
40a7ea:	e8 24 52 03 00       	call   0x43fa13
40a7ef:	c2 04 00             	ret    $0x4
40a7f2:	6a 08                	push   $0x8
40a7f4:	b8 67 b1 48 00       	mov    $0x48b167,%eax
40a7f9:	e8 4c 52 03 00       	call   0x43fa4a
40a7fe:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40a801:	33 d2                	xor    %edx,%edx
40a803:	8d 41 04             	lea    0x4(%ecx),%eax
40a806:	89 11                	mov    %edx,(%ecx)
40a808:	89 45 ec             	mov    %eax,-0x14(%ebp)
40a80b:	89 10                	mov    %edx,(%eax)
40a80d:	89 50 04             	mov    %edx,0x4(%eax)
40a810:	89 50 08             	mov    %edx,0x8(%eax)
40a813:	89 55 fc             	mov    %edx,-0x4(%ebp)
40a816:	89 50 0c             	mov    %edx,0xc(%eax)
40a819:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40a81d:	8b c1                	mov    %ecx,%eax
40a81f:	e8 ef 51 03 00       	call   0x43fa13
40a824:	c3                   	ret
40a825:	6a 04                	push   $0x4
40a827:	b8 95 b1 48 00       	mov    $0x48b195,%eax
40a82c:	e8 19 52 03 00       	call   0x43fa4a
40a831:	8b f1                	mov    %ecx,%esi
40a833:	89 75 f0             	mov    %esi,-0x10(%ebp)
40a836:	8b 55 08             	mov    0x8(%ebp),%edx
40a839:	8d 4e 04             	lea    0x4(%esi),%ecx
40a83c:	8b 02                	mov    (%edx),%eax
40a83e:	89 06                	mov    %eax,(%esi)
40a840:	8d 42 04             	lea    0x4(%edx),%eax
40a843:	50                   	push   %eax
40a844:	e8 44 07 00 00       	call   0x40af8d
40a849:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40a84d:	8b c6                	mov    %esi,%eax
40a84f:	e8 bf 51 03 00       	call   0x43fa13
40a854:	c2 04 00             	ret    $0x4
40a857:	6a 08                	push   $0x8
40a859:	b8 cb b1 48 00       	mov    $0x48b1cb,%eax
40a85e:	e8 e7 51 03 00       	call   0x43fa4a
40a863:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40a866:	33 d2                	xor    %edx,%edx
40a868:	8d 41 04             	lea    0x4(%ecx),%eax
40a86b:	89 11                	mov    %edx,(%ecx)
40a86d:	89 45 ec             	mov    %eax,-0x14(%ebp)
40a870:	89 10                	mov    %edx,(%eax)
40a872:	89 50 04             	mov    %edx,0x4(%eax)
40a875:	89 50 08             	mov    %edx,0x8(%eax)
40a878:	89 55 fc             	mov    %edx,-0x4(%ebp)
40a87b:	89 50 0c             	mov    %edx,0xc(%eax)
40a87e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40a882:	8b c1                	mov    %ecx,%eax
40a884:	e8 8a 51 03 00       	call   0x43fa13
40a889:	c3                   	ret
40a88a:	6a 04                	push   $0x4
40a88c:	b8 f3 b1 48 00       	mov    $0x48b1f3,%eax
40a891:	e8 b4 51 03 00       	call   0x43fa4a
40a896:	8b f1                	mov    %ecx,%esi
40a898:	6a 24                	push   $0x24
40a89a:	e8 04 4a 03 00       	call   0x43f2a3
40a89f:	59                   	pop    %ecx
40a8a0:	8b c8                	mov    %eax,%ecx
40a8a2:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40a8a5:	33 c0                	xor    %eax,%eax
40a8a7:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a8aa:	85 c9                	test   %ecx,%ecx
40a8ac:	74 05                	je     0x40a8b3
40a8ae:	e8 65 22 00 00       	call   0x40cb18
40a8b3:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40a8b7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40a8ba:	89 06                	mov    %eax,(%esi)
40a8bc:	89 46 04             	mov    %eax,0x4(%esi)
40a8bf:	8b 45 08             	mov    0x8(%ebp),%eax
40a8c2:	89 46 0c             	mov    %eax,0xc(%esi)
40a8c5:	8b c1                	mov    %ecx,%eax
40a8c7:	c1 e8 03             	shr    $0x3,%eax
40a8ca:	89 4e 08             	mov    %ecx,0x8(%esi)
40a8cd:	f7 d0                	not    %eax
40a8cf:	c1 e9 09             	shr    $0x9,%ecx
40a8d2:	25 00 01 00 00       	and    $0x100,%eax
40a8d7:	f7 d1                	not    %ecx
40a8d9:	89 46 10             	mov    %eax,0x10(%esi)
40a8dc:	83 e1 04             	and    $0x4,%ecx
40a8df:	8b c6                	mov    %esi,%eax
40a8e1:	89 4e 14             	mov    %ecx,0x14(%esi)
40a8e4:	e8 2a 51 03 00       	call   0x43fa13
40a8e9:	c2 08 00             	ret    $0x8
40a8ec:	6a 04                	push   $0x4
40a8ee:	b8 1b b2 48 00       	mov    $0x48b21b,%eax
40a8f3:	e8 52 51 03 00       	call   0x43fa4a
40a8f8:	8b f1                	mov    %ecx,%esi
40a8fa:	6a 24                	push   $0x24
40a8fc:	e8 a2 49 03 00       	call   0x43f2a3
40a901:	59                   	pop    %ecx
40a902:	8b c8                	mov    %eax,%ecx
40a904:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40a907:	33 c0                	xor    %eax,%eax
40a909:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a90c:	85 c9                	test   %ecx,%ecx
40a90e:	74 05                	je     0x40a915
40a910:	e8 03 22 00 00       	call   0x40cb18
40a915:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40a919:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40a91c:	89 06                	mov    %eax,(%esi)
40a91e:	89 46 04             	mov    %eax,0x4(%esi)
40a921:	8b 45 08             	mov    0x8(%ebp),%eax
40a924:	89 46 0c             	mov    %eax,0xc(%esi)
40a927:	8b c1                	mov    %ecx,%eax
40a929:	c1 e8 03             	shr    $0x3,%eax
40a92c:	89 4e 08             	mov    %ecx,0x8(%esi)
40a92f:	f7 d0                	not    %eax
40a931:	c1 e9 09             	shr    $0x9,%ecx
40a934:	25 00 01 00 00       	and    $0x100,%eax
40a939:	f7 d1                	not    %ecx
40a93b:	89 46 10             	mov    %eax,0x10(%esi)
40a93e:	83 e1 04             	and    $0x4,%ecx
40a941:	8b c6                	mov    %esi,%eax
40a943:	89 4e 14             	mov    %ecx,0x14(%esi)
40a946:	e8 c8 50 03 00       	call   0x43fa13
40a94b:	c2 08 00             	ret    $0x8
40a94e:	6a 04                	push   $0x4
40a950:	b8 54 b2 48 00       	mov    $0x48b254,%eax
40a955:	e8 f0 50 03 00       	call   0x43fa4a
40a95a:	8b f1                	mov    %ecx,%esi
40a95c:	89 75 f0             	mov    %esi,-0x10(%ebp)
40a95f:	e8 f9 04 00 00       	call   0x40ae5d
40a964:	33 db                	xor    %ebx,%ebx
40a966:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40a969:	8d 4e 20             	lea    0x20(%esi),%ecx
40a96c:	e8 ec 04 00 00       	call   0x40ae5d
40a971:	33 d2                	xor    %edx,%edx
40a973:	42                   	inc    %edx
40a974:	88 55 fc             	mov    %dl,-0x4(%ebp)
40a977:	8d 4e 40             	lea    0x40(%esi),%ecx
40a97a:	89 19                	mov    %ebx,(%ecx)
40a97c:	89 59 04             	mov    %ebx,0x4(%ecx)
40a97f:	89 59 08             	mov    %ebx,0x8(%ecx)
40a982:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40a986:	8b 45 0c             	mov    0xc(%ebp),%eax
40a989:	8b 7d 14             	mov    0x14(%ebp),%edi
40a98c:	8b 5d 20             	mov    0x20(%ebp),%ebx
40a98f:	89 46 50             	mov    %eax,0x50(%esi)
40a992:	8b 45 08             	mov    0x8(%ebp),%eax
40a995:	89 46 54             	mov    %eax,0x54(%esi)
40a998:	8b 45 1c             	mov    0x1c(%ebp),%eax
40a99b:	89 46 5c             	mov    %eax,0x5c(%esi)
40a99e:	8b 45 18             	mov    0x18(%ebp),%eax
40a9a1:	89 7e 58             	mov    %edi,0x58(%esi)
40a9a4:	89 5e 60             	mov    %ebx,0x60(%esi)
40a9a7:	c6 46 64 00          	movb   $0x0,0x64(%esi)
40a9ab:	89 46 68             	mov    %eax,0x68(%esi)
40a9ae:	f6 47 08 08          	testb  $0x8,0x8(%edi)
40a9b2:	74 05                	je     0x40a9b9
40a9b4:	f6 c3 10             	test   $0x10,%bl
40a9b7:	74 02                	je     0x40a9bb
40a9b9:	32 d2                	xor    %dl,%dl
40a9bb:	8b 45 10             	mov    0x10(%ebp),%eax
40a9be:	51                   	push   %ecx
40a9bf:	88 56 6c             	mov    %dl,0x6c(%esi)
40a9c2:	89 46 70             	mov    %eax,0x70(%esi)
40a9c5:	ff 77 18             	push   0x18(%edi)
40a9c8:	e8 44 b3 ff ff       	call   0x405d11
40a9cd:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40a9d1:	8b c6                	mov    %esi,%eax
40a9d3:	e8 3b 50 03 00       	call   0x43fa13
40a9d8:	c2 1c 00             	ret    $0x1c
40a9db:	6a 04                	push   $0x4
40a9dd:	b8 8d b2 48 00       	mov    $0x48b28d,%eax
40a9e2:	e8 63 50 03 00       	call   0x43fa4a
40a9e7:	8b f1                	mov    %ecx,%esi
40a9e9:	89 75 f0             	mov    %esi,-0x10(%ebp)
40a9ec:	e8 04 05 00 00       	call   0x40aef5
40a9f1:	33 db                	xor    %ebx,%ebx
40a9f3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40a9f6:	8d 4e 20             	lea    0x20(%esi),%ecx
40a9f9:	e8 f7 04 00 00       	call   0x40aef5
40a9fe:	33 d2                	xor    %edx,%edx
40aa00:	42                   	inc    %edx
40aa01:	88 55 fc             	mov    %dl,-0x4(%ebp)
40aa04:	8d 4e 40             	lea    0x40(%esi),%ecx
40aa07:	89 19                	mov    %ebx,(%ecx)
40aa09:	89 59 04             	mov    %ebx,0x4(%ecx)
40aa0c:	89 59 08             	mov    %ebx,0x8(%ecx)
40aa0f:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40aa13:	8b 45 0c             	mov    0xc(%ebp),%eax
40aa16:	8b 7d 14             	mov    0x14(%ebp),%edi
40aa19:	89 5e 4c             	mov    %ebx,0x4c(%esi)
40aa1c:	8b 5d 20             	mov    0x20(%ebp),%ebx
40aa1f:	89 46 50             	mov    %eax,0x50(%esi)
40aa22:	8b 45 08             	mov    0x8(%ebp),%eax
40aa25:	89 46 54             	mov    %eax,0x54(%esi)
40aa28:	8b 45 1c             	mov    0x1c(%ebp),%eax
40aa2b:	89 46 5c             	mov    %eax,0x5c(%esi)
40aa2e:	8b 45 18             	mov    0x18(%ebp),%eax
40aa31:	89 7e 58             	mov    %edi,0x58(%esi)
40aa34:	89 5e 60             	mov    %ebx,0x60(%esi)
40aa37:	c6 46 64 00          	movb   $0x0,0x64(%esi)
40aa3b:	89 46 68             	mov    %eax,0x68(%esi)
40aa3e:	f6 47 08 08          	testb  $0x8,0x8(%edi)
40aa42:	74 05                	je     0x40aa49
40aa44:	f6 c3 10             	test   $0x10,%bl
40aa47:	74 02                	je     0x40aa4b
40aa49:	32 d2                	xor    %dl,%dl
40aa4b:	8b 45 10             	mov    0x10(%ebp),%eax
40aa4e:	51                   	push   %ecx
40aa4f:	88 56 6c             	mov    %dl,0x6c(%esi)
40aa52:	89 46 70             	mov    %eax,0x70(%esi)
40aa55:	ff 77 18             	push   0x18(%edi)
40aa58:	e8 b4 b2 ff ff       	call   0x405d11
40aa5d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40aa61:	8b c6                	mov    %esi,%eax
40aa63:	e8 ab 4f 03 00       	call   0x43fa13
40aa68:	c2 1c 00             	ret    $0x1c
40aa6b:	6a 04                	push   $0x4
40aa6d:	b8 c6 b2 48 00       	mov    $0x48b2c6,%eax
40aa72:	e8 d3 4f 03 00       	call   0x43fa4a
40aa77:	8b f1                	mov    %ecx,%esi
40aa79:	89 75 f0             	mov    %esi,-0x10(%ebp)
40aa7c:	e8 dc 04 00 00       	call   0x40af5d
40aa81:	33 db                	xor    %ebx,%ebx
40aa83:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40aa86:	8d 4e 20             	lea    0x20(%esi),%ecx
40aa89:	e8 cf 04 00 00       	call   0x40af5d
40aa8e:	33 d2                	xor    %edx,%edx
40aa90:	42                   	inc    %edx
40aa91:	88 55 fc             	mov    %dl,-0x4(%ebp)
40aa94:	8d 4e 40             	lea    0x40(%esi),%ecx
40aa97:	89 19                	mov    %ebx,(%ecx)
40aa99:	89 59 04             	mov    %ebx,0x4(%ecx)
40aa9c:	89 59 08             	mov    %ebx,0x8(%ecx)
40aa9f:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40aaa3:	8b 45 0c             	mov    0xc(%ebp),%eax
40aaa6:	8b 7d 14             	mov    0x14(%ebp),%edi
40aaa9:	89 5e 4c             	mov    %ebx,0x4c(%esi)
40aaac:	8b 5d 20             	mov    0x20(%ebp),%ebx
40aaaf:	89 46 50             	mov    %eax,0x50(%esi)
40aab2:	8b 45 08             	mov    0x8(%ebp),%eax
40aab5:	89 46 54             	mov    %eax,0x54(%esi)
40aab8:	8b 45 1c             	mov    0x1c(%ebp),%eax
40aabb:	89 46 5c             	mov    %eax,0x5c(%esi)
40aabe:	8b 45 18             	mov    0x18(%ebp),%eax
40aac1:	89 7e 58             	mov    %edi,0x58(%esi)
40aac4:	89 5e 60             	mov    %ebx,0x60(%esi)
40aac7:	c6 46 64 00          	movb   $0x0,0x64(%esi)
40aacb:	89 46 68             	mov    %eax,0x68(%esi)
40aace:	f6 47 08 08          	testb  $0x8,0x8(%edi)
40aad2:	74 05                	je     0x40aad9
40aad4:	f6 c3 10             	test   $0x10,%bl
40aad7:	74 02                	je     0x40aadb
40aad9:	32 d2                	xor    %dl,%dl
40aadb:	8b 45 10             	mov    0x10(%ebp),%eax
40aade:	51                   	push   %ecx
40aadf:	88 56 6c             	mov    %dl,0x6c(%esi)
40aae2:	89 46 70             	mov    %eax,0x70(%esi)
40aae5:	ff 77 18             	push   0x18(%edi)
40aae8:	e8 24 b2 ff ff       	call   0x405d11
40aaed:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40aaf1:	8b c6                	mov    %esi,%eax
40aaf3:	e8 1b 4f 03 00       	call   0x43fa13
40aaf8:	c2 1c 00             	ret    $0x1c
40aafb:	6a 04                	push   $0x4
40aafd:	b8 e9 b2 48 00       	mov    $0x48b2e9,%eax
40ab02:	e8 43 4f 03 00       	call   0x43fa4a
40ab07:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40ab0a:	8b 45 08             	mov    0x8(%ebp),%eax
40ab0d:	33 d2                	xor    %edx,%edx
40ab0f:	89 41 04             	mov    %eax,0x4(%ecx)
40ab12:	8b 45 0c             	mov    0xc(%ebp),%eax
40ab15:	c7 01 7c 4b 49 00    	movl   $0x494b7c,(%ecx)
40ab1b:	89 41 08             	mov    %eax,0x8(%ecx)
40ab1e:	89 51 0c             	mov    %edx,0xc(%ecx)
40ab21:	89 51 10             	mov    %edx,0x10(%ecx)
40ab24:	89 55 fc             	mov    %edx,-0x4(%ebp)
40ab27:	33 c0                	xor    %eax,%eax
40ab29:	c7 01 10 64 49 00    	movl   $0x496410,(%ecx)
40ab2f:	89 51 14             	mov    %edx,0x14(%ecx)
40ab32:	89 51 18             	mov    %edx,0x18(%ecx)
40ab35:	89 51 1c             	mov    %edx,0x1c(%ecx)
40ab38:	89 51 20             	mov    %edx,0x20(%ecx)
40ab3b:	66 89 41 24          	mov    %ax,0x24(%ecx)
40ab3f:	89 51 28             	mov    %edx,0x28(%ecx)
40ab42:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40ab46:	8b c1                	mov    %ecx,%eax
40ab48:	e8 c6 4e 03 00       	call   0x43fa13
40ab4d:	c2 08 00             	ret    $0x8
40ab50:	6a 04                	push   $0x4
40ab52:	b8 0c b3 48 00       	mov    $0x48b30c,%eax
40ab57:	e8 ee 4e 03 00       	call   0x43fa4a
40ab5c:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40ab5f:	8b 45 08             	mov    0x8(%ebp),%eax
40ab62:	33 d2                	xor    %edx,%edx
40ab64:	89 41 04             	mov    %eax,0x4(%ecx)
40ab67:	8b 45 0c             	mov    0xc(%ebp),%eax
40ab6a:	c7 01 7c 4b 49 00    	movl   $0x494b7c,(%ecx)
40ab70:	89 41 08             	mov    %eax,0x8(%ecx)
40ab73:	89 51 0c             	mov    %edx,0xc(%ecx)
40ab76:	89 51 10             	mov    %edx,0x10(%ecx)
40ab79:	89 55 fc             	mov    %edx,-0x4(%ebp)
40ab7c:	33 c0                	xor    %eax,%eax
40ab7e:	c7 01 cc 65 49 00    	movl   $0x4965cc,(%ecx)
40ab84:	89 51 14             	mov    %edx,0x14(%ecx)
40ab87:	89 51 18             	mov    %edx,0x18(%ecx)
40ab8a:	89 51 1c             	mov    %edx,0x1c(%ecx)
40ab8d:	89 51 20             	mov    %edx,0x20(%ecx)
40ab90:	66 89 41 24          	mov    %ax,0x24(%ecx)
40ab94:	89 51 28             	mov    %edx,0x28(%ecx)
40ab97:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40ab9b:	8b c1                	mov    %ecx,%eax
40ab9d:	e8 71 4e 03 00       	call   0x43fa13
40aba2:	c2 08 00             	ret    $0x8
40aba5:	6a 04                	push   $0x4
40aba7:	b8 3a b3 48 00       	mov    $0x48b33a,%eax
40abac:	e8 99 4e 03 00       	call   0x43fa4a
40abb1:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40abb4:	8b 45 08             	mov    0x8(%ebp),%eax
40abb7:	89 41 08             	mov    %eax,0x8(%ecx)
40abba:	33 c0                	xor    %eax,%eax
40abbc:	c7 01 7c 4b 49 00    	movl   $0x494b7c,(%ecx)
40abc2:	c7 41 04 06 00 00 00 	movl   $0x6,0x4(%ecx)
40abc9:	89 41 0c             	mov    %eax,0xc(%ecx)