40b8a2:	89 75 f0             	mov    %esi,-0x10(%ebp)
40b8a5:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b8a8:	53                   	push   %ebx
40b8a9:	e8 11 ff ff ff       	call   0x40b7bf
40b8ae:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40b8b2:	8d 7e 4c             	lea    0x4c(%esi),%edi
40b8b5:	8d 73 4c             	lea    0x4c(%ebx),%esi
40b8b8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b8b9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b8ba:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b8bb:	8b 75 f0             	mov    -0x10(%ebp),%esi
40b8be:	8b 43 58             	mov    0x58(%ebx),%eax
40b8c1:	89 46 58             	mov    %eax,0x58(%esi)
40b8c4:	8d 4e 5c             	lea    0x5c(%esi),%ecx
40b8c7:	8d 43 5c             	lea    0x5c(%ebx),%eax
40b8ca:	50                   	push   %eax
40b8cb:	e8 de 00 00 00       	call   0x40b9ae
40b8d0:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40b8d4:	83 7b 48 00          	cmpl   $0x0,0x48(%ebx)
40b8d8:	75 06                	jne    0x40b8e0
40b8da:	83 66 48 00          	andl   $0x0,0x48(%esi)
40b8de:	eb 17                	jmp    0x40b8f7
40b8e0:	8d 43 4c             	lea    0x4c(%ebx),%eax
40b8e3:	39 43 48             	cmp    %eax,0x48(%ebx)
40b8e6:	75 05                	jne    0x40b8ed
40b8e8:	8d 46 4c             	lea    0x4c(%esi),%eax
40b8eb:	eb 07                	jmp    0x40b8f4
40b8ed:	8b ce                	mov    %esi,%ecx
40b8ef:	e8 e8 c3 00 00       	call   0x417cdc
40b8f4:	89 46 48             	mov    %eax,0x48(%esi)
40b8f7:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40b8fb:	8b c6                	mov    %esi,%eax
40b8fd:	e8 11 41 03 00       	call   0x43fa13
40b902:	c2 04 00             	ret    $0x4
40b905:	6a 04                	push   $0x4
40b907:	b8 ad b9 48 00       	mov    $0x48b9ad,%eax
40b90c:	e8 39 41 03 00       	call   0x43fa4a
40b911:	8b f1                	mov    %ecx,%esi
40b913:	89 75 f0             	mov    %esi,-0x10(%ebp)
40b916:	ff 75 18             	push   0x18(%ebp)
40b919:	ff 75 10             	push   0x10(%ebp)
40b91c:	ff 75 0c             	push   0xc(%ebp)
40b91f:	ff 75 08             	push   0x8(%ebp)
40b922:	e8 dc fe ff ff       	call   0x40b803
40b927:	33 c0                	xor    %eax,%eax
40b929:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b92c:	8d 4e 5c             	lea    0x5c(%esi),%ecx
40b92f:	ff 75 14             	push   0x14(%ebp)
40b932:	89 46 4c             	mov    %eax,0x4c(%esi)
40b935:	89 46 50             	mov    %eax,0x50(%esi)
40b938:	88 46 54             	mov    %al,0x54(%esi)
40b93b:	89 46 58             	mov    %eax,0x58(%esi)
40b93e:	89 01                	mov    %eax,(%ecx)
40b940:	89 41 04             	mov    %eax,0x4(%ecx)
40b943:	89 41 08             	mov    %eax,0x8(%ecx)
40b946:	8d 45 18             	lea    0x18(%ebp),%eax
40b949:	50                   	push   %eax
40b94a:	8d 45 14             	lea    0x14(%ebp),%eax
40b94d:	50                   	push   %eax
40b94e:	e8 e7 91 ff ff       	call   0x404b3a
40b953:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40b957:	8b ce                	mov    %esi,%ecx
40b959:	ff 75 0c             	push   0xc(%ebp)
40b95c:	ff 75 08             	push   0x8(%ebp)
40b95f:	e8 dc f6 00 00       	call   0x41b040
40b964:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40b968:	8b c6                	mov    %esi,%eax
40b96a:	e8 a4 40 03 00       	call   0x43fa13
40b96f:	c2 14 00             	ret    $0x14
40b972:	6a 04                	push   $0x4
40b974:	b8 db b9 48 00       	mov    $0x48b9db,%eax
40b979:	e8 cc 40 03 00       	call   0x43fa4a
40b97e:	8b f1                	mov    %ecx,%esi
40b980:	89 75 f0             	mov    %esi,-0x10(%ebp)
40b983:	e8 dd fe ff ff       	call   0x40b865
40b988:	33 c0                	xor    %eax,%eax
40b98a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b98d:	89 46 48             	mov    %eax,0x48(%esi)
40b990:	89 46 4c             	mov    %eax,0x4c(%esi)
40b993:	89 46 50             	mov    %eax,0x50(%esi)
40b996:	88 46 54             	mov    %al,0x54(%esi)
40b999:	89 46 5c             	mov    %eax,0x5c(%esi)
40b99c:	89 46 60             	mov    %eax,0x60(%esi)
40b99f:	89 46 64             	mov    %eax,0x64(%esi)
40b9a2:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40b9a6:	8b c6                	mov    %esi,%eax
40b9a8:	e8 66 40 03 00       	call   0x43fa13
40b9ad:	c3                   	ret
40b9ae:	6a 08                	push   $0x8
40b9b0:	b8 f6 b9 48 00       	mov    $0x48b9f6,%eax
40b9b5:	e8 fb 40 03 00       	call   0x43fab5
40b9ba:	8b f9                	mov    %ecx,%edi
40b9bc:	89 7d ec             	mov    %edi,-0x14(%ebp)
40b9bf:	33 f6                	xor    %esi,%esi
40b9c1:	89 37                	mov    %esi,(%edi)
40b9c3:	89 77 04             	mov    %esi,0x4(%edi)
40b9c6:	89 77 08             	mov    %esi,0x8(%edi)
40b9c9:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b9cc:	8b 43 04             	mov    0x4(%ebx),%eax
40b9cf:	2b 03                	sub    (%ebx),%eax
40b9d1:	c1 f8 02             	sar    $0x2,%eax
40b9d4:	50                   	push   %eax
40b9d5:	e8 45 b0 00 00       	call   0x416a1f
40b9da:	84 c0                	test   %al,%al
40b9dc:	74 1a                	je     0x40b9f8
40b9de:	89 75 fc             	mov    %esi,-0x4(%ebp)
40b9e1:	57                   	push   %edi
40b9e2:	ff 37                	push   (%edi)
40b9e4:	ff 73 04             	push   0x4(%ebx)
40b9e7:	ff 33                	push   (%ebx)
40b9e9:	e8 ac a9 ff ff       	call   0x40639a
40b9ee:	83 c4 10             	add    $0x10,%esp
40b9f1:	89 47 04             	mov    %eax,0x4(%edi)
40b9f4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40b9f8:	8b c7                	mov    %edi,%eax
40b9fa:	e8 14 40 03 00       	call   0x43fa13
40b9ff:	c2 04 00             	ret    $0x4
40ba02:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40ba05:	e8 68 16 01 00       	call   0x41d072
40ba0a:	33 f6                	xor    %esi,%esi
40ba0c:	56                   	push   %esi
40ba0d:	56                   	push   %esi
40ba0e:	e8 af 87 03 00       	call   0x4441c2
40ba13:	cc                   	int3
40ba14:	6a 08                	push   $0x8
40ba16:	b8 11 ba 48 00       	mov    $0x48ba11,%eax
40ba1b:	e8 95 40 03 00       	call   0x43fab5
40ba20:	8b f9                	mov    %ecx,%edi
40ba22:	89 7d ec             	mov    %edi,-0x14(%ebp)
40ba25:	33 f6                	xor    %esi,%esi
40ba27:	89 37                	mov    %esi,(%edi)
40ba29:	89 77 04             	mov    %esi,0x4(%edi)
40ba2c:	89 77 08             	mov    %esi,0x8(%edi)
40ba2f:	8b 5d 08             	mov    0x8(%ebp),%ebx
40ba32:	8b 43 04             	mov    0x4(%ebx),%eax
40ba35:	2b 03                	sub    (%ebx),%eax
40ba37:	c1 f8 02             	sar    $0x2,%eax
40ba3a:	50                   	push   %eax
40ba3b:	e8 22 b0 00 00       	call   0x416a62
40ba40:	84 c0                	test   %al,%al
40ba42:	74 1a                	je     0x40ba5e
40ba44:	89 75 fc             	mov    %esi,-0x4(%ebp)
40ba47:	57                   	push   %edi
40ba48:	ff 37                	push   (%edi)
40ba4a:	ff 73 04             	push   0x4(%ebx)
40ba4d:	ff 33                	push   (%ebx)
40ba4f:	e8 6f a9 ff ff       	call   0x4063c3
40ba54:	83 c4 10             	add    $0x10,%esp
40ba57:	89 47 04             	mov    %eax,0x4(%edi)
40ba5a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40ba5e:	8b c7                	mov    %edi,%eax
40ba60:	e8 ae 3f 03 00       	call   0x43fa13
40ba65:	c2 04 00             	ret    $0x4
40ba68:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40ba6b:	e8 28 16 01 00       	call   0x41d098
40ba70:	33 f6                	xor    %esi,%esi
40ba72:	56                   	push   %esi
40ba73:	56                   	push   %esi
40ba74:	e8 49 87 03 00       	call   0x4441c2
40ba79:	cc                   	int3
40ba7a:	6a 08                	push   $0x8
40ba7c:	b8 2c ba 48 00       	mov    $0x48ba2c,%eax
40ba81:	e8 2f 40 03 00       	call   0x43fab5
40ba86:	8b f9                	mov    %ecx,%edi
40ba88:	89 7d ec             	mov    %edi,-0x14(%ebp)
40ba8b:	33 f6                	xor    %esi,%esi
40ba8d:	89 37                	mov    %esi,(%edi)
40ba8f:	89 77 04             	mov    %esi,0x4(%edi)
40ba92:	89 77 08             	mov    %esi,0x8(%edi)
40ba95:	ff 75 08             	push   0x8(%ebp)
40ba98:	e8 c5 af 00 00       	call   0x416a62
40ba9d:	84 c0                	test   %al,%al
40ba9f:	74 1b                	je     0x40babc
40baa1:	89 75 fc             	mov    %esi,-0x4(%ebp)
40baa4:	57                   	push   %edi
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)