40fd6c:	85 db                	test   %ebx,%ebx
40fd6e:	74 09                	je     0x40fd79
40fd70:	53                   	push   %ebx
40fd71:	e8 2e 08 09 00       	call   0x4a05a4
40fd76:	83 c4 04             	add    $0x4,%esp
40fd79:	58                   	pop    %eax
40fd7a:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40fd7d:	c7 45 8c 00 00 00 00 	movl   $0x0,-0x74(%ebp)
40fd84:	6a 00                	push   $0x0
40fd86:	ff 75 8c             	push   -0x74(%ebp)
40fd89:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40fd8c:	50                   	push   %eax
40fd8d:	e8 06 18 00 00       	call   0x411598
40fd92:	89 45 88             	mov    %eax,-0x78(%ebp)
40fd95:	8b 45 88             	mov    -0x78(%ebp),%eax
40fd98:	50                   	push   %eax
40fd99:	8b 5d c0             	mov    -0x40(%ebp),%ebx
40fd9c:	85 db                	test   %ebx,%ebx
40fd9e:	74 09                	je     0x40fda9
40fda0:	53                   	push   %ebx
40fda1:	e8 fe 07 09 00       	call   0x4a05a4
40fda6:	83 c4 04             	add    $0x4,%esp
40fda9:	58                   	pop    %eax
40fdaa:	89 45 c0             	mov    %eax,-0x40(%ebp)
40fdad:	68 05 00 00 80       	push   $0x80000005
40fdb2:	6a 00                	push   $0x0
40fdb4:	8b 45 c0             	mov    -0x40(%ebp),%eax
40fdb7:	85 c0                	test   %eax,%eax
40fdb9:	75 05                	jne    0x40fdc0
40fdbb:	b8 51 34 4c 00       	mov    $0x4c3451,%eax
40fdc0:	50                   	push   %eax
40fdc1:	68 01 00 00 00       	push   $0x1
40fdc6:	bb 94 01 00 00       	mov    $0x194,%ebx
40fdcb:	e8 b0 16 09 00       	call   0x4a1480
40fdd0:	83 c4 10             	add    $0x10,%esp
40fdd3:	89 85 84 ff ff ff    	mov    %eax,-0x7c(%ebp)
40fdd9:	db 85 84 ff ff ff    	fildl  -0x7c(%ebp)
40fddf:	dd 9d 84 ff ff ff    	fstpl  -0x7c(%ebp)
40fde5:	dd 85 84 ff ff ff    	fldl   -0x7c(%ebp)
40fdeb:	dc 35 fa bb 4c 00    	fdivl  0x4cbbfa
40fdf1:	dd 9d 7c ff ff ff    	fstpl  -0x84(%ebp)
40fdf7:	dd 85 7c ff ff ff    	fldl   -0x84(%ebp)
40fdfd:	dc 25 9a bb 4c 00    	fsubl  0x4cbb9a
40fe03:	dd 9d 74 ff ff ff    	fstpl  -0x8c(%ebp)
40fe09:	dd 85 74 ff ff ff    	fldl   -0x8c(%ebp)
40fe0f:	e8 db 13 ff ff       	call   0x4011ef
40fe14:	89 45 bc             	mov    %eax,-0x44(%ebp)
40fe17:	89 65 8c             	mov    %esp,-0x74(%ebp)
40fe1a:	68 00 00 00 20       	push   $0x20000000
40fe1f:	ff 75 bc             	push   -0x44(%ebp)
40fe22:	8b 45 c0             	mov    -0x40(%ebp),%eax
40fe25:	85 c0                	test   %eax,%eax
40fe27:	74 03                	je     0x40fe2c
40fe29:	83 c0 08             	add    $0x8,%eax
40fe2c:	50                   	push   %eax
40fe2d:	ff 75 cc             	push   -0x34(%ebp)
40fe30:	33 c0                	xor    %eax,%eax
40fe32:	ff 15 44 33 4b 00    	call   *0x4b3344
40fe38:	90                   	nop
40fe39:	90                   	nop
40fe3a:	39 65 8c             	cmp    %esp,-0x74(%ebp)
40fe3d:	74 17                	je     0x40fe56
40fe3f:	68 1c 1c 00 00       	push   $0x1c1c
40fe44:	68 58 01 04 04       	push   $0x4040158
40fe49:	68 06 00 00 00       	push   $0x6
40fe4e:	e8 57 07 09 00       	call   0x4a05aa
40fe53:	83 c4 0c             	add    $0xc,%esp
40fe56:	85 c0                	test   %eax,%eax
40fe58:	0f 84 ca 13 00 00    	je     0x411228
40fe5e:	b8 51 34 4c 00       	mov    $0x4c3451,%eax
40fe63:	33 c9                	xor    %ecx,%ecx
40fe65:	85 c0                	test   %eax,%eax
40fe67:	74 03                	je     0x40fe6c
40fe69:	8b 48 04             	mov    0x4(%eax),%ecx
40fe6c:	51                   	push   %ecx
40fe6d:	83 c0 08             	add    $0x8,%eax
40fe70:	50                   	push   %eax
40fe71:	8b 9d 9c 00 00 00    	mov    0x9c(%ebp),%ebx
40fe77:	8b 03                	mov    (%ebx),%eax
40fe79:	33 db                	xor    %ebx,%ebx
40fe7b:	85 c0                	test   %eax,%eax
40fe7d:	74 03                	je     0x40fe82
40fe7f:	8b 58 04             	mov    0x4(%eax),%ebx
40fe82:	83 c0 08             	add    $0x8,%eax
40fe85:	50                   	push   %eax
40fe86:	3b d9                	cmp    %ecx,%ebx
40fe88:	b8 01 00 00 00       	mov    $0x1,%eax
40fe8d:	75 0a                	jne    0x40fe99
40fe8f:	48                   	dec    %eax
40fe90:	85 c9                	test   %ecx,%ecx
40fe92:	74 05                	je     0x40fe99
40fe94:	e8 05 e5 ff ff       	call   0x40e39e
40fe99:	83 c4 0c             	add    $0xc,%esp
40fe9c:	85 c0                	test   %eax,%eax
40fe9e:	0f 85 48 00 00 00    	jne    0x40feec
40fea4:	68 04 00 00 80       	push   $0x80000004
40fea9:	6a 00                	push   $0x0
40feab:	8b 5d 14             	mov    0x14(%ebp),%ebx
40feae:	8b 03                	mov    (%ebx),%eax
40feb0:	85 c0                	test   %eax,%eax
40feb2:	75 05                	jne    0x40feb9
40feb4:	b8 34 ea 4d 00       	mov    $0x4dea34,%eax
40feb9:	50                   	push   %eax
40feba:	68 01 00 00 00       	push   $0x1
40febf:	bb 98 01 00 00       	mov    $0x198,%ebx
40fec4:	e8 07 1a 09 00       	call   0x4a18d0
40fec9:	83 c4 10             	add    $0x10,%esp
40fecc:	89 45 8c             	mov    %eax,-0x74(%ebp)
40fecf:	8b 45 8c             	mov    -0x74(%ebp),%eax
40fed2:	50                   	push   %eax
40fed3:	8b 5d b8             	mov    -0x48(%ebp),%ebx
40fed6:	85 db                	test   %ebx,%ebx
40fed8:	74 09                	je     0x40fee3
40feda:	53                   	push   %ebx
40fedb:	e8 c4 06 09 00       	call   0x4a05a4
40fee0:	83 c4 04             	add    $0x4,%esp
40fee3:	58                   	pop    %eax
40fee4:	89 45 b8             	mov    %eax,-0x48(%ebp)
40fee7:	e9 34 00 00 00       	jmp    0x40ff20
40feec:	8b 9d 9c 00 00 00    	mov    0x9c(%ebp),%ebx
40fef2:	8b 03                	mov    (%ebx),%eax
40fef4:	85 c0                	test   %eax,%eax
40fef6:	74 13                	je     0x40ff0b
40fef8:	50                   	push   %eax
40fef9:	8b 40 04             	mov    0x4(%eax),%eax
40fefc:	83 c0 08             	add    $0x8,%eax
40feff:	50                   	push   %eax
40ff00:	e8 99 06 09 00       	call   0x4a059e
40ff05:	59                   	pop    %ecx
40ff06:	5e                   	pop    %esi
40ff07:	8b f8                	mov    %eax,%edi
40ff09:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40ff0b:	50                   	push   %eax
40ff0c:	8b 5d b8             	mov    -0x48(%ebp),%ebx
40ff0f:	85 db                	test   %ebx,%ebx
40ff11:	74 09                	je     0x40ff1c
40ff13:	53                   	push   %ebx
40ff14:	e8 8b 06 09 00       	call   0x4a05a4
40ff19:	83 c4 04             	add    $0x4,%esp
40ff1c:	58                   	pop    %eax
40ff1d:	89 45 b8             	mov    %eax,-0x48(%ebp)
40ff20:	68 05 00 00 80       	push   $0x80000005
40ff25:	6a 00                	push   $0x0
40ff27:	8b 45 b8             	mov    -0x48(%ebp),%eax
40ff2a:	85 c0                	test   %eax,%eax
40ff2c:	75 05                	jne    0x40ff33
40ff2e:	b8 51 34 4c 00       	mov    $0x4c3451,%eax
40ff33:	50                   	push   %eax
40ff34:	68 01 00 00 00       	push   $0x1
40ff39:	bb 94 01 00 00       	mov    $0x194,%ebx
40ff3e:	e8 3d 15 09 00       	call   0x4a1480
40ff43:	83 c4 10             	add    $0x10,%esp
40ff46:	89 45 bc             	mov    %eax,-0x44(%ebp)
40ff49:	89 65 8c             	mov    %esp,-0x74(%ebp)
40ff4c:	68 00 00 00 00       	push   $0x0
40ff51:	ff 75 bc             	push   -0x44(%ebp)
40ff54:	ff 75 bc             	push   -0x44(%ebp)
40ff57:	8b 45 b8             	mov    -0x48(%ebp),%eax
40ff5a:	85 c0                	test   %eax,%eax
40ff5c:	74 03                	je     0x40ff61
40ff5e:	83 c0 08             	add    $0x8,%eax
40ff61:	50                   	push   %eax
40ff62:	68 00 00 00 00       	push   $0x0
40ff67:	68 00 00 00 00       	push   $0x0
40ff6c:	ff 75 cc             	push   -0x34(%ebp)
40ff6f:	33 c0                	xor    %eax,%eax
40ff71:	ff 15 48 33 4b 00    	call   *0x4b3348
40ff77:	90                   	nop
40ff78:	90                   	nop
40ff79:	39 65 8c             	cmp    %esp,-0x74(%ebp)
40ff7c:	74 17                	je     0x40ff95
40ff7e:	68 2a 1d 00 00       	push   $0x1d2a
40ff83:	68 58 01 04 04       	push   $0x4040158
40ff88:	68 06 00 00 00       	push   $0x6
40ff8d:	e8 18 06 09 00       	call   0x4a05aa
40ff92:	83 c4 0c             	add    $0xc,%esp
40ff95:	85 c0                	test   %eax,%eax
40ff97:	0f 84 56 12 00 00    	je     0x4111f3
40ff9d:	89 65 8c             	mov    %esp,-0x74(%ebp)
40ffa0:	68 00 00 00 00       	push   $0x0
40ffa5:	ff 75 cc             	push   -0x34(%ebp)
40ffa8:	33 c0                	xor    %eax,%eax
40ffaa:	ff 15 4c 33 4b 00    	call   *0x4b334c
40ffb0:	90                   	nop
40ffb1:	90                   	nop
40ffb2:	39 65 8c             	cmp    %esp,-0x74(%ebp)
40ffb5:	74 17                	je     0x40ffce
40ffb7:	68 87 1d 00 00       	push   $0x1d87
40ffbc:	68 58 01 04 04       	push   $0x4040158
40ffc1:	68 06 00 00 00       	push   $0x6
40ffc6:	e8 df 05 09 00       	call   0x4a05aa
40ffcb:	83 c4 0c             	add    $0xc,%esp
40ffce:	85 c0                	test   %eax,%eax
40ffd0:	0f 84 e8 11 00 00    	je     0x4111be
40ffd6:	b8 51 34 4c 00       	mov    $0x4c3451,%eax
40ffdb:	85 c0                	test   %eax,%eax
40ffdd:	74 13                	je     0x40fff2
40ffdf:	50                   	push   %eax
40ffe0:	8b 40 04             	mov    0x4(%eax),%eax
40ffe3:	83 c0 08             	add    $0x8,%eax
40ffe6:	50                   	push   %eax
40ffe7:	e8 b2 05 09 00       	call   0x4a059e
40ffec:	59                   	pop    %ecx
40ffed:	5e                   	pop    %esi
40ffee:	8b f8                	mov    %eax,%edi
40fff0:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40fff2:	50                   	push   %eax
40fff3:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
40fff6:	85 db                	test   %ebx,%ebx
40fff8:	74 09                	je     0x410003
40fffa:	53                   	push   %ebx
40fffb:	e8 a4 05 09 00       	call   0x4a05a4
410000:	83 c4 04             	add    $0x4,%esp
410003:	58                   	pop    %eax
410004:	89 45 b4             	mov    %eax,-0x4c(%ebp)
410007:	b8 51 34 4c 00       	mov    $0x4c3451,%eax
41000c:	85 c0                	test   %eax,%eax
41000e:	74 13                	je     0x410023
410010:	50                   	push   %eax
410011:	8b 40 04             	mov    0x4(%eax),%eax
410014:	83 c0 08             	add    $0x8,%eax
410017:	50                   	push   %eax
410018:	e8 81 05 09 00       	call   0x4a059e
41001d:	59                   	pop    %ecx
41001e:	5e                   	pop    %esi
41001f:	8b f8                	mov    %eax,%edi
410021:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
410023:	50                   	push   %eax
410024:	8b 5d b0             	mov    -0x50(%ebp),%ebx
410027:	85 db                	test   %ebx,%ebx
410029:	74 09                	je     0x410034
41002b:	53                   	push   %ebx
41002c:	e8 73 05 09 00       	call   0x4a05a4
410031:	83 c4 04             	add    $0x4,%esp
410034:	58                   	pop    %eax
410035:	89 45 b0             	mov    %eax,-0x50(%ebp)
410038:	89 65 8c             	mov    %esp,-0x74(%ebp)
41003b:	8d 45 ac             	lea    -0x54(%ebp),%eax
41003e:	50                   	push   %eax
41003f:	ff 75 cc             	push   -0x34(%ebp)
410042:	33 c0                	xor    %eax,%eax
410044:	ff 15 50 33 4b 00    	call   *0x4b3350
41004a:	90                   	nop
41004b:	90                   	nop
41004c:	39 65 8c             	cmp    %esp,-0x74(%ebp)
41004f:	74 17                	je     0x410068
410051:	68 f5 1d 00 00       	push   $0x1df5
410056:	68 58 01 04 04       	push   $0x4040158
41005b:	68 06 00 00 00       	push   $0x6
410060:	e8 45 05 09 00       	call   0x4a05aa
410065:	83 c4 0c             	add    $0xc,%esp
410068:	85 c0                	test   %eax,%eax
41006a:	0f 84 30 01 00 00    	je     0x4101a0
410070:	83 7d ac 01          	cmpl   $0x1,-0x54(%ebp)
410074:	0f 8d 05 00 00 00    	jge    0x41007f
41007a:	e9 21 01 00 00       	jmp    0x4101a0
41007f:	68 01 03 00 80       	push   $0x80000301
410084:	6a 00                	push   $0x0
410086:	ff 75 ac             	push   -0x54(%ebp)
410089:	68 01 00 00 00       	push   $0x1
41008e:	bb bc 01 00 00       	mov    $0x1bc,%ebx
410093:	e8 58 14 09 00       	call   0x4a14f0
410098:	83 c4 10             	add    $0x10,%esp
41009b:	89 45 8c             	mov    %eax,-0x74(%ebp)
41009e:	8b 45 8c             	mov    -0x74(%ebp),%eax
4100a1:	50                   	push   %eax
4100a2:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
4100a5:	85 db                	test   %ebx,%ebx
4100a7:	74 09                	je     0x4100b2
4100a9:	53                   	push   %ebx
4100aa:	e8 f5 04 09 00       	call   0x4a05a4
4100af:	83 c4 04             	add    $0x4,%esp
4100b2:	58                   	pop    %eax
4100b3:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4100b6:	89 65 8c             	mov    %esp,-0x74(%ebp)
4100b9:	8d 45 bc             	lea    -0x44(%ebp),%eax
4100bc:	50                   	push   %eax
4100bd:	ff 75 ac             	push   -0x54(%ebp)
4100c0:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4100c3:	85 c0                	test   %eax,%eax
4100c5:	74 03                	je     0x4100ca
4100c7:	83 c0 08             	add    $0x8,%eax
4100ca:	50                   	push   %eax
4100cb:	ff 75 cc             	push   -0x34(%ebp)
4100ce:	33 c0                	xor    %eax,%eax
4100d0:	ff 15 58 33 4b 00    	call   *0x4b3358
4100d6:	90                   	nop
4100d7:	90                   	nop
4100d8:	39 65 8c             	cmp    %esp,-0x74(%ebp)
4100db:	74 17                	je     0x4100f4
4100dd:	68 ba 1e 00 00       	push   $0x1eba
4100e2:	68 58 01 04 04       	push   $0x4040158
4100e7:	68 06 00 00 00       	push   $0x6
4100ec:	e8 b9 04 09 00       	call   0x4a05aa
4100f1:	83 c4 0c             	add    $0xc,%esp
4100f4:	89 85 84 ff ff ff    	mov    %eax,-0x7c(%ebp)
4100fa:	83 bd 84 ff ff ff 00 	cmpl   $0x0,-0x7c(%ebp)
410101:	0f 85 23 00 00 00    	jne    0x41012a
410107:	b8 79 42 4e 00       	mov    $0x4e4279,%eax
41010c:	50                   	push   %eax
41010d:	8b 5d 7c             	mov    0x7c(%ebp),%ebx
410110:	8b 1b                	mov    (%ebx),%ebx
410112:	85 db                	test   %ebx,%ebx
410114:	74 09                	je     0x41011f
410116:	53                   	push   %ebx
410117:	e8 88 04 09 00       	call   0x4a05a4
41011c:	83 c4 04             	add    $0x4,%esp
41011f:	58                   	pop    %eax
410120:	8b 5d 7c             	mov    0x7c(%ebp),%ebx
410123:	89 03                	mov    %eax,(%ebx)
410125:	e9 76 00 00 00       	jmp    0x4101a0
41012a:	68 01 03 00 80       	push   $0x80000301
41012f:	6a 00                	push   $0x0
410131:	ff 75 bc             	push   -0x44(%ebp)
410134:	68 05 00 00 80       	push   $0x80000005
410139:	6a 00                	push   $0x0
41013b:	8b 45 b4             	mov    -0x4c(%ebp),%eax
41013e:	85 c0                	test   %eax,%eax
410140:	75 05                	jne    0x410147
410142:	b8 51 34 4c 00       	mov    $0x4c3451,%eax
410147:	50                   	push   %eax
410148:	68 02 00 00 00       	push   $0x2
41014d:	bb a0 01 00 00       	mov    $0x1a0,%ebx
410152:	e8 79 1e 09 00       	call   0x4a1fd0
410157:	83 c4 1c             	add    $0x1c,%esp
41015a:	89 45 8c             	mov    %eax,-0x74(%ebp)
41015d:	ff 75 8c             	push   -0x74(%ebp)
410160:	ff 75 b0             	push   -0x50(%ebp)
410163:	b9 02 00 00 00       	mov    $0x2,%ecx
410168:	e8 cc d6 ff ff       	call   0x40d839
41016d:	83 c4 08             	add    $0x8,%esp
410170:	89 45 88             	mov    %eax,-0x78(%ebp)
410173:	8b 5d 8c             	mov    -0x74(%ebp),%ebx
410176:	85 db                	test   %ebx,%ebx
410178:	74 09                	je     0x410183
41017a:	53                   	push   %ebx
41017b:	e8 24 04 09 00       	call   0x4a05a4
410180:	83 c4 04             	add    $0x4,%esp
410183:	8b 45 88             	mov    -0x78(%ebp),%eax
410186:	50                   	push   %eax
410187:	8b 5d b0             	mov    -0x50(%ebp),%ebx
41018a:	85 db                	test   %ebx,%ebx
41018c:	74 09                	je     0x410197
41018e:	53                   	push   %ebx
41018f:	e8 10 04 09 00       	call   0x4a05a4
410194:	83 c4 04             	add    $0x4,%esp
410197:	58                   	pop    %eax
410198:	89 45 b0             	mov    %eax,-0x50(%ebp)
41019b:	e9 98 fe ff ff       	jmp    0x410038
4101a0:	b8 51 34 4c 00       	mov    $0x4c3451,%eax