412ef5:	8b ff                	mov    %edi,%edi
412ef7:	55                   	push   %ebp
412ef8:	8b ec                	mov    %esp,%ebp
412efa:	8b 49 04             	mov    0x4(%ecx),%ecx
412efd:	85 c9                	test   %ecx,%ecx
412eff:	74 17                	je     0x412f18
412f01:	8b 01                	mov    (%ecx),%eax
412f03:	56                   	push   %esi
412f04:	ff 75 08             	push   0x8(%ebp)
412f07:	8b 70 18             	mov    0x18(%eax),%esi
412f0a:	51                   	push   %ecx
412f0b:	8b ce                	mov    %esi,%ecx
412f0d:	ff 15 90 b3 41 00    	call   *0x41b390
412f13:	ff d6                	call   *%esi
412f15:	5e                   	pop    %esi
412f16:	eb 05                	jmp    0x412f1d
412f18:	b8 05 40 00 80       	mov    $0x80004005,%eax
412f1d:	5d                   	pop    %ebp
412f1e:	c2 04 00             	ret    $0x4
412f21:	8b ff                	mov    %edi,%edi
412f23:	55                   	push   %ebp
412f24:	8b ec                	mov    %esp,%ebp
412f26:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
412f2c:	56                   	push   %esi
412f2d:	8b f2                	mov    %edx,%esi
412f2f:	8b 08                	mov    (%eax),%ecx
412f31:	a1 40 a6 41 00       	mov    0x41a640,%eax
412f36:	3b 81 04 00 00 00    	cmp    0x4(%ecx),%eax
412f3c:	7f 1e                	jg     0x412f5c
412f3e:	eb 01                	jmp    0x412f41
412f40:	5f                   	pop    %edi
412f41:	ff 75 10             	push   0x10(%ebp)
412f44:	68 19 00 02 00       	push   $0x20019
412f49:	6a 00                	push   $0x0
412f4b:	56                   	push   %esi
412f4c:	68 02 00 00 80       	push   $0x80000002
412f51:	ff 15 28 b0 41 00    	call   *0x41b028
412f57:	5e                   	pop    %esi
412f58:	5d                   	pop    %ebp
412f59:	c2 0c 00             	ret    $0xc
412f5c:	57                   	push   %edi
412f5d:	bf 40 a6 41 00       	mov    $0x41a640,%edi
412f62:	57                   	push   %edi
412f63:	e8 2d 0c 00 00       	call   0x413b95
412f68:	83 3d 40 a6 41 00 ff 	cmpl   $0xffffffff,0x41a640
412f6f:	59                   	pop    %ecx
412f70:	75 ce                	jne    0x412f40
412f72:	e8 d6 f8 ff ff       	call   0x41284d
412f77:	85 c0                	test   %eax,%eax
412f79:	74 0e                	je     0x412f89
412f7b:	e8 a8 f8 ff ff       	call   0x412828
412f80:	85 c0                	test   %eax,%eax
412f82:	74 05                	je     0x412f89
412f84:	33 c0                	xor    %eax,%eax
412f86:	40                   	inc    %eax
412f87:	eb 04                	jmp    0x412f8d
412f89:	33 c0                	xor    %eax,%eax
412f8b:	eb 00                	jmp    0x412f8d
412f8d:	57                   	push   %edi
412f8e:	a3 44 a6 41 00       	mov    %eax,0x41a644
412f93:	e8 aa 0b 00 00       	call   0x413b42
412f98:	59                   	pop    %ecx
412f99:	eb a5                	jmp    0x412f40
412f9b:	8b ff                	mov    %edi,%edi
412f9d:	56                   	push   %esi
412f9e:	57                   	push   %edi
412f9f:	be e8 41 40 00       	mov    $0x4041e8,%esi
412fa4:	c7 01 f8 17 40 00    	movl   $0x4017f8,(%ecx)
412faa:	8d 79 04             	lea    0x4(%ecx),%edi
412fad:	8b c1                	mov    %ecx,%eax
412faf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412fb0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412fb1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412fb2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412fb3:	83 61 14 00          	andl   $0x0,0x14(%ecx)
412fb7:	83 61 18 00          	andl   $0x0,0x18(%ecx)
412fbb:	5f                   	pop    %edi
412fbc:	5e                   	pop    %esi
412fbd:	c2 08 00             	ret    $0x8
412fc0:	8b ff                	mov    %edi,%edi
412fc2:	55                   	push   %ebp
412fc3:	8b ec                	mov    %esp,%ebp
412fc5:	56                   	push   %esi
412fc6:	8b f1                	mov    %ecx,%esi
412fc8:	e8 15 00 00 00       	call   0x412fe2
412fcd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
412fd1:	74 08                	je     0x412fdb
412fd3:	56                   	push   %esi
412fd4:	ff 15 cc b2 41 00    	call   *0x41b2cc
412fda:	59                   	pop    %ecx
412fdb:	8b c6                	mov    %esi,%eax
412fdd:	5e                   	pop    %esi
412fde:	5d                   	pop    %ebp
412fdf:	c2 04 00             	ret    $0x4
412fe2:	8b ff                	mov    %edi,%edi
412fe4:	55                   	push   %ebp
412fe5:	8b ec                	mov    %esp,%ebp
412fe7:	6a ff                	push   $0xffffffff
412fe9:	68 89 45 41 00       	push   $0x414589
412fee:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
412ff4:	50                   	push   %eax
412ff5:	56                   	push   %esi
412ff6:	57                   	push   %edi
412ff7:	a1 18 51 41 00       	mov    0x415118,%eax
412ffc:	33 c5                	xor    %ebp,%eax
412ffe:	50                   	push   %eax
412fff:	8d 45 f4             	lea    -0xc(%ebp),%eax
413002:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
413008:	8b f1                	mov    %ecx,%esi
41300a:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
41300e:	c7 06 f8 17 40 00    	movl   $0x4017f8,(%esi)
413014:	74 3f                	je     0x413055
413016:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
41301a:	74 25                	je     0x413041
41301c:	68 b4 45 40 00       	push   $0x4045b4
413021:	ff 76 14             	push   0x14(%esi)
413024:	ff 15 5c b1 41 00    	call   *0x41b15c
41302a:	8b f8                	mov    %eax,%edi
41302c:	85 ff                	test   %edi,%edi
41302e:	74 21                	je     0x413051
413030:	8b cf                	mov    %edi,%ecx
413032:	ff 15 90 b3 41 00    	call   *0x41b390
413038:	ff d7                	call   *%edi
41303a:	f7 d8                	neg    %eax
41303c:	1b c0                	sbb    %eax,%eax
41303e:	40                   	inc    %eax
41303f:	eb 03                	jmp    0x413044
413041:	33 c0                	xor    %eax,%eax
413043:	40                   	inc    %eax
413044:	85 c0                	test   %eax,%eax
413046:	74 09                	je     0x413051
413048:	ff 76 14             	push   0x14(%esi)
41304b:	ff 15 bc b0 41 00    	call   *0x41b0bc
413051:	83 66 14 00          	andl   $0x0,0x14(%esi)
413055:	8b 4d f4             	mov    -0xc(%ebp),%ecx
413058:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41305f:	59                   	pop    %ecx
413060:	5f                   	pop    %edi
413061:	5e                   	pop    %esi
413062:	c9                   	leave
413063:	c3                   	ret
413064:	68 14 02 00 00       	push   $0x214
413069:	b8 e5 45 41 00       	mov    $0x4145e5,%eax
41306e:	e8 ff 0b 00 00       	call   0x413c72
413073:	8b f1                	mov    %ecx,%esi
413075:	8b 5d 10             	mov    0x10(%ebp),%ebx
413078:	33 ff                	xor    %edi,%edi
41307a:	c7 85 e0 fd ff ff 54 	movl   $0x401554,-0x220(%ebp)
413081:	15 40 00
413084:	89 bd e4 fd ff ff    	mov    %edi,-0x21c(%ebp)
41308a:	68 08 02 00 00       	push   $0x208
41308f:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
413095:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41309c:	57                   	push   %edi
41309d:	50                   	push   %eax
41309e:	e8 be 10 00 00       	call   0x414161
4130a3:	8b 46 14             	mov    0x14(%esi),%eax
4130a6:	83 c4 0c             	add    $0xc,%esp
4130a9:	85 c0                	test   %eax,%eax
4130ab:	75 2c                	jne    0x4130d9
4130ad:	51                   	push   %ecx
4130ae:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
4130b4:	8b ce                	mov    %esi,%ecx
4130b6:	50                   	push   %eax
4130b7:	e8 aa 00 00 00       	call   0x413166
4130bc:	85 c0                	test   %eax,%eax
4130be:	74 12                	je     0x4130d2
4130c0:	57                   	push   %edi
4130c1:	57                   	push   %edi
4130c2:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
4130c8:	50                   	push   %eax
4130c9:	ff 15 c0 b0 41 00    	call   *0x41b0c0
4130cf:	89 46 14             	mov    %eax,0x14(%esi)
4130d2:	8b 46 14             	mov    0x14(%esi),%eax
4130d5:	85 c0                	test   %eax,%eax
4130d7:	74 62                	je     0x41313b
4130d9:	68 4c 45 40 00       	push   $0x40454c
4130de:	50                   	push   %eax
4130df:	ff 15 5c b1 41 00    	call   *0x41b15c
4130e5:	8b f8                	mov    %eax,%edi
4130e7:	85 ff                	test   %edi,%edi
4130e9:	74 50                	je     0x41313b
4130eb:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
4130f1:	e8 90 56 ff ff       	call   0x408786
4130f6:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
4130fc:	50                   	push   %eax
4130fd:	68 08 25 40 00       	push   $0x402508
413102:	8d 4e 04             	lea    0x4(%esi),%ecx
413105:	51                   	push   %ecx
413106:	8b cf                	mov    %edi,%ecx
413108:	ff 15 90 b3 41 00    	call   *0x41b390
41310e:	ff d7                	call   *%edi
413110:	8b f0                	mov    %eax,%esi
413112:	85 f6                	test   %esi,%esi
413114:	78 2a                	js     0x413140
413116:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
41311c:	85 c0                	test   %eax,%eax
41311e:	74 1b                	je     0x41313b
413120:	8b 30                	mov    (%eax),%esi
413122:	53                   	push   %ebx
413123:	68 d8 41 40 00       	push   $0x4041d8
413128:	6a 00                	push   $0x0
41312a:	8b 4e 0c             	mov    0xc(%esi),%ecx
41312d:	50                   	push   %eax
41312e:	ff 15 90 b3 41 00    	call   *0x41b390
413134:	ff 56 0c             	call   *0xc(%esi)
413137:	8b f0                	mov    %eax,%esi
413139:	eb 05                	jmp    0x413140
41313b:	be 05 40 00 80       	mov    $0x80004005,%esi
413140:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
413147:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
41314d:	c7 85 e0 fd ff ff 54 	movl   $0x401554,-0x220(%ebp)
413154:	15 40 00
413157:	e8 2a 56 ff ff       	call   0x408786
41315c:	8b c6                	mov    %esi,%eax
41315e:	e8 cd 0a 00 00       	call   0x413c30
413163:	c2 0c 00             	ret    $0xc
413166:	8b ff                	mov    %edi,%edi
413168:	55                   	push   %ebp
413169:	8b ec                	mov    %esp,%ebp
41316b:	81 ec 14 04 00 00    	sub    $0x414,%esp
413171:	a1 18 51 41 00       	mov    0x415118,%eax
413176:	33 c5                	xor    %ebp,%eax
413178:	89 45 fc             	mov    %eax,-0x4(%ebp)
41317b:	0f b6 41 13          	movzbl 0x13(%ecx),%eax
41317f:	53                   	push   %ebx
413180:	56                   	push   %esi
413181:	57                   	push   %edi
413182:	50                   	push   %eax
413183:	0f b6 41 12          	movzbl 0x12(%ecx),%eax
413187:	bf 00 01 00 00       	mov    $0x100,%edi
41318c:	50                   	push   %eax
41318d:	0f b6 41 11          	movzbl 0x11(%ecx),%eax
413191:	33 db                	xor    %ebx,%ebx
413193:	50                   	push   %eax
413194:	0f b6 41 10          	movzbl 0x10(%ecx),%eax
413198:	50                   	push   %eax
413199:	0f b6 41 0f          	movzbl 0xf(%ecx),%eax
41319d:	50                   	push   %eax
41319e:	0f b6 41 0e          	movzbl 0xe(%ecx),%eax
4131a2:	50                   	push   %eax
4131a3:	0f b6 41 0d          	movzbl 0xd(%ecx),%eax
4131a7:	8b 75 08             	mov    0x8(%ebp),%esi
4131aa:	50                   	push   %eax
4131ab:	0f b6 41 0c          	movzbl 0xc(%ecx),%eax
4131af:	50                   	push   %eax
4131b0:	0f b7 41 0a          	movzwl 0xa(%ecx),%eax
4131b4:	50                   	push   %eax
4131b5:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
4131b9:	50                   	push   %eax
4131ba:	ff 71 04             	push   0x4(%ecx)
4131bd:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
4131c3:	c7 85 ec fb ff ff 08 	movl   $0x208,-0x414(%ebp)
4131ca:	02 00 00
4131cd:	68 c8 45 40 00       	push   $0x4045c8
4131d2:	57                   	push   %edi
4131d3:	50                   	push   %eax
4131d4:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
4131da:	e8 c5 55 ff ff       	call   0x4087a4
4131df:	83 c4 38             	add    $0x38,%esp
4131e2:	85 c0                	test   %eax,%eax
4131e4:	0f 88 e3 00 00 00    	js     0x4132cd
4131ea:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
4131f0:	50                   	push   %eax
4131f1:	68 60 45 40 00       	push   $0x404560
4131f6:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
4131fc:	57                   	push   %edi
4131fd:	50                   	push   %eax
4131fe:	e8 a1 55 ff ff       	call   0x4087a4
413203:	83 c4 10             	add    $0x10,%esp
413206:	85 c0                	test   %eax,%eax
413208:	0f 88 bf 00 00 00    	js     0x4132cd
41320e:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
413214:	50                   	push   %eax
413215:	51                   	push   %ecx
413216:	51                   	push   %ecx
413217:	8d 95 fc fb ff ff    	lea    -0x404(%ebp),%edx
41321d:	e8 ff fc ff ff       	call   0x412f21
413222:	85 c0                	test   %eax,%eax
413224:	0f 85 3a 01 00 00    	jne    0x413364
41322a:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
413230:	50                   	push   %eax
413231:	56                   	push   %esi
413232:	8d 85 f0 fb ff ff    	lea    -0x410(%ebp),%eax
413238:	50                   	push   %eax
413239:	53                   	push   %ebx
41323a:	53                   	push   %ebx
41323b:	ff b5 f8 fb ff ff    	push   -0x408(%ebp)
413241:	ff 15 24 b0 41 00    	call   *0x41b024
413247:	83 bd f0 fb ff ff 02 	cmpl   $0x2,-0x410(%ebp)
41324e:	8b f8                	mov    %eax,%edi
413250:	89 bd f4 fb ff ff    	mov    %edi,-0x40c(%ebp)
413256:	0f 85 91 00 00 00    	jne    0x4132ed
41325c:	68 08 02 00 00       	push   $0x208
413261:	e8 26 03 00 00       	call   0x41358c
413266:	8b f8                	mov    %eax,%edi
413268:	c7 04 24 04 01 00 00 	movl   $0x104,(%esp)
41326f:	57                   	push   %edi
413270:	56                   	push   %esi
413271:	ff 15 c4 b0 41 00    	call   *0x41b0c4
413277:	85 c0                	test   %eax,%eax
413279:	0f 84 b9 00 00 00    	je     0x413338
41327f:	3d 04 01 00 00       	cmp    $0x104,%eax
413284:	0f 83 ae 00 00 00    	jae    0x413338
41328a:	8b cf                	mov    %edi,%ecx
41328c:	e8 30 f9 ff ff       	call   0x412bc1
413291:	b9 04 01 00 00       	mov    $0x104,%ecx
413296:	3b c1                	cmp    %ecx,%eax
413298:	72 0c                	jb     0x4132a6
41329a:	8b d1                	mov    %ecx,%edx
41329c:	8b ce                	mov    %esi,%ecx
41329e:	57                   	push   %edi
41329f:	e8 b2 c5 ff ff       	call   0x40f856
4132a4:	eb 0f                	jmp    0x4132b5
4132a6:	50                   	push   %eax
4132a7:	57                   	push   %edi
4132a8:	51                   	push   %ecx
4132a9:	56                   	push   %esi
4132aa:	ff 15 e8 b2 41 00    	call   *0x41b2e8
4132b0:	83 c4 10             	add    $0x10,%esp
4132b3:	8b c3                	mov    %ebx,%eax
4132b5:	57                   	push   %edi
4132b6:	85 c0                	test   %eax,%eax
4132b8:	74 26                	je     0x4132e0
4132ba:	ff 15 24 b3 41 00    	call   *0x41b324
4132c0:	59                   	pop    %ecx
4132c1:	ff b5 f8 fb ff ff    	push   -0x408(%ebp)
4132c7:	ff 15 20 b0 41 00    	call   *0x41b020
4132cd:	33 c0                	xor    %eax,%eax
4132cf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4132d2:	5f                   	pop    %edi
4132d3:	5e                   	pop    %esi
4132d4:	33 cd                	xor    %ebp,%ecx
4132d6:	5b                   	pop    %ebx
4132d7:	e8 04 06 00 00       	call   0x4138e0
4132dc:	c9                   	leave
4132dd:	c2 08 00             	ret    $0x8
4132e0:	ff 15 24 b3 41 00    	call   *0x41b324
4132e6:	8b bd f4 fb ff ff    	mov    -0x40c(%ebp),%edi
4132ec:	59                   	pop    %ecx
4132ed:	8d 85 f4 fb ff ff    	lea    -0x40c(%ebp),%eax
4132f3:	89 9d f4 fb ff ff    	mov    %ebx,-0x40c(%ebp)
4132f9:	50                   	push   %eax
4132fa:	ba 04 01 00 00       	mov    $0x104,%edx
4132ff:	8b ce                	mov    %esi,%ecx
413301:	e8 6d 5b ff ff       	call   0x408e73
413306:	8b 85 f4 fb ff ff    	mov    -0x40c(%ebp),%eax
41330c:	85 c0                	test   %eax,%eax
41330e:	74 3b                	je     0x41334b
413310:	6a 22                	push   $0x22