41d036:	53                   	push   %ebx
41d037:	50                   	push   %eax
41d038:	e8 33 26 01 00       	call   0x42f670
41d03d:	8b 45 10             	mov    0x10(%ebp),%eax
41d040:	83 c4 18             	add    $0x18,%esp
41d043:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d046:	89 45 a4             	mov    %eax,-0x5c(%ebp)
41d049:	8b 45 18             	mov    0x18(%ebp),%eax
41d04c:	8b 55 2c             	mov    0x2c(%ebp),%edx
41d04f:	8b 7d 24             	mov    0x24(%ebp),%edi
41d052:	8b 75 28             	mov    0x28(%ebp),%esi
41d055:	89 45 b4             	mov    %eax,-0x4c(%ebp)
41d058:	8b 45 1c             	mov    0x1c(%ebp),%eax
41d05b:	89 45 b8             	mov    %eax,-0x48(%ebp)
41d05e:	8b 45 0c             	mov    0xc(%ebp),%eax
41d061:	89 45 d0             	mov    %eax,-0x30(%ebp)
41d064:	8b 45 30             	mov    0x30(%ebp),%eax
41d067:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41d06a:	8b 45 34             	mov    0x34(%ebp),%eax
41d06d:	89 45 d8             	mov    %eax,-0x28(%ebp)
41d070:	8b 45 14             	mov    0x14(%ebp),%eax
41d073:	89 45 dc             	mov    %eax,-0x24(%ebp)
41d076:	8b 45 18             	mov    0x18(%ebp),%eax
41d079:	89 4d a0             	mov    %ecx,-0x60(%ebp)
41d07c:	89 4d cc             	mov    %ecx,-0x34(%ebp)
41d07f:	33 c9                	xor    %ecx,%ecx
41d081:	51                   	push   %ecx
41d082:	89 45 e0             	mov    %eax,-0x20(%ebp)
41d085:	8b 45 1c             	mov    0x1c(%ebp),%eax
41d088:	51                   	push   %ecx
41d089:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41d08c:	8d 45 a0             	lea    -0x60(%ebp),%eax
41d08f:	50                   	push   %eax
41d090:	68 3c ab 41 00       	push   $0x41ab3c
41d095:	51                   	push   %ecx
41d096:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41d099:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41d09c:	8b 5d 20             	mov    0x20(%ebp),%ebx
41d09f:	51                   	push   %ecx
41d0a0:	89 5d bc             	mov    %ebx,-0x44(%ebp)
41d0a3:	89 7d c0             	mov    %edi,-0x40(%ebp)
41d0a6:	89 75 c4             	mov    %esi,-0x3c(%ebp)
41d0a9:	89 55 c8             	mov    %edx,-0x38(%ebp)
41d0ac:	89 5d e8             	mov    %ebx,-0x18(%ebp)
41d0af:	89 7d ec             	mov    %edi,-0x14(%ebp)
41d0b2:	89 75 f0             	mov    %esi,-0x10(%ebp)
41d0b5:	89 55 f4             	mov    %edx,-0xc(%ebp)
41d0b8:	ff 15 20 b2 44 00    	call   *0x44b220
41d0be:	8b f8                	mov    %eax,%edi
41d0c0:	85 ff                	test   %edi,%edi
41d0c2:	75 3d                	jne    0x41d101
41d0c4:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41d0ca:	0f b7 f0             	movzwl %ax,%esi
41d0cd:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41d0d3:	85 c0                	test   %eax,%eax
41d0d5:	0f 4e f0             	cmovle %eax,%esi
41d0d8:	b8 05 40 00 80       	mov    $0x80004005,%eax
41d0dd:	85 f6                	test   %esi,%esi
41d0df:	0f 49 f0             	cmovns %eax,%esi
41d0e2:	56                   	push   %esi
41d0e3:	68 5c 04 00 00       	push   $0x45c
41d0e8:	68 50 7a 45 00       	push   $0x457a50
41d0ed:	e8 e1 66 fe ff       	call   0x4037d3
41d0f2:	68 30 89 45 00       	push   $0x458930
41d0f7:	56                   	push   %esi
41d0f8:	e8 32 30 02 00       	call   0x44012f
41d0fd:	59                   	pop    %ecx
41d0fe:	59                   	pop    %ecx
41d0ff:	eb 4a                	jmp    0x41d14b
41d101:	8d 45 f8             	lea    -0x8(%ebp),%eax
41d104:	50                   	push   %eax
41d105:	8d 45 cc             	lea    -0x34(%ebp),%eax
41d108:	50                   	push   %eax
41d109:	68 9c c5 41 00       	push   $0x41c59c
41d10e:	ff 75 0c             	push   0xc(%ebp)
41d111:	e8 9d 7e ff ff       	call   0x414fb3
41d116:	8b f0                	mov    %eax,%esi
41d118:	85 f6                	test   %esi,%esi
41d11a:	79 0f                	jns    0x41d12b
41d11c:	68 58 89 45 00       	push   $0x458958
41d121:	56                   	push   %esi
41d122:	e8 08 30 02 00       	call   0x44012f
41d127:	59                   	pop    %ecx
41d128:	59                   	pop    %ecx
41d129:	eb 19                	jmp    0x41d144
41d12b:	ff 75 f8             	push   -0x8(%ebp)
41d12e:	57                   	push   %edi
41d12f:	e8 c0 fb ff ff       	call   0x41ccf4
41d134:	8b 4d 38             	mov    0x38(%ebp),%ecx
41d137:	8b 45 f8             	mov    -0x8(%ebp),%eax
41d13a:	89 01                	mov    %eax,(%ecx)
41d13c:	8b 4d 3c             	mov    0x3c(%ebp),%ecx
41d13f:	8b 45 fc             	mov    -0x4(%ebp),%eax
41d142:	89 01                	mov    %eax,(%ecx)
41d144:	57                   	push   %edi
41d145:	ff 15 d4 b0 44 00    	call   *0x44b0d4
41d14b:	5f                   	pop    %edi
41d14c:	8b c6                	mov    %esi,%eax
41d14e:	5e                   	pop    %esi
41d14f:	5b                   	pop    %ebx
41d150:	8b e5                	mov    %ebp,%esp
41d152:	5d                   	pop    %ebp
41d153:	c2 38 00             	ret    $0x38
41d156:	56                   	push   %esi
41d157:	68 a4 01 00 20       	push   $0x200001a4
41d15c:	6a 02                	push   $0x2
41d15e:	e8 ac 83 fe ff       	call   0x40550f
41d163:	59                   	pop    %ecx
41d164:	59                   	pop    %ecx
41d165:	e8 f1 6b 02 00       	call   0x443d5b
41d16a:	8b f0                	mov    %eax,%esi
41d16c:	85 f6                	test   %esi,%esi
41d16e:	79 0d                	jns    0x41d17d
41d170:	68 88 89 45 00       	push   $0x458988
41d175:	56                   	push   %esi
41d176:	e8 b4 2f 02 00       	call   0x44012f
41d17b:	eb 0c                	jmp    0x41d189
41d17d:	68 a5 01 00 20       	push   $0x200001a5
41d182:	6a 02                	push   $0x2
41d184:	e8 86 83 fe ff       	call   0x40550f
41d189:	59                   	pop    %ecx
41d18a:	59                   	pop    %ecx
41d18b:	8b c6                	mov    %esi,%eax
41d18d:	5e                   	pop    %esi
41d18e:	c3                   	ret
41d18f:	55                   	push   %ebp
41d190:	8b ec                	mov    %esp,%ebp
41d192:	83 ec 0c             	sub    $0xc,%esp
41d195:	8b 45 0c             	mov    0xc(%ebp),%eax
41d198:	56                   	push   %esi
41d199:	57                   	push   %edi
41d19a:	33 ff                	xor    %edi,%edi
41d19c:	ff 30                	push   (%eax)
41d19e:	8d 45 f8             	lea    -0x8(%ebp),%eax
41d1a1:	89 7d fc             	mov    %edi,-0x4(%ebp)
41d1a4:	50                   	push   %eax
41d1a5:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d1a8:	89 7d f8             	mov    %edi,-0x8(%ebp)
41d1ab:	50                   	push   %eax
41d1ac:	89 7d f4             	mov    %edi,-0xc(%ebp)
41d1af:	e8 2c 26 02 00       	call   0x43f7e0
41d1b4:	8b f0                	mov    %eax,%esi
41d1b6:	85 f6                	test   %esi,%esi
41d1b8:	79 0f                	jns    0x41d1c9
41d1ba:	68 7c 87 45 00       	push   $0x45877c
41d1bf:	56                   	push   %esi
41d1c0:	e8 6a 2f 02 00       	call   0x44012f
41d1c5:	59                   	pop    %ecx
41d1c6:	59                   	pop    %ecx
41d1c7:	eb 26                	jmp    0x41d1ef
41d1c9:	8d 45 f4             	lea    -0xc(%ebp),%eax
41d1cc:	50                   	push   %eax
41d1cd:	57                   	push   %edi
41d1ce:	57                   	push   %edi
41d1cf:	ff 75 f8             	push   -0x8(%ebp)
41d1d2:	ff 75 fc             	push   -0x4(%ebp)
41d1d5:	6a 13                	push   $0x13
41d1d7:	ff 75 08             	push   0x8(%ebp)
41d1da:	e8 a6 7f ff ff       	call   0x415185
41d1df:	8b f0                	mov    %eax,%esi
41d1e1:	85 f6                	test   %esi,%esi
41d1e3:	79 07                	jns    0x41d1ec
41d1e5:	68 b0 87 45 00       	push   $0x4587b0
41d1ea:	eb d3                	jmp    0x41d1bf
41d1ec:	8b 75 f4             	mov    -0xc(%ebp),%esi
41d1ef:	39 7d fc             	cmp    %edi,-0x4(%ebp)
41d1f2:	74 08                	je     0x41d1fc
41d1f4:	ff 75 fc             	push   -0x4(%ebp)
41d1f7:	e8 9d 67 fe ff       	call   0x403999
41d1fc:	5f                   	pop    %edi
41d1fd:	8b c6                	mov    %esi,%eax
41d1ff:	5e                   	pop    %esi
41d200:	8b e5                	mov    %ebp,%esp
41d202:	5d                   	pop    %ebp
41d203:	c2 08 00             	ret    $0x8
41d206:	55                   	push   %ebp
41d207:	8b ec                	mov    %esp,%ebp
41d209:	51                   	push   %ecx
41d20a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41d20e:	56                   	push   %esi
41d20f:	57                   	push   %edi
41d210:	8b 7d 08             	mov    0x8(%ebp),%edi
41d213:	8b 87 c8 00 00 00    	mov    0xc8(%edi),%eax
41d219:	50                   	push   %eax
41d21a:	8b 08                	mov    (%eax),%ecx
41d21c:	ff 51 74             	call   *0x74(%ecx)
41d21f:	50                   	push   %eax
41d220:	6a 01                	push   $0x1
41d222:	8d 87 b8 00 00 00    	lea    0xb8(%edi),%eax
41d228:	50                   	push   %eax
41d229:	e8 5d 03 ff ff       	call   0x40d58b
41d22e:	8b f0                	mov    %eax,%esi
41d230:	85 f6                	test   %esi,%esi
41d232:	79 22                	jns    0x41d256
41d234:	56                   	push   %esi
41d235:	68 00 01 00 00       	push   $0x100
41d23a:	68 50 7a 45 00       	push   $0x457a50
41d23f:	e8 8f 65 fe ff       	call   0x4037d3
41d244:	68 60 7a 45 00       	push   $0x457a60
41d249:	56                   	push   %esi
41d24a:	e8 e0 2e 02 00       	call   0x44012f
41d24f:	59                   	pop    %ecx
41d250:	59                   	pop    %ecx
41d251:	e9 d0 00 00 00       	jmp    0x41d326
41d256:	53                   	push   %ebx
41d257:	8d 87 a4 04 00 00    	lea    0x4a4(%edi),%eax
41d25d:	50                   	push   %eax
41d25e:	8d 9f a0 04 00 00    	lea    0x4a0(%edi),%ebx
41d264:	53                   	push   %ebx
41d265:	e8 2c 79 ff ff       	call   0x414b96
41d26a:	8b f0                	mov    %eax,%esi
41d26c:	85 f6                	test   %esi,%esi
41d26e:	79 0a                	jns    0x41d27a
41d270:	68 84 7a 45 00       	push   $0x457a84
41d275:	e9 a3 00 00 00       	jmp    0x41d31d
41d27a:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d27d:	50                   	push   %eax
41d27e:	6a 01                	push   $0x1
41d280:	53                   	push   %ebx
41d281:	e8 62 7a ff ff       	call   0x414ce8
41d286:	8b f0                	mov    %eax,%esi
41d288:	85 f6                	test   %esi,%esi
41d28a:	79 0a                	jns    0x41d296
41d28c:	68 b4 7a 45 00       	push   $0x457ab4
41d291:	e9 87 00 00 00       	jmp    0x41d31d
41d296:	68 0a 00 00 20       	push   $0x2000000a
41d29b:	6a 02                	push   $0x2
41d29d:	e8 6d 82 fe ff       	call   0x40550f
41d2a2:	59                   	pop    %ecx
41d2a3:	59                   	pop    %ecx
41d2a4:	ff 75 0c             	push   0xc(%ebp)
41d2a7:	6a 01                	push   $0x1
41d2a9:	53                   	push   %ebx
41d2aa:	ff b7 9c 04 00 00    	push   0x49c(%edi)
41d2b0:	e8 1d 7c ff ff       	call   0x414ed2
41d2b5:	8b f0                	mov    %eax,%esi
41d2b7:	85 f6                	test   %esi,%esi
41d2b9:	79 2a                	jns    0x41d2e5
41d2bb:	81 fe c7 04 07 80    	cmp    $0x800704c7,%esi
41d2c1:	75 4a                	jne    0x41d30d
41d2c3:	33 c0                	xor    %eax,%eax
41d2c5:	b9 42 06 07 80       	mov    $0x80070642,%ecx
41d2ca:	50                   	push   %eax
41d2cb:	6a 15                	push   $0x15
41d2cd:	50                   	push   %eax
41d2ce:	51                   	push   %ecx
41d2cf:	50                   	push   %eax
41d2d0:	50                   	push   %eax
41d2d1:	ff b7 c8 00 00 00    	push   0xc8(%edi)
41d2d7:	8b f1                	mov    %ecx,%esi
41d2d9:	e8 64 04 ff ff       	call   0x40d742
41d2de:	83 f8 04             	cmp    $0x4,%eax
41d2e1:	74 c1                	je     0x41d2a4
41d2e3:	eb 2c                	jmp    0x41d311
41d2e5:	68 0b 00 00 20       	push   $0x2000000b
41d2ea:	6a 02                	push   $0x2
41d2ec:	e8 1e 82 fe ff       	call   0x40550f
41d2f1:	59                   	pop    %ecx
41d2f2:	59                   	pop    %ecx
41d2f3:	53                   	push   %ebx
41d2f4:	e8 ea 7f ff ff       	call   0x4152e3
41d2f9:	8b f0                	mov    %eax,%esi
41d2fb:	85 f6                	test   %esi,%esi
41d2fd:	78 19                	js     0x41d318
41d2ff:	68 0c 00 00 20       	push   $0x2000000c
41d304:	6a 02                	push   $0x2
41d306:	e8 04 82 fe ff       	call   0x40550f
41d30b:	59                   	pop    %ecx
41d30c:	59                   	pop    %ecx
41d30d:	85 f6                	test   %esi,%esi
41d30f:	79 14                	jns    0x41d325
41d311:	68 3c 52 45 00       	push   $0x45523c
41d316:	eb 05                	jmp    0x41d31d
41d318:	68 dc 7a 45 00       	push   $0x457adc
41d31d:	56                   	push   %esi
41d31e:	e8 0c 2e 02 00       	call   0x44012f
41d323:	59                   	pop    %ecx
41d324:	59                   	pop    %ecx
41d325:	5b                   	pop    %ebx
41d326:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41d32a:	74 0d                	je     0x41d339
41d32c:	ff 75 fc             	push   -0x4(%ebp)
41d32f:	ff 15 d4 b0 44 00    	call   *0x44b0d4
41d335:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41d339:	85 f6                	test   %esi,%esi
41d33b:	79 0c                	jns    0x41d349
41d33d:	8d 87 a0 04 00 00    	lea    0x4a0(%edi),%eax
41d343:	50                   	push   %eax
41d344:	e8 e2 77 ff ff       	call   0x414b2b
41d349:	5f                   	pop    %edi
41d34a:	8b c6                	mov    %esi,%eax
41d34c:	5e                   	pop    %esi
41d34d:	8b e5                	mov    %ebp,%esp
41d34f:	5d                   	pop    %ebp
41d350:	c2 08 00             	ret    $0x8
41d353:	55                   	push   %ebp
41d354:	8b ec                	mov    %esp,%ebp
41d356:	83 ec 14             	sub    $0x14,%esp
41d359:	53                   	push   %ebx
41d35a:	56                   	push   %esi
41d35b:	57                   	push   %edi
41d35c:	8b 7d 0c             	mov    0xc(%ebp),%edi
41d35f:	33 db                	xor    %ebx,%ebx
41d361:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41d364:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41d367:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41d36a:	8b 47 08             	mov    0x8(%edi),%eax
41d36d:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41d370:	89 5d f4             	mov    %ebx,-0xc(%ebp)
41d373:	ff 30                	push   (%eax)
41d375:	8d 45 f8             	lea    -0x8(%ebp),%eax
41d378:	50                   	push   %eax
41d379:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d37c:	50                   	push   %eax
41d37d:	e8 5e 24 02 00       	call   0x43f7e0
41d382:	8b f0                	mov    %eax,%esi
41d384:	85 f6                	test   %esi,%esi
41d386:	79 12                	jns    0x41d39a
41d388:	68 9c 7e 45 00       	push   $0x457e9c
41d38d:	56                   	push   %esi
41d38e:	e8 9c 2d 02 00       	call   0x44012f
41d393:	59                   	pop    %ecx
41d394:	59                   	pop    %ecx
41d395:	e9 de 00 00 00       	jmp    0x41d478
41d39a:	ff 77 10             	push   0x10(%edi)
41d39d:	8d 45 f8             	lea    -0x8(%ebp),%eax
41d3a0:	50                   	push   %eax
41d3a1:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d3a4:	50                   	push   %eax
41d3a5:	e8 08 24 02 00       	call   0x43f7b2
41d3aa:	8b f0                	mov    %eax,%esi
41d3ac:	85 f6                	test   %esi,%esi
41d3ae:	79 07                	jns    0x41d3b7
41d3b0:	68 0c 7b 45 00       	push   $0x457b0c
41d3b5:	eb d6                	jmp    0x41d38d
41d3b7:	ff 75 14             	push   0x14(%ebp)
41d3ba:	8d 45 f8             	lea    -0x8(%ebp),%eax
41d3bd:	50                   	push   %eax
41d3be:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d3c1:	50                   	push   %eax
41d3c2:	e8 eb 23 02 00       	call   0x43f7b2
41d3c7:	8b f0                	mov    %eax,%esi
41d3c9:	85 f6                	test   %esi,%esi
41d3cb:	79 07                	jns    0x41d3d4
41d3cd:	68 34 81 45 00       	push   $0x458134
41d3d2:	eb b9                	jmp    0x41d38d
41d3d4:	ff 77 14             	push   0x14(%edi)
41d3d7:	8d 45 f8             	lea    -0x8(%ebp),%eax
41d3da:	50                   	push   %eax
41d3db:	8d 45 fc             	lea    -0x4(%ebp),%eax