40baa5:	ff 75 0c             	push   0xc(%ebp)
40baa8:	ff 75 08             	push   0x8(%ebp)
40baab:	ff 37                	push   (%edi)
40baad:	e8 d3 ab ff ff       	call   0x406685
40bab2:	83 c4 10             	add    $0x10,%esp
40bab5:	89 47 04             	mov    %eax,0x4(%edi)
40bab8:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40babc:	8b c7                	mov    %edi,%eax
40babe:	e8 50 3f 03 00       	call   0x43fa13
40bac3:	c2 0c 00             	ret    $0xc
40bac6:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bac9:	e8 ca 15 01 00       	call   0x41d098
40bace:	33 f6                	xor    %esi,%esi
40bad0:	56                   	push   %esi
40bad1:	56                   	push   %esi
40bad2:	e8 eb 86 03 00       	call   0x4441c2
40bad7:	cc                   	int3
40bad8:	6a 08                	push   $0x8
40bada:	b8 47 ba 48 00       	mov    $0x48ba47,%eax
40badf:	e8 d1 3f 03 00       	call   0x43fab5
40bae4:	8b f9                	mov    %ecx,%edi
40bae6:	89 7d ec             	mov    %edi,-0x14(%ebp)
40bae9:	33 f6                	xor    %esi,%esi
40baeb:	89 37                	mov    %esi,(%edi)
40baed:	89 77 04             	mov    %esi,0x4(%edi)
40baf0:	89 77 08             	mov    %esi,0x8(%edi)
40baf3:	8b 5d 08             	mov    0x8(%ebp),%ebx
40baf6:	8b 43 04             	mov    0x4(%ebx),%eax
40baf9:	2b 03                	sub    (%ebx),%eax
40bafb:	c1 f8 03             	sar    $0x3,%eax
40bafe:	50                   	push   %eax
40baff:	e8 a1 af 00 00       	call   0x416aa5
40bb04:	84 c0                	test   %al,%al
40bb06:	74 1a                	je     0x40bb22
40bb08:	89 75 fc             	mov    %esi,-0x4(%ebp)
40bb0b:	57                   	push   %edi
40bb0c:	ff 37                	push   (%edi)
40bb0e:	ff 73 04             	push   0x4(%ebx)
40bb11:	ff 33                	push   (%ebx)
40bb13:	e8 d4 a8 ff ff       	call   0x4063ec
40bb18:	83 c4 10             	add    $0x10,%esp
40bb1b:	89 47 04             	mov    %eax,0x4(%edi)
40bb1e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40bb22:	8b c7                	mov    %edi,%eax
40bb24:	e8 ea 3e 03 00       	call   0x43fa13
40bb29:	c2 04 00             	ret    $0x4
40bb2c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bb2f:	e8 b6 15 01 00       	call   0x41d0ea
40bb34:	33 f6                	xor    %esi,%esi
40bb36:	56                   	push   %esi
40bb37:	56                   	push   %esi
40bb38:	e8 85 86 03 00       	call   0x4441c2
40bb3d:	cc                   	int3
40bb3e:	6a 08                	push   $0x8
40bb40:	b8 62 ba 48 00       	mov    $0x48ba62,%eax
40bb45:	e8 6b 3f 03 00       	call   0x43fab5
40bb4a:	8b f9                	mov    %ecx,%edi
40bb4c:	89 7d ec             	mov    %edi,-0x14(%ebp)
40bb4f:	33 f6                	xor    %esi,%esi
40bb51:	89 37                	mov    %esi,(%edi)
40bb53:	89 77 04             	mov    %esi,0x4(%edi)
40bb56:	89 77 08             	mov    %esi,0x8(%edi)
40bb59:	8b 5d 08             	mov    0x8(%ebp),%ebx
40bb5c:	8b 43 04             	mov    0x4(%ebx),%eax
40bb5f:	2b 03                	sub    (%ebx),%eax
40bb61:	c1 f8 03             	sar    $0x3,%eax
40bb64:	50                   	push   %eax
40bb65:	e8 7e af 00 00       	call   0x416ae8
40bb6a:	84 c0                	test   %al,%al
40bb6c:	74 18                	je     0x40bb86
40bb6e:	89 75 fc             	mov    %esi,-0x4(%ebp)
40bb71:	ff 37                	push   (%edi)
40bb73:	ff 73 04             	push   0x4(%ebx)
40bb76:	ff 33                	push   (%ebx)
40bb78:	8b cf                	mov    %edi,%ecx
40bb7a:	e8 1c a7 ff ff       	call   0x40629b
40bb7f:	89 47 04             	mov    %eax,0x4(%edi)
40bb82:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40bb86:	8b c7                	mov    %edi,%eax
40bb88:	e8 86 3e 03 00       	call   0x43fa13
40bb8d:	c2 04 00             	ret    $0x4
40bb90:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bb93:	e8 78 15 01 00       	call   0x41d110
40bb98:	33 f6                	xor    %esi,%esi
40bb9a:	56                   	push   %esi
40bb9b:	56                   	push   %esi
40bb9c:	e8 21 86 03 00       	call   0x4441c2
40bba1:	cc                   	int3
40bba2:	6a 08                	push   $0x8
40bba4:	b8 7d ba 48 00       	mov    $0x48ba7d,%eax
40bba9:	e8 07 3f 03 00       	call   0x43fab5
40bbae:	8b f9                	mov    %ecx,%edi
40bbb0:	89 7d ec             	mov    %edi,-0x14(%ebp)
40bbb3:	33 f6                	xor    %esi,%esi
40bbb5:	89 37                	mov    %esi,(%edi)
40bbb7:	89 77 04             	mov    %esi,0x4(%edi)
40bbba:	89 77 08             	mov    %esi,0x8(%edi)
40bbbd:	8b 5d 08             	mov    0x8(%ebp),%ebx
40bbc0:	8b 43 04             	mov    0x4(%ebx),%eax
40bbc3:	2b 03                	sub    (%ebx),%eax
40bbc5:	c1 f8 03             	sar    $0x3,%eax
40bbc8:	50                   	push   %eax
40bbc9:	e8 5d af 00 00       	call   0x416b2b
40bbce:	84 c0                	test   %al,%al
40bbd0:	74 18                	je     0x40bbea
40bbd2:	89 75 fc             	mov    %esi,-0x4(%ebp)
40bbd5:	ff 37                	push   (%edi)
40bbd7:	ff 73 04             	push   0x4(%ebx)
40bbda:	ff 33                	push   (%ebx)
40bbdc:	8b cf                	mov    %edi,%ecx
40bbde:	e8 d6 a6 ff ff       	call   0x4062b9
40bbe3:	89 47 04             	mov    %eax,0x4(%edi)
40bbe6:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40bbea:	8b c7                	mov    %edi,%eax
40bbec:	e8 22 3e 03 00       	call   0x43fa13
40bbf1:	c2 04 00             	ret    $0x4
40bbf4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bbf7:	e8 3a 15 01 00       	call   0x41d136
40bbfc:	33 f6                	xor    %esi,%esi
40bbfe:	56                   	push   %esi
40bbff:	56                   	push   %esi
40bc00:	e8 bd 85 03 00       	call   0x4441c2
40bc05:	cc                   	int3
40bc06:	6a 08                	push   $0x8
40bc08:	b8 98 ba 48 00       	mov    $0x48ba98,%eax
40bc0d:	e8 a3 3e 03 00       	call   0x43fab5
40bc12:	8b f9                	mov    %ecx,%edi
40bc14:	89 7d ec             	mov    %edi,-0x14(%ebp)
40bc17:	33 f6                	xor    %esi,%esi
40bc19:	89 37                	mov    %esi,(%edi)
40bc1b:	89 77 04             	mov    %esi,0x4(%edi)
40bc1e:	89 77 08             	mov    %esi,0x8(%edi)
40bc21:	8b 5d 08             	mov    0x8(%ebp),%ebx
40bc24:	8b 43 04             	mov    0x4(%ebx),%eax
40bc27:	2b 03                	sub    (%ebx),%eax
40bc29:	99                   	cltd
40bc2a:	6a 0c                	push   $0xc
40bc2c:	59                   	pop    %ecx
40bc2d:	f7 f9                	idiv   %ecx
40bc2f:	50                   	push   %eax
40bc30:	8b cf                	mov    %edi,%ecx
40bc32:	e8 7c af 00 00       	call   0x416bb3
40bc37:	84 c0                	test   %al,%al
40bc39:	74 1a                	je     0x40bc55
40bc3b:	89 75 fc             	mov    %esi,-0x4(%ebp)
40bc3e:	57                   	push   %edi
40bc3f:	ff 37                	push   (%edi)
40bc41:	ff 73 04             	push   0x4(%ebx)
40bc44:	ff 33                	push   (%ebx)
40bc46:	e8 ca a7 ff ff       	call   0x406415
40bc4b:	83 c4 10             	add    $0x10,%esp
40bc4e:	89 47 04             	mov    %eax,0x4(%edi)
40bc51:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40bc55:	8b c7                	mov    %edi,%eax
40bc57:	e8 b7 3d 03 00       	call   0x43fa13
40bc5c:	c2 04 00             	ret    $0x4
40bc5f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bc62:	e8 ef 15 01 00       	call   0x41d256
40bc67:	33 f6                	xor    %esi,%esi
40bc69:	56                   	push   %esi
40bc6a:	56                   	push   %esi
40bc6b:	e8 52 85 03 00       	call   0x4441c2
40bc70:	cc                   	int3
40bc71:	6a 08                	push   $0x8
40bc73:	b8 bb ba 48 00       	mov    $0x48babb,%eax
40bc78:	e8 cd 3d 03 00       	call   0x43fa4a
40bc7d:	8b f1                	mov    %ecx,%esi
40bc7f:	89 75 ec             	mov    %esi,-0x14(%ebp)
40bc82:	ff 75 0c             	push   0xc(%ebp)
40bc85:	8d 45 f3             	lea    -0xd(%ebp),%eax
40bc88:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
40bc8c:	50                   	push   %eax
40bc8d:	ff 75 08             	push   0x8(%ebp)
40bc90:	e8 2a f3 ff ff       	call   0x40afbf
40bc95:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bc99:	8b ce                	mov    %esi,%ecx
40bc9b:	ff 75 08             	push   0x8(%ebp)
40bc9e:	e8 c7 18 01 00       	call   0x41d56a
40bca3:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40bca7:	8b c6                	mov    %esi,%eax
40bca9:	e8 65 3d 03 00       	call   0x43fa13
40bcae:	c2 08 00             	ret    $0x8
40bcb1:	6a 04                	push   $0x4
40bcb3:	b8 de ba 48 00       	mov    $0x48bade,%eax
40bcb8:	e8 8d 3d 03 00       	call   0x43fa4a
40bcbd:	8b f1                	mov    %ecx,%esi
40bcbf:	89 75 f0             	mov    %esi,-0x10(%ebp)
40bcc2:	ff 75 08             	push   0x8(%ebp)
40bcc5:	e8 2b 13 00 00       	call   0x40cff5
40bcca:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bcce:	c7 06 38 47 49 00    	movl   $0x494738,(%esi)
40bcd4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40bcd8:	8b c6                	mov    %esi,%eax
40bcda:	e8 34 3d 03 00       	call   0x43fa13
40bcdf:	c2 04 00             	ret    $0x4
40bce2:	6a 04                	push   $0x4
40bce4:	b8 01 bb 48 00       	mov    $0x48bb01,%eax
40bce9:	e8 5c 3d 03 00       	call   0x43fa4a
40bcee:	8b f1                	mov    %ecx,%esi
40bcf0:	89 75 f0             	mov    %esi,-0x10(%ebp)
40bcf3:	ff 75 08             	push   0x8(%ebp)
40bcf6:	e8 85 13 00 00       	call   0x40d080
40bcfb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bcff:	c7 06 38 47 49 00    	movl   $0x494738,(%esi)
40bd05:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40bd09:	8b c6                	mov    %esi,%eax
40bd0b:	e8 03 3d 03 00       	call   0x43fa13
40bd10:	c2 04 00             	ret    $0x4
40bd13:	6a 04                	push   $0x4
40bd15:	b8 41 bc 48 00       	mov    $0x48bc41,%eax
40bd1a:	e8 2b 3d 03 00       	call   0x43fa4a
40bd1f:	8b f9                	mov    %ecx,%edi
40bd21:	89 7d f0             	mov    %edi,-0x10(%ebp)
40bd24:	8b 75 08             	mov    0x8(%ebp),%esi
40bd27:	8d 4f 18             	lea    0x18(%edi),%ecx
40bd2a:	33 db                	xor    %ebx,%ebx
40bd2c:	8b 06                	mov    (%esi),%eax
40bd2e:	89 07                	mov    %eax,(%edi)
40bd30:	8b 46 04             	mov    0x4(%esi),%eax
40bd33:	89 47 04             	mov    %eax,0x4(%edi)
40bd36:	8b 46 08             	mov    0x8(%esi),%eax
40bd39:	89 47 08             	mov    %eax,0x8(%edi)
40bd3c:	8b 46 0c             	mov    0xc(%esi),%eax
40bd3f:	89 47 0c             	mov    %eax,0xc(%edi)
40bd42:	8b 46 10             	mov    0x10(%esi),%eax
40bd45:	89 47 10             	mov    %eax,0x10(%edi)
40bd48:	8b 46 14             	mov    0x14(%esi),%eax
40bd4b:	89 47 14             	mov    %eax,0x14(%edi)
40bd4e:	8d 46 18             	lea    0x18(%esi),%eax
40bd51:	50                   	push   %eax
40bd52:	89 59 10             	mov    %ebx,0x10(%ecx)
40bd55:	89 59 14             	mov    %ebx,0x14(%ecx)
40bd58:	e8 f4 be 00 00       	call   0x417c51
40bd5d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40bd60:	8d 4f 30             	lea    0x30(%edi),%ecx
40bd63:	8d 46 30             	lea    0x30(%esi),%eax
40bd66:	89 59 10             	mov    %ebx,0x10(%ecx)
40bd69:	50                   	push   %eax
40bd6a:	89 59 14             	mov    %ebx,0x14(%ecx)
40bd6d:	e8 df be 00 00       	call   0x417c51
40bd72:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40bd76:	8d 4f 48             	lea    0x48(%edi),%ecx
40bd79:	8d 46 48             	lea    0x48(%esi),%eax
40bd7c:	89 59 10             	mov    %ebx,0x10(%ecx)
40bd7f:	50                   	push   %eax
40bd80:	89 59 14             	mov    %ebx,0x14(%ecx)
40bd83:	e8 c9 be 00 00       	call   0x417c51
40bd88:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40bd8c:	8d 4f 60             	lea    0x60(%edi),%ecx
40bd8f:	8d 46 60             	lea    0x60(%esi),%eax
40bd92:	89 59 10             	mov    %ebx,0x10(%ecx)
40bd95:	50                   	push   %eax
40bd96:	89 59 14             	mov    %ebx,0x14(%ecx)
40bd99:	e8 b3 be 00 00       	call   0x417c51
40bd9e:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40bda2:	8d 4f 78             	lea    0x78(%edi),%ecx
40bda5:	8d 46 78             	lea    0x78(%esi),%eax
40bda8:	89 59 10             	mov    %ebx,0x10(%ecx)
40bdab:	50                   	push   %eax
40bdac:	89 59 14             	mov    %ebx,0x14(%ecx)
40bdaf:	e8 9d be 00 00       	call   0x417c51
40bdb4:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40bdb8:	8d 8f 90 00 00 00    	lea    0x90(%edi),%ecx
40bdbe:	8d 86 90 00 00 00    	lea    0x90(%esi),%eax
40bdc4:	89 59 10             	mov    %ebx,0x10(%ecx)
40bdc7:	50                   	push   %eax
40bdc8:	89 59 14             	mov    %ebx,0x14(%ecx)
40bdcb:	e8 81 be 00 00       	call   0x417c51
40bdd0:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
40bdd4:	8d 8f a8 00 00 00    	lea    0xa8(%edi),%ecx
40bdda:	8d 86 a8 00 00 00    	lea    0xa8(%esi),%eax
40bde0:	89 59 10             	mov    %ebx,0x10(%ecx)
40bde3:	50                   	push   %eax
40bde4:	89 59 14             	mov    %ebx,0x14(%ecx)
40bde7:	e8 65 be 00 00       	call   0x417c51
40bdec:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40bdf0:	8d 8f c0 00 00 00    	lea    0xc0(%edi),%ecx
40bdf6:	8d 86 c0 00 00 00    	lea    0xc0(%esi),%eax
40bdfc:	89 59 10             	mov    %ebx,0x10(%ecx)
40bdff:	50                   	push   %eax
40be00:	89 59 14             	mov    %ebx,0x14(%ecx)
40be03:	e8 49 be 00 00       	call   0x417c51
40be08:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
40be0c:	8d 8f d8 00 00 00    	lea    0xd8(%edi),%ecx
40be12:	89 59 10             	mov    %ebx,0x10(%ecx)
40be15:	89 59 14             	mov    %ebx,0x14(%ecx)
40be18:	8d 86 d8 00 00 00    	lea    0xd8(%esi),%eax
40be1e:	50                   	push   %eax
40be1f:	e8 2d be 00 00       	call   0x417c51
40be24:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
40be28:	8d 8f fc 00 00 00    	lea    0xfc(%edi),%ecx
40be2e:	8b 86 f0 00 00 00    	mov    0xf0(%esi),%eax
40be34:	89 87 f0 00 00 00    	mov    %eax,0xf0(%edi)
40be3a:	8b 86 f4 00 00 00    	mov    0xf4(%esi),%eax
40be40:	89 87 f4 00 00 00    	mov    %eax,0xf4(%edi)
40be46:	8b 86 f8 00 00 00    	mov    0xf8(%esi),%eax
40be4c:	89 87 f8 00 00 00    	mov    %eax,0xf8(%edi)
40be52:	8d 86 fc 00 00 00    	lea    0xfc(%esi),%eax
40be58:	50                   	push   %eax
40be59:	89 59 10             	mov    %ebx,0x10(%ecx)
40be5c:	89 59 14             	mov    %ebx,0x14(%ecx)
40be5f:	e8 ed bd 00 00       	call   0x417c51
40be64:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
40be68:	8d 8f 14 01 00 00    	lea    0x114(%edi),%ecx
40be6e:	8d 86 14 01 00 00    	lea    0x114(%esi),%eax
40be74:	89 59 10             	mov    %ebx,0x10(%ecx)
40be77:	50                   	push   %eax
40be78:	89 59 14             	mov    %ebx,0x14(%ecx)
40be7b:	e8 d1 bd 00 00       	call   0x417c51
40be80:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
40be84:	8d 8f 2c 01 00 00    	lea    0x12c(%edi),%ecx
40be8a:	8d 86 2c 01 00 00    	lea    0x12c(%esi),%eax
40be90:	89 59 10             	mov    %ebx,0x10(%ecx)
40be93:	50                   	push   %eax
40be94:	89 59 14             	mov    %ebx,0x14(%ecx)
40be97:	e8 b5 bd 00 00       	call   0x417c51
40be9c:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
40bea0:	8d 8f 48 01 00 00    	lea    0x148(%edi),%ecx
40bea6:	8b 86 44 01 00 00    	mov    0x144(%esi),%eax
40beac:	89 87 44 01 00 00    	mov    %eax,0x144(%edi)
40beb2:	8d 86 48 01 00 00    	lea    0x148(%esi),%eax
40beb8:	50                   	push   %eax
40beb9:	89 59 10             	mov    %ebx,0x10(%ecx)
40bebc:	89 59 14             	mov    %ebx,0x14(%ecx)
40bebf:	e8 8d bd 00 00       	call   0x417c51
40bec4:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
40bec8:	8d 8f 60 01 00 00    	lea    0x160(%edi),%ecx
40bece:	8d 86 60 01 00 00    	lea    0x160(%esi),%eax
40bed4:	89 59 10             	mov    %ebx,0x10(%ecx)
40bed7:	50                   	push   %eax
40bed8:	89 59 14             	mov    %ebx,0x14(%ecx)
40bedb:	e8 71 bd 00 00       	call   0x417c51
40bee0:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
40bee4:	8d 8f 78 01 00 00    	lea    0x178(%edi),%ecx
40beea:	8d 86 78 01 00 00    	lea    0x178(%esi),%eax
40bef0:	89 59 10             	mov    %ebx,0x10(%ecx)
40bef3:	50                   	push   %eax
40bef4:	89 59 14             	mov    %ebx,0x14(%ecx)
40bef7:	e8 e3 bc 00 00       	call   0x417bdf
40befc:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
40bf00:	8d 8f 90 01 00 00    	lea    0x190(%edi),%ecx
40bf06:	8d 86 90 01 00 00    	lea    0x190(%esi),%eax
40bf0c:	89 59 10             	mov    %ebx,0x10(%ecx)
40bf0f:	50                   	push   %eax
40bf10:	89 59 14             	mov    %ebx,0x14(%ecx)
40bf13:	e8 c7 bc 00 00       	call   0x417bdf
40bf18:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
40bf1c:	8d 8f a8 01 00 00    	lea    0x1a8(%edi),%ecx
40bf22:	8d 86 a8 01 00 00    	lea    0x1a8(%esi),%eax
40bf28:	89 59 10             	mov    %ebx,0x10(%ecx)