415cb6:	e8 4b 01 00 00       	call   0x415e06
415cbb:	8b f0                	mov    %eax,%esi
415cbd:	85 f6                	test   %esi,%esi
415cbf:	0f 88 5f cc 00 00    	js     0x422924
415cc5:	33 f6                	xor    %esi,%esi
415cc7:	8d 4d f0             	lea    -0x10(%ebp),%ecx
415cca:	e8 30 65 ff ff       	call   0x40c1ff
415ccf:	8b c6                	mov    %esi,%eax
415cd1:	e8 06 51 00 00       	call   0x41addc
415cd6:	c2 10 00             	ret    $0x10
415cd9:	6a 20                	push   $0x20
415cdb:	b8 df ea 41 00       	mov    $0x41eadf,%eax
415ce0:	e8 5c 51 00 00       	call   0x41ae41
415ce5:	89 55 d8             	mov    %edx,-0x28(%ebp)
415ce8:	8b d9                	mov    %ecx,%ebx
415cea:	8b 45 08             	mov    0x8(%ebp),%eax
415ced:	33 f6                	xor    %esi,%esi
415cef:	89 45 d4             	mov    %eax,-0x2c(%ebp)
415cf2:	89 75 dc             	mov    %esi,-0x24(%ebp)
415cf5:	89 30                	mov    %esi,(%eax)
415cf7:	8d 45 dc             	lea    -0x24(%ebp),%eax
415cfa:	89 75 fc             	mov    %esi,-0x4(%ebp)
415cfd:	50                   	push   %eax
415cfe:	56                   	push   %esi
415cff:	ff 15 44 d0 43 00    	call   *0x43d044
415d05:	8b f8                	mov    %eax,%edi
415d07:	85 ff                	test   %edi,%edi
415d09:	0f 88 e5 00 00 00    	js     0x415df4
415d0f:	8b 45 dc             	mov    -0x24(%ebp),%eax
415d12:	8d 55 e0             	lea    -0x20(%ebp),%edx
415d15:	89 75 ec             	mov    %esi,-0x14(%ebp)
415d18:	c7 45 e0 10 00 00 00 	movl   $0x10,-0x20(%ebp)
415d1f:	c7 45 e4 02 00 00 00 	movl   $0x2,-0x1c(%ebp)
415d26:	c7 45 e8 00 10 00 00 	movl   $0x1000,-0x18(%ebp)
415d2d:	8b 08                	mov    (%eax),%ecx
415d2f:	52                   	push   %edx
415d30:	50                   	push   %eax
415d31:	8b 71 18             	mov    0x18(%ecx),%esi
415d34:	8b ce                	mov    %esi,%ecx
415d36:	ff 15 20 a5 43 00    	call   *0x43a520
415d3c:	ff d6                	call   *%esi
415d3e:	8b f8                	mov    %eax,%edi
415d40:	85 ff                	test   %edi,%edi
415d42:	0f 88 ac 00 00 00    	js     0x415df4
415d48:	8b 45 dc             	mov    -0x24(%ebp),%eax
415d4b:	ff 75 d8             	push   -0x28(%ebp)
415d4e:	68 24 41 40 00       	push   $0x404124
415d53:	8b 08                	mov    (%eax),%ecx
415d55:	50                   	push   %eax
415d56:	8b 71 24             	mov    0x24(%ecx),%esi
415d59:	8b ce                	mov    %esi,%ecx
415d5b:	ff 15 20 a5 43 00    	call   *0x43a520
415d61:	ff d6                	call   *%esi
415d63:	8b f8                	mov    %eax,%edi
415d65:	85 ff                	test   %edi,%edi
415d67:	0f 88 87 00 00 00    	js     0x415df4
415d6d:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
415d71:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
415d75:	8d 45 d8             	lea    -0x28(%ebp),%eax
415d78:	8b 33                	mov    (%ebx),%esi
415d7a:	50                   	push   %eax
415d7b:	68 14 41 40 00       	push   $0x404114
415d80:	53                   	push   %ebx
415d81:	8b 0e                	mov    (%esi),%ecx
415d83:	ff 15 20 a5 43 00    	call   *0x43a520
415d89:	ff 16                	call   *(%esi)
415d8b:	85 c0                	test   %eax,%eax
415d8d:	78 3a                	js     0x415dc9
415d8f:	8b 45 dc             	mov    -0x24(%ebp),%eax
415d92:	53                   	push   %ebx
415d93:	68 e8 40 40 00       	push   $0x4040e8
415d98:	50                   	push   %eax
415d99:	8b 08                	mov    (%eax),%ecx
415d9b:	8b 71 24             	mov    0x24(%ecx),%esi
415d9e:	8b ce                	mov    %esi,%ecx
415da0:	ff 15 20 a5 43 00    	call   *0x43a520
415da6:	ff d6                	call   *%esi
415da8:	8b f8                	mov    %eax,%edi
415daa:	85 ff                	test   %edi,%edi
415dac:	78 1b                	js     0x415dc9
415dae:	8b 45 dc             	mov    -0x24(%ebp),%eax
415db1:	53                   	push   %ebx
415db2:	68 bc 40 40 00       	push   $0x4040bc
415db7:	50                   	push   %eax
415db8:	8b 08                	mov    (%eax),%ecx
415dba:	8b 71 24             	mov    0x24(%ecx),%esi
415dbd:	8b ce                	mov    %esi,%ecx
415dbf:	ff 15 20 a5 43 00    	call   *0x43a520
415dc5:	ff d6                	call   *%esi
415dc7:	8b f8                	mov    %eax,%edi
415dc9:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
415dcd:	8b 45 d8             	mov    -0x28(%ebp),%eax
415dd0:	85 c0                	test   %eax,%eax
415dd2:	74 10                	je     0x415de4
415dd4:	8b 08                	mov    (%eax),%ecx
415dd6:	50                   	push   %eax
415dd7:	8b 71 08             	mov    0x8(%ecx),%esi
415dda:	8b ce                	mov    %esi,%ecx
415ddc:	ff 15 20 a5 43 00    	call   *0x43a520
415de2:	ff d6                	call   *%esi
415de4:	85 ff                	test   %edi,%edi
415de6:	78 0c                	js     0x415df4
415de8:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
415deb:	8b 45 dc             	mov    -0x24(%ebp),%eax
415dee:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
415df2:	89 01                	mov    %eax,(%ecx)
415df4:	8d 4d dc             	lea    -0x24(%ebp),%ecx
415df7:	e8 03 64 ff ff       	call   0x40c1ff
415dfc:	8b c7                	mov    %edi,%eax
415dfe:	e8 ed 4f 00 00       	call   0x41adf0
415e03:	c2 04 00             	ret    $0x4
415e06:	6a 0c                	push   $0xc
415e08:	b8 14 eb 41 00       	mov    $0x41eb14,%eax
415e0d:	e8 fc 4f 00 00       	call   0x41ae0e
415e12:	8b fa                	mov    %edx,%edi
415e14:	8b f1                	mov    %ecx,%esi
415e16:	8b 5d 10             	mov    0x10(%ebp),%ebx
415e19:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
415e1d:	6a 04                	push   $0x4
415e1f:	68 78 41 40 00       	push   $0x404178
415e24:	83 23 00             	andl   $0x0,(%ebx)
415e27:	57                   	push   %edi
415e28:	ff 15 f4 a4 43 00    	call   *0x43a4f4
415e2e:	83 c4 0c             	add    $0xc,%esp
415e31:	8d 4d ec             	lea    -0x14(%ebp),%ecx
415e34:	f7 d8                	neg    %eax
415e36:	1b c0                	sbb    %eax,%eax
415e38:	83 c7 08             	add    $0x8,%edi
415e3b:	6a 00                	push   $0x0
415e3d:	6a 00                	push   $0x0
415e3f:	51                   	push   %ecx
415e40:	83 e0 f8             	and    $0xfffffff8,%eax
415e43:	56                   	push   %esi
415e44:	03 c7                	add    %edi,%eax
415e46:	50                   	push   %eax
415e47:	ff 15 0c a4 43 00    	call   *0x43a40c
415e4d:	8b f8                	mov    %eax,%edi
415e4f:	85 ff                	test   %edi,%edi
415e51:	0f 88 e5 ca 00 00    	js     0x42293c
415e57:	33 f6                	xor    %esi,%esi
415e59:	89 75 e8             	mov    %esi,-0x18(%ebp)
415e5c:	8d 45 e8             	lea    -0x18(%ebp),%eax
415e5f:	89 75 fc             	mov    %esi,-0x4(%ebp)
415e62:	50                   	push   %eax
415e63:	68 68 41 40 00       	push   $0x404168
415e68:	ff 75 ec             	push   -0x14(%ebp)
415e6b:	ff 15 08 a4 43 00    	call   *0x43a408
415e71:	8b f8                	mov    %eax,%edi
415e73:	85 ff                	test   %edi,%edi
415e75:	78 6d                	js     0x415ee4
415e77:	89 75 f0             	mov    %esi,-0x10(%ebp)
415e7a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
415e7e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
415e81:	8b 45 e8             	mov    -0x18(%ebp),%eax
415e84:	51                   	push   %ecx
415e85:	68 58 41 40 00       	push   $0x404158
415e8a:	50                   	push   %eax
415e8b:	8b 30                	mov    (%eax),%esi
415e8d:	8b 0e                	mov    (%esi),%ecx
415e8f:	ff 15 20 a5 43 00    	call   *0x43a520
415e95:	ff 16                	call   *(%esi)
415e97:	8b f8                	mov    %eax,%edi
415e99:	85 ff                	test   %edi,%edi
415e9b:	78 2c                	js     0x415ec9
415e9d:	8b 45 f0             	mov    -0x10(%ebp),%eax
415ea0:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
415ea4:	53                   	push   %ebx
415ea5:	68 48 41 40 00       	push   $0x404148
415eaa:	ff 35 1c 8a 43 00    	push   0x438a1c
415eb0:	8b 30                	mov    (%eax),%esi
415eb2:	8d 0c cd d0 02 00 00 	lea    0x2d0(,%ecx,8),%ecx
415eb9:	51                   	push   %ecx
415eba:	50                   	push   %eax
415ebb:	8b 4e 24             	mov    0x24(%esi),%ecx
415ebe:	ff 15 20 a5 43 00    	call   *0x43a520
415ec4:	ff 56 24             	call   *0x24(%esi)
415ec7:	8b f8                	mov    %eax,%edi
415ec9:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
415ecd:	8b 45 f0             	mov    -0x10(%ebp),%eax
415ed0:	85 c0                	test   %eax,%eax
415ed2:	74 10                	je     0x415ee4
415ed4:	8b 08                	mov    (%eax),%ecx
415ed6:	50                   	push   %eax
415ed7:	8b 71 08             	mov    0x8(%ecx),%esi
415eda:	8b ce                	mov    %esi,%ecx
415edc:	ff 15 20 a5 43 00    	call   *0x43a520
415ee2:	ff d6                	call   *%esi
415ee4:	ff 75 ec             	push   -0x14(%ebp)
415ee7:	ff 15 04 a4 43 00    	call   *0x43a404
415eed:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
415ef4:	8b 45 e8             	mov    -0x18(%ebp),%eax
415ef7:	85 c0                	test   %eax,%eax
415ef9:	74 10                	je     0x415f0b
415efb:	8b 08                	mov    (%eax),%ecx
415efd:	50                   	push   %eax
415efe:	8b 71 08             	mov    0x8(%ecx),%esi
415f01:	8b ce                	mov    %esi,%ecx
415f03:	ff 15 20 a5 43 00    	call   *0x43a520
415f09:	ff d6                	call   *%esi
415f0b:	85 ff                	test   %edi,%edi
415f0d:	0f 88 29 ca 00 00    	js     0x42293c
415f13:	8b c7                	mov    %edi,%eax
415f15:	e8 c2 4e 00 00       	call   0x41addc
415f1a:	c2 0c 00             	ret    $0xc
415f1d:	cc                   	int3
415f1e:	cc                   	int3
415f1f:	8b ff                	mov    %edi,%edi
415f21:	55                   	push   %ebp
415f22:	8b ec                	mov    %esp,%ebp
415f24:	6a ff                	push   $0xffffffff
415f26:	68 4c ec 41 00       	push   $0x41ec4c
415f2b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
415f31:	50                   	push   %eax
415f32:	51                   	push   %ecx
415f33:	b8 14 32 00 00       	mov    $0x3214,%eax
415f38:	e8 f3 80 00 00       	call   0x41e030
415f3d:	a1 08 85 43 00       	mov    0x438508,%eax
415f42:	33 c5                	xor    %ebp,%eax
415f44:	89 45 ec             	mov    %eax,-0x14(%ebp)
415f47:	53                   	push   %ebx
415f48:	56                   	push   %esi
415f49:	57                   	push   %edi
415f4a:	50                   	push   %eax
415f4b:	8d 45 f4             	lea    -0xc(%ebp),%eax
415f4e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
415f54:	89 65 f0             	mov    %esp,-0x10(%ebp)
415f57:	8b 45 0c             	mov    0xc(%ebp),%eax
415f5a:	33 db                	xor    %ebx,%ebx
415f5c:	53                   	push   %ebx
415f5d:	53                   	push   %ebx
415f5e:	6a 01                	push   $0x1
415f60:	53                   	push   %ebx
415f61:	89 85 f4 ce ff ff    	mov    %eax,-0x310c(%ebp)
415f67:	ff 15 18 a1 43 00    	call   *0x43a118
415f6d:	33 f6                	xor    %esi,%esi
415f6f:	46                   	inc    %esi
415f70:	56                   	push   %esi
415f71:	ff 15 c8 a4 43 00    	call   *0x43a4c8
415f77:	59                   	pop    %ecx
415f78:	e8 b3 54 00 00       	call   0x41b430
415f7d:	84 c0                	test   %al,%al
415f7f:	74 08                	je     0x415f89
415f81:	6a ff                	push   $0xffffffff
415f83:	ff 15 3c d0 43 00    	call   *0x43d03c
415f89:	8d 85 50 dc ff ff    	lea    -0x23b0(%ebp),%eax
415f8f:	89 9d 54 dc ff ff    	mov    %ebx,-0x23ac(%ebp)
415f95:	89 85 58 dc ff ff    	mov    %eax,-0x23a8(%ebp)
415f9b:	8d 85 94 dc ff ff    	lea    -0x236c(%ebp),%eax
415fa1:	89 85 64 dc ff ff    	mov    %eax,-0x239c(%ebp)
415fa7:	8d 85 6c dc ff ff    	lea    -0x2394(%ebp),%eax
415fad:	51                   	push   %ecx
415fae:	8b c8                	mov    %eax,%ecx
415fb0:	89 9d 5c dc ff ff    	mov    %ebx,-0x23a4(%ebp)
415fb6:	89 9d 60 dc ff ff    	mov    %ebx,-0x23a0(%ebp)
415fbc:	89 85 68 dc ff ff    	mov    %eax,-0x2398(%ebp)
415fc2:	e8 a2 1e 00 00       	call   0x417e69
415fc7:	8d 8d 50 dc ff ff    	lea    -0x23b0(%ebp),%ecx
415fcd:	89 9d 08 dd ff ff    	mov    %ebx,-0x22f8(%ebp)
415fd3:	c7 85 50 dc ff ff b4 	movl   $0x4018b4,-0x23b0(%ebp)
415fda:	18 40 00
415fdd:	e8 a4 1b 00 00       	call   0x417b86
415fe2:	6a 02                	push   $0x2
415fe4:	89 5d fc             	mov    %ebx,-0x4(%ebp)
415fe7:	89 b5 c4 ce ff ff    	mov    %esi,-0x313c(%ebp)
415fed:	ff 15 3c a3 43 00    	call   *0x43a33c
415ff3:	89 85 d0 ce ff ff    	mov    %eax,-0x3130(%ebp)
415ff9:	85 c0                	test   %eax,%eax
415ffb:	78 0e                	js     0x41600b
415ffd:	56                   	push   %esi
415ffe:	ff 15 b4 a0 43 00    	call   *0x43a0b4
416004:	bf 58 52 40 00       	mov    $0x405258,%edi
416009:	eb 23                	jmp    0x41602e
41600b:	bf 58 52 40 00       	mov    $0x405258,%edi
416010:	3d 01 40 00 80       	cmp    $0x80004001,%eax
416015:	74 0f                	je     0x416026
416017:	8b 4d 04             	mov    0x4(%ebp),%ecx
41601a:	ba fd 03 00 00       	mov    $0x3fd,%edx
41601f:	50                   	push   %eax
416020:	57                   	push   %edi
416021:	e8 fc 2d 01 00       	call   0x428e22
416026:	6a 03                	push   $0x3
416028:	ff 15 b4 a0 43 00    	call   *0x43a0b4
41602e:	53                   	push   %ebx
41602f:	53                   	push   %ebx
416030:	ff 15 58 a0 43 00    	call   *0x43a058
416036:	89 85 a0 ce ff ff    	mov    %eax,-0x3160(%ebp)
41603c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
416040:	e8 59 29 00 00       	call   0x41899e
416045:	68 00 55 42 00       	push   $0x425500
41604a:	68 e0 94 41 00       	push   $0x4194e0
41604f:	6a 20                	push   $0x20
416051:	68 14 01 00 00       	push   $0x114
416056:	8d 85 6c dd ff ff    	lea    -0x2294(%ebp),%eax
41605c:	89 9d c8 ce ff ff    	mov    %ebx,-0x3138(%ebp)
416062:	50                   	push   %eax
416063:	e8 08 4d 00 00       	call   0x41ad70
416068:	8d 8d d8 db ff ff    	lea    -0x2428(%ebp),%ecx
41606e:	e8 3f 1e 00 00       	call   0x417eb2
416073:	8d 8d fc db ff ff    	lea    -0x2404(%ebp),%ecx
416079:	c7 85 d8 db ff ff 8c 	movl   $0x40188c,-0x2428(%ebp)
416080:	18 40 00
416083:	e8 47 97 ff ff       	call   0x40f7cf
416088:	51                   	push   %ecx
416089:	51                   	push   %ecx
41608a:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
41608e:	e8 e0 28 00 00       	call   0x418973
416093:	f6 05 81 90 43 00 10 	testb  $0x10,0x439081
41609a:	74 11                	je     0x4160ad
41609c:	ff 15 00 a2 43 00    	call   *0x43a200
4160a2:	50                   	push   %eax
4160a3:	ba 50 55 40 00       	mov    $0x405550,%edx
4160a8:	e8 d9 8c 01 00       	call   0x42ed86
4160ad:	e8 9a 28 00 00       	call   0x41894c
4160b2:	89 9d cc ce ff ff    	mov    %ebx,-0x3134(%ebp)
4160b8:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
4160bc:	e8 45 28 00 00       	call   0x418906
4160c1:	33 c0                	xor    %eax,%eax
4160c3:	40                   	inc    %eax
4160c4:	89 85 60 dd ff ff    	mov    %eax,-0x22a0(%ebp)
4160ca:	89 85 64 dd ff ff    	mov    %eax,-0x229c(%ebp)
4160d0:	89 85 68 dd ff ff    	mov    %eax,-0x2298(%ebp)
4160d6:	8d 85 60 dd ff ff    	lea    -0x22a0(%ebp),%eax
4160dc:	6a 0c                	push   $0xc
4160de:	50                   	push   %eax
4160df:	6a 04                	push   $0x4
4160e1:	ff 15 e8 a1 43 00    	call   *0x43a1e8
4160e7:	50                   	push   %eax
4160e8:	ff 15 14 a2 43 00    	call   *0x43a214
4160ee:	8b 35 3c 1a 40 00    	mov    0x401a3c,%esi
4160f4:	8b ce                	mov    %esi,%ecx
4160f6:	6a 28                	push   $0x28
4160f8:	ff 15 20 a5 43 00    	call   *0x43a520
4160fe:	ff d6                	call   *%esi
416100:	89 85 00 cf ff ff    	mov    %eax,-0x3100(%ebp)
416106:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
41610a:	85 c0                	test   %eax,%eax
41610c:	74 15                	je     0x416123
41610e:	6a 03                	push   $0x3
416110:	53                   	push   %ebx
416111:	6a 11                	push   $0x11
416113:	b9 b0 df 40 00       	mov    $0x40dfb0,%ecx
416118:	51                   	push   %ecx
416119:	51                   	push   %ecx
41611a:	8b c8                	mov    %eax,%ecx
41611c:	e8 d1 65 ff ff       	call   0x40c6f2
416121:	eb 02                	jmp    0x416125
416123:	8b c3                	mov    %ebx,%eax
416125:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
416129:	a3 48 8a 43 00       	mov    %eax,0x438a48
41612e:	85 c0                	test   %eax,%eax