41fd63:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
41fd68:	74 07                	je     0x41fd71
41fd6a:	56                   	push   %esi
41fd6b:	e8 cd cf ff ff       	call   0x41cd3d
41fd70:	59                   	pop    %ecx
41fd71:	8b c6                	mov    %esi,%eax
41fd73:	5e                   	pop    %esi
41fd74:	c2 04 00             	ret    $0x4
41fd77:	b8 9c 7b 42 00       	mov    $0x427b9c,%eax
41fd7c:	e8 af be fe ff       	call   0x40bc30
41fd81:	51                   	push   %ecx
41fd82:	56                   	push   %esi
41fd83:	8b f1                	mov    %ecx,%esi
41fd85:	89 75 f0             	mov    %esi,-0x10(%ebp)
41fd88:	c7 06 7c b0 42 00    	movl   $0x42b07c,(%esi)
41fd8e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41fd92:	8d 46 14             	lea    0x14(%esi),%eax
41fd95:	50                   	push   %eax
41fd96:	ff 76 10             	push   0x10(%esi)
41fd99:	ff 15 c8 97 43 00    	call   *0x4397c8
41fd9f:	8b ce                	mov    %esi,%ecx
41fda1:	e8 f7 f9 ff ff       	call   0x41f79d
41fda6:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41fdaa:	8b ce                	mov    %esi,%ecx
41fdac:	e8 33 fa ff ff       	call   0x41f7e4
41fdb1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41fdb4:	5e                   	pop    %esi
41fdb5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41fdbc:	c9                   	leave
41fdbd:	c3                   	ret
41fdbe:	6a 00                	push   $0x0
41fdc0:	e8 0d 00 00 00       	call   0x41fdd2
41fdc5:	85 c0                	test   %eax,%eax
41fdc7:	59                   	pop    %ecx
41fdc8:	74 07                	je     0x41fdd1
41fdca:	8b c8                	mov    %eax,%ecx
41fdcc:	e9 03 f2 ff ff       	jmp    0x41efd4
41fdd1:	c3                   	ret
41fdd2:	b8 b2 7b 42 00       	mov    $0x427bb2,%eax
41fdd7:	e8 54 be fe ff       	call   0x40bc30
41fddc:	56                   	push   %esi
41fddd:	e8 8b 49 00 00       	call   0x42476d
41fde2:	8b f0                	mov    %eax,%esi
41fde4:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
41fde8:	75 48                	jne    0x41fe32
41fdea:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41fdee:	74 42                	je     0x41fe32
41fdf0:	53                   	push   %ebx
41fdf1:	68 92 01 42 00       	push   $0x420192
41fdf6:	e8 f2 ce ff ff       	call   0x41cced
41fdfb:	6a 44                	push   $0x44
41fdfd:	8b d8                	mov    %eax,%ebx
41fdff:	e8 fd ce ff ff       	call   0x41cd01
41fe04:	59                   	pop    %ecx
41fe05:	8b c8                	mov    %eax,%ecx
41fe07:	89 4d 08             	mov    %ecx,0x8(%ebp)
41fe0a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41fe0e:	85 c9                	test   %ecx,%ecx
41fe10:	74 10                	je     0x41fe22
41fe12:	6a 01                	push   $0x1
41fe14:	6a 04                	push   $0x4
41fe16:	68 40 ae 42 00       	push   $0x42ae40
41fe1b:	e8 7d f0 ff ff       	call   0x41ee9d
41fe20:	eb 02                	jmp    0x41fe24
41fe22:	33 c0                	xor    %eax,%eax
41fe24:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41fe28:	53                   	push   %ebx
41fe29:	89 46 20             	mov    %eax,0x20(%esi)
41fe2c:	e8 bc ce ff ff       	call   0x41cced
41fe31:	5b                   	pop    %ebx
41fe32:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41fe35:	8b 46 20             	mov    0x20(%esi),%eax
41fe38:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41fe3f:	5e                   	pop    %esi
41fe40:	c9                   	leave
41fe41:	c3                   	ret
41fe42:	6a 01                	push   $0x1
41fe44:	e8 89 ff ff ff       	call   0x41fdd2
41fe49:	59                   	pop    %ecx
41fe4a:	ff 74 24 04          	push   0x4(%esp)
41fe4e:	8b c8                	mov    %eax,%ecx
41fe50:	e8 a4 f0 ff ff       	call   0x41eef9
41fe55:	c2 04 00             	ret    $0x4
41fe58:	56                   	push   %esi
41fe59:	57                   	push   %edi
41fe5a:	8b 7c 24 0c          	mov    0xc(%esp),%edi
41fe5e:	8b f1                	mov    %ecx,%esi
41fe60:	85 ff                	test   %edi,%edi
41fe62:	75 04                	jne    0x41fe68
41fe64:	33 c0                	xor    %eax,%eax
41fe66:	eb 18                	jmp    0x41fe80
41fe68:	6a 01                	push   $0x1
41fe6a:	e8 63 ff ff ff       	call   0x41fdd2
41fe6f:	59                   	pop    %ecx
41fe70:	89 7e 04             	mov    %edi,0x4(%esi)
41fe73:	57                   	push   %edi
41fe74:	8b c8                	mov    %eax,%ecx
41fe76:	e8 24 9d ff ff       	call   0x419b9f
41fe7b:	6a 01                	push   $0x1
41fe7d:	89 30                	mov    %esi,(%eax)
41fe7f:	58                   	pop    %eax
41fe80:	5f                   	pop    %edi
41fe81:	5e                   	pop    %esi
41fe82:	c2 04 00             	ret    $0x4
41fe85:	56                   	push   %esi
41fe86:	8b f1                	mov    %ecx,%esi
41fe88:	57                   	push   %edi
41fe89:	8b 7e 04             	mov    0x4(%esi),%edi
41fe8c:	85 ff                	test   %edi,%edi
41fe8e:	74 16                	je     0x41fea6
41fe90:	6a 00                	push   $0x0
41fe92:	e8 3b ff ff ff       	call   0x41fdd2
41fe97:	85 c0                	test   %eax,%eax
41fe99:	59                   	pop    %ecx
41fe9a:	74 0a                	je     0x41fea6
41fe9c:	ff 76 04             	push   0x4(%esi)
41fe9f:	8b c8                	mov    %eax,%ecx
41fea1:	e8 49 9d ff ff       	call   0x419bef
41fea6:	83 66 04 00          	andl   $0x0,0x4(%esi)
41feaa:	8b c7                	mov    %edi,%eax
41feac:	5f                   	pop    %edi
41fead:	5e                   	pop    %esi
41feae:	c3                   	ret
41feaf:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
41feb3:	75 03                	jne    0x41feb8
41feb5:	33 c0                	xor    %eax,%eax
41feb7:	c3                   	ret
41feb8:	e8 c8 ff ff ff       	call   0x41fe85
41febd:	50                   	push   %eax
41febe:	ff 15 74 95 43 00    	call   *0x439574
41fec4:	c3                   	ret
41fec5:	b8 c4 7b 42 00       	mov    $0x427bc4,%eax
41feca:	e8 61 bd fe ff       	call   0x40bc30
41fecf:	51                   	push   %ecx
41fed0:	56                   	push   %esi
41fed1:	8b f1                	mov    %ecx,%esi
41fed3:	89 75 f0             	mov    %esi,-0x10(%ebp)
41fed6:	83 66 04 00          	andl   $0x0,0x4(%esi)
41feda:	ff 75 08             	push   0x8(%ebp)
41fedd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41fee1:	c7 06 fc b0 42 00    	movl   $0x42b0fc,(%esi)
41fee7:	ff 15 7c 95 43 00    	call   *0x43957c
41feed:	50                   	push   %eax
41feee:	8b ce                	mov    %esi,%ecx
41fef0:	e8 63 ff ff ff       	call   0x41fe58
41fef5:	85 c0                	test   %eax,%eax
41fef7:	75 05                	jne    0x41fefe
41fef9:	e8 5e 00 00 00       	call   0x41ff5c
41fefe:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41ff01:	8b c6                	mov    %esi,%eax
41ff03:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41ff0a:	5e                   	pop    %esi
41ff0b:	c9                   	leave
41ff0c:	c2 04 00             	ret    $0x4
41ff0f:	b8 d8 7b 42 00       	mov    $0x427bd8,%eax
41ff14:	e8 17 bd fe ff       	call   0x40bc30
41ff19:	51                   	push   %ecx
41ff1a:	56                   	push   %esi
41ff1b:	8b f1                	mov    %ecx,%esi
41ff1d:	89 75 f0             	mov    %esi,-0x10(%ebp)
41ff20:	83 66 04 00          	andl   $0x0,0x4(%esi)
41ff24:	ff 75 0c             	push   0xc(%ebp)
41ff27:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41ff2b:	c7 06 fc b0 42 00    	movl   $0x42b0fc,(%esi)
41ff31:	ff 75 08             	push   0x8(%ebp)
41ff34:	ff 15 80 95 43 00    	call   *0x439580
41ff3a:	50                   	push   %eax
41ff3b:	8b ce                	mov    %esi,%ecx
41ff3d:	e8 16 ff ff ff       	call   0x41fe58
41ff42:	85 c0                	test   %eax,%eax
41ff44:	75 05                	jne    0x41ff4b
41ff46:	e8 11 00 00 00       	call   0x41ff5c
41ff4b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41ff4e:	8b c6                	mov    %esi,%eax
41ff50:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41ff57:	5e                   	pop    %esi
41ff58:	c9                   	leave
41ff59:	c2 08 00             	ret    $0x8
41ff5c:	55                   	push   %ebp
41ff5d:	8b ec                	mov    %esp,%ebp
41ff5f:	51                   	push   %ecx
41ff60:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ff63:	68 48 03 43 00       	push   $0x430348
41ff68:	50                   	push   %eax
41ff69:	c7 45 fc 58 6b 43 00 	movl   $0x436b58,-0x4(%ebp)
41ff70:	e8 fb c4 fe ff       	call   0x40c470
41ff75:	c9                   	leave
41ff76:	c3                   	ret
41ff77:	8b 41 1c             	mov    0x1c(%ecx),%eax
41ff7a:	6a 00                	push   $0x0
41ff7c:	6a 00                	push   $0x0
41ff7e:	6a 10                	push   $0x10
41ff80:	ff 70 1c             	push   0x1c(%eax)
41ff83:	ff 15 88 99 43 00    	call   *0x439988
41ff89:	c3                   	ret
41ff8a:	55                   	push   %ebp
41ff8b:	8b ec                	mov    %esp,%ebp
41ff8d:	83 ec 0c             	sub    $0xc,%esp
41ff90:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41ff94:	74 13                	je     0x41ffa9
41ff96:	6a f0                	push   $0xfffffff0
41ff98:	ff 75 08             	push   0x8(%ebp)
41ff9b:	ff 15 20 99 43 00    	call   *0x439920
41ffa1:	83 e0 0f             	and    $0xf,%eax
41ffa4:	3b 45 0c             	cmp    0xc(%ebp),%eax
41ffa7:	74 04                	je     0x41ffad
41ffa9:	33 c0                	xor    %eax,%eax
41ffab:	eb 23                	jmp    0x41ffd0
41ffad:	8d 45 f4             	lea    -0xc(%ebp),%eax
41ffb0:	6a 0a                	push   $0xa
41ffb2:	50                   	push   %eax
41ffb3:	ff 75 08             	push   0x8(%ebp)
41ffb6:	ff 15 e4 97 43 00    	call   *0x4397e4
41ffbc:	8d 45 f4             	lea    -0xc(%ebp),%eax
41ffbf:	68 10 b5 42 00       	push   $0x42b510
41ffc4:	50                   	push   %eax
41ffc5:	ff 15 0c 97 43 00    	call   *0x43970c
41ffcb:	f7 d8                	neg    %eax
41ffcd:	1b c0                	sbb    %eax,%eax
41ffcf:	40                   	inc    %eax
41ffd0:	c9                   	leave
41ffd1:	c2 08 00             	ret    $0x8
41ffd4:	55                   	push   %ebp
41ffd5:	8b ec                	mov    %esp,%ebp
41ffd7:	83 ec 20             	sub    $0x20,%esp
41ffda:	8d 45 e0             	lea    -0x20(%ebp),%eax
41ffdd:	6a 20                	push   $0x20
41ffdf:	50                   	push   %eax
41ffe0:	ff 75 08             	push   0x8(%ebp)
41ffe3:	ff 15 e4 97 43 00    	call   *0x4397e4
41ffe9:	ff 75 0c             	push   0xc(%ebp)
41ffec:	8d 45 e0             	lea    -0x20(%ebp),%eax
41ffef:	50                   	push   %eax
41fff0:	ff 15 0c 97 43 00    	call   *0x43970c
41fff6:	f7 d8                	neg    %eax
41fff8:	1b c0                	sbb    %eax,%eax
41fffa:	40                   	inc    %eax
41fffb:	c9                   	leave
41fffc:	c2 08 00             	ret    $0x8
41ffff:	55                   	push   %ebp
420000:	8b ec                	mov    %esp,%ebp
420002:	83 ec 10             	sub    $0x10,%esp
420005:	56                   	push   %esi
420006:	8d 45 0c             	lea    0xc(%ebp),%eax
420009:	57                   	push   %edi
42000a:	50                   	push   %eax
42000b:	ff 75 08             	push   0x8(%ebp)
42000e:	ff 15 ec 97 43 00    	call   *0x4397ec
420014:	8b 3d 34 99 43 00    	mov    0x439934,%edi
42001a:	6a 05                	push   $0x5
42001c:	ff 75 08             	push   0x8(%ebp)
42001f:	ff d7                	call   *%edi
420021:	8b f0                	mov    %eax,%esi
420023:	85 f6                	test   %esi,%esi
420025:	74 45                	je     0x42006c
420027:	56                   	push   %esi
420028:	ff 15 d8 98 43 00    	call   *0x4398d8
42002e:	66 3d ff ff          	cmp    $0xffff,%ax
420032:	74 2f                	je     0x420063
420034:	6a f0                	push   $0xfffffff0
420036:	56                   	push   %esi
420037:	ff 15 20 99 43 00    	call   *0x439920
42003d:	a9 00 00 00 10       	test   $0x10000000,%eax
420042:	74 1f                	je     0x420063
420044:	8d 45 f0             	lea    -0x10(%ebp),%eax
420047:	50                   	push   %eax
420048:	56                   	push   %esi
420049:	ff 15 1c 99 43 00    	call   *0x43991c
42004f:	ff 75 10             	push   0x10(%ebp)
420052:	8d 45 f0             	lea    -0x10(%ebp),%eax
420055:	ff 75 0c             	push   0xc(%ebp)
420058:	50                   	push   %eax
420059:	ff 15 e8 97 43 00    	call   *0x4397e8
42005f:	85 c0                	test   %eax,%eax
420061:	75 05                	jne    0x420068
420063:	6a 02                	push   $0x2
420065:	56                   	push   %esi
420066:	eb b7                	jmp    0x42001f
420068:	8b c6                	mov    %esi,%eax
42006a:	eb 02                	jmp    0x42006e
42006c:	33 c0                	xor    %eax,%eax
42006e:	5f                   	pop    %edi
42006f:	5e                   	pop    %esi
420070:	c9                   	leave
420071:	c2 0c 00             	ret    $0xc
420074:	55                   	push   %ebp
420075:	8b ec                	mov    %esp,%ebp
420077:	81 ec 00 01 00 00    	sub    $0x100,%esp
42007d:	56                   	push   %esi
42007e:	ff 75 0c             	push   0xc(%ebp)
420081:	ff 15 40 97 43 00    	call   *0x439740
420087:	8b f0                	mov    %eax,%esi
420089:	b8 00 01 00 00       	mov    $0x100,%eax
42008e:	3b f0                	cmp    %eax,%esi
420090:	77 29                	ja     0x4200bb
420092:	50                   	push   %eax
420093:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
420099:	50                   	push   %eax
42009a:	ff 75 08             	push   0x8(%ebp)
42009d:	ff 15 d4 98 43 00    	call   *0x4398d4
4200a3:	3b c6                	cmp    %esi,%eax
4200a5:	75 14                	jne    0x4200bb
4200a7:	ff 75 0c             	push   0xc(%ebp)
4200aa:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
4200b0:	50                   	push   %eax
4200b1:	ff 15 08 97 43 00    	call   *0x439708
4200b7:	85 c0                	test   %eax,%eax
4200b9:	74 0c                	je     0x4200c7
4200bb:	ff 75 0c             	push   0xc(%ebp)
4200be:	ff 75 08             	push   0x8(%ebp)
4200c1:	ff 15 94 97 43 00    	call   *0x439794
4200c7:	5e                   	pop    %esi
4200c8:	c9                   	leave
4200c9:	c2 08 00             	ret    $0x8
4200cc:	56                   	push   %esi
4200cd:	8b 74 24 08          	mov    0x8(%esp),%esi
4200d1:	8b 06                	mov    (%esi),%eax
4200d3:	85 c0                	test   %eax,%eax
4200d5:	74 0a                	je     0x4200e1
4200d7:	50                   	push   %eax
4200d8:	ff 15 74 95 43 00    	call   *0x439574
4200de:	83 26 00             	andl   $0x0,(%esi)
4200e1:	5e                   	pop    %esi
4200e2:	c2 04 00             	ret    $0x4
4200e5:	53                   	push   %ebx
4200e6:	56                   	push   %esi
4200e7:	57                   	push   %edi
4200e8:	ff 15 58 98 43 00    	call   *0x439858
4200ee:	8b f0                	mov    %eax,%esi
4200f0:	85 f6                	test   %esi,%esi
4200f2:	74 62                	je     0x420156
4200f4:	8b 7c 24 10          	mov    0x10(%esp),%edi
4200f8:	3b f7                	cmp    %edi,%esi
4200fa:	74 5a                	je     0x420156
4200fc:	6a 03                	push   $0x3
4200fe:	56                   	push   %esi
4200ff:	e8 86 fe ff ff       	call   0x41ff8a
420104:	8b 1d a8 98 43 00    	mov    0x4398a8,%ebx
42010a:	85 c0                	test   %eax,%eax
42010c:	75 15                	jne    0x420123
42010e:	56                   	push   %esi
42010f:	ff d3                	call   *%ebx
420111:	8b f0                	mov    %eax,%esi
420113:	3b f7                	cmp    %edi,%esi
420115:	74 3f                	je     0x420156
420117:	6a 02                	push   $0x2
420119:	56                   	push   %esi
42011a:	e8 6b fe ff ff       	call   0x41ff8a
42011f:	85 c0                	test   %eax,%eax
420121:	74 33                	je     0x420156