4130f2:	57                   	push   %edi
4130f3:	8b 7c 24 14          	mov    0x14(%esp),%edi
4130f7:	8b d9                	mov    %ecx,%ebx
4130f9:	85 ff                	test   %edi,%edi
4130fb:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
413102:	00
413103:	0f 8e 81 00 00 00    	jle    0x41318a
413109:	56                   	push   %esi
41310a:	55                   	push   %ebp
41310b:	8b 6c 24 18          	mov    0x18(%esp),%ebp
41310f:	8b 43 1c             	mov    0x1c(%ebx),%eax
413112:	8b 30                	mov    (%eax),%esi
413114:	85 f6                	test   %esi,%esi
413116:	74 47                	je     0x41315f
413118:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41311b:	8b 01                	mov    (%ecx),%eax
41311d:	85 c0                	test   %eax,%eax
41311f:	7e 3e                	jle    0x41315f
413121:	3b f8                	cmp    %eax,%edi
413123:	7d 02                	jge    0x413127
413125:	8b c7                	mov    %edi,%eax
413127:	8b c8                	mov    %eax,%ecx
413129:	8b fd                	mov    %ebp,%edi
41312b:	8b d1                	mov    %ecx,%edx
41312d:	03 e8                	add    %eax,%ebp
41312f:	c1 e9 02             	shr    $0x2,%ecx
413132:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
413134:	8b ca                	mov    %edx,%ecx
413136:	83 e1 03             	and    $0x3,%ecx
413139:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
41313b:	8b 4c 24 10          	mov    0x10(%esp),%ecx
41313f:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
413143:	03 c8                	add    %eax,%ecx
413145:	2b f8                	sub    %eax,%edi
413147:	89 4c 24 10          	mov    %ecx,0x10(%esp)
41314b:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41314e:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
413152:	8b 31                	mov    (%ecx),%esi
413154:	2b f0                	sub    %eax,%esi
413156:	89 31                	mov    %esi,(%ecx)
413158:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41315b:	01 01                	add    %eax,(%ecx)
41315d:	eb 25                	jmp    0x413184
41315f:	8b 03                	mov    (%ebx),%eax
413161:	8b cb                	mov    %ebx,%ecx
413163:	ff 50 14             	call   *0x14(%eax)
413166:	33 c9                	xor    %ecx,%ecx
413168:	83 f8 ff             	cmp    $0xffffffff,%eax
41316b:	0f 94 c1             	sete   %cl
41316e:	84 c9                	test   %cl,%cl
413170:	75 16                	jne    0x413188
413172:	8b 4c 24 10          	mov    0x10(%esp),%ecx
413176:	88 45 00             	mov    %al,0x0(%ebp)
413179:	45                   	inc    %ebp
41317a:	41                   	inc    %ecx
41317b:	4f                   	dec    %edi
41317c:	89 4c 24 10          	mov    %ecx,0x10(%esp)
413180:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
413184:	85 ff                	test   %edi,%edi
413186:	7f 87                	jg     0x41310f
413188:	5d                   	pop    %ebp
413189:	5e                   	pop    %esi
41318a:	8b 44 24 08          	mov    0x8(%esp),%eax
41318e:	5f                   	pop    %edi
41318f:	5b                   	pop    %ebx
413190:	59                   	pop    %ecx
413191:	c2 08 00             	ret    $0x8
413194:	90                   	nop
413195:	90                   	nop
413196:	90                   	nop
413197:	90                   	nop
413198:	90                   	nop
413199:	90                   	nop
41319a:	90                   	nop
41319b:	90                   	nop
41319c:	90                   	nop
41319d:	90                   	nop
41319e:	90                   	nop
41319f:	90                   	nop
4131a0:	51                   	push   %ecx
4131a1:	53                   	push   %ebx
4131a2:	56                   	push   %esi
4131a3:	8b 74 24 14          	mov    0x14(%esp),%esi
4131a7:	8b d9                	mov    %ecx,%ebx
4131a9:	85 f6                	test   %esi,%esi
4131ab:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
4131b2:	00
4131b3:	0f 8e 86 00 00 00    	jle    0x41323f
4131b9:	57                   	push   %edi
4131ba:	55                   	push   %ebp
4131bb:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4131bf:	8b 43 20             	mov    0x20(%ebx),%eax
4131c2:	8b 38                	mov    (%eax),%edi
4131c4:	85 ff                	test   %edi,%edi
4131c6:	74 49                	je     0x413211
4131c8:	8b 4b 30             	mov    0x30(%ebx),%ecx
4131cb:	8b 01                	mov    (%ecx),%eax
4131cd:	85 c0                	test   %eax,%eax
4131cf:	7e 40                	jle    0x413211
4131d1:	3b f0                	cmp    %eax,%esi
4131d3:	7d 02                	jge    0x4131d7
4131d5:	8b c6                	mov    %esi,%eax
4131d7:	8b c8                	mov    %eax,%ecx
4131d9:	8b f5                	mov    %ebp,%esi
4131db:	8b d1                	mov    %ecx,%edx
4131dd:	03 e8                	add    %eax,%ebp
4131df:	c1 e9 02             	shr    $0x2,%ecx
4131e2:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4131e4:	8b ca                	mov    %edx,%ecx
4131e6:	83 e1 03             	and    $0x3,%ecx
4131e9:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4131eb:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4131ef:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4131f3:	03 c8                	add    %eax,%ecx
4131f5:	2b f8                	sub    %eax,%edi
4131f7:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4131fb:	8b 4b 30             	mov    0x30(%ebx),%ecx
4131fe:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
413202:	8b 31                	mov    (%ecx),%esi
413204:	2b f0                	sub    %eax,%esi
413206:	89 31                	mov    %esi,(%ecx)
413208:	8b 4b 20             	mov    0x20(%ebx),%ecx
41320b:	8b f7                	mov    %edi,%esi
41320d:	01 01                	add    %eax,(%ecx)
41320f:	eb 28                	jmp    0x413239
413211:	8b 03                	mov    (%ebx),%eax
413213:	33 c9                	xor    %ecx,%ecx
413215:	8a 4d 00             	mov    0x0(%ebp),%cl
413218:	51                   	push   %ecx
413219:	8b cb                	mov    %ebx,%ecx
41321b:	ff 50 04             	call   *0x4(%eax)
41321e:	33 d2                	xor    %edx,%edx
413220:	83 f8 ff             	cmp    $0xffffffff,%eax
413223:	0f 94 c2             	sete   %dl
413226:	84 d2                	test   %dl,%dl
413228:	75 13                	jne    0x41323d
41322a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
41322e:	45                   	inc    %ebp
41322f:	41                   	inc    %ecx
413230:	4e                   	dec    %esi
413231:	89 4c 24 10          	mov    %ecx,0x10(%esp)
413235:	89 74 24 1c          	mov    %esi,0x1c(%esp)
413239:	85 f6                	test   %esi,%esi
41323b:	7f 82                	jg     0x4131bf
41323d:	5d                   	pop    %ebp
41323e:	5f                   	pop    %edi
41323f:	8b 44 24 08          	mov    0x8(%esp),%eax
413243:	5e                   	pop    %esi
413244:	5b                   	pop    %ebx
413245:	59                   	pop    %ecx
413246:	c2 08 00             	ret    $0x8
413249:	90                   	nop
41324a:	90                   	nop
41324b:	90                   	nop
41324c:	90                   	nop
41324d:	90                   	nop
41324e:	90                   	nop
41324f:	90                   	nop
413250:	c2 04 00             	ret    $0x4
413253:	90                   	nop
413254:	90                   	nop
413255:	90                   	nop
413256:	90                   	nop
413257:	90                   	nop
413258:	90                   	nop
413259:	90                   	nop
41325a:	90                   	nop
41325b:	90                   	nop
41325c:	90                   	nop
41325d:	90                   	nop
41325e:	90                   	nop
41325f:	90                   	nop
413260:	83 ec 0c             	sub    $0xc,%esp
413263:	33 c0                	xor    %eax,%eax
413265:	53                   	push   %ebx
413266:	8b 5c 24 14          	mov    0x14(%esp),%ebx
41326a:	83 fb ff             	cmp    $0xffffffff,%ebx
41326d:	55                   	push   %ebp
41326e:	0f 94 c0             	sete   %al
413271:	56                   	push   %esi
413272:	57                   	push   %edi
413273:	84 c0                	test   %al,%al
413275:	8b f1                	mov    %ecx,%esi
413277:	74 13                	je     0x41328c
413279:	8b c3                	mov    %ebx,%eax
41327b:	40                   	inc    %eax
41327c:	f7 d8                	neg    %eax
41327e:	1b c0                	sbb    %eax,%eax
413280:	23 c3                	and    %ebx,%eax
413282:	5f                   	pop    %edi
413283:	5e                   	pop    %esi
413284:	5d                   	pop    %ebp
413285:	5b                   	pop    %ebx
413286:	83 c4 0c             	add    $0xc,%esp
413289:	c2 04 00             	ret    $0x4
41328c:	8b 4e 20             	mov    0x20(%esi),%ecx
41328f:	8b 11                	mov    (%ecx),%edx
413291:	85 d2                	test   %edx,%edx
413293:	74 27                	je     0x4132bc
413295:	8b 46 30             	mov    0x30(%esi),%eax
413298:	8b 08                	mov    (%eax),%ecx
41329a:	8d 3c 11             	lea    (%ecx,%edx,1),%edi
41329d:	3b d7                	cmp    %edi,%edx
41329f:	73 1b                	jae    0x4132bc
4132a1:	49                   	dec    %ecx
4132a2:	89 08                	mov    %ecx,(%eax)
4132a4:	8b 76 20             	mov    0x20(%esi),%esi
4132a7:	8b 06                	mov    (%esi),%eax
4132a9:	8d 50 01             	lea    0x1(%eax),%edx
4132ac:	89 16                	mov    %edx,(%esi)
4132ae:	88 18                	mov    %bl,(%eax)
4132b0:	8b c3                	mov    %ebx,%eax
4132b2:	5f                   	pop    %edi
4132b3:	5e                   	pop    %esi
4132b4:	5d                   	pop    %ebp
4132b5:	5b                   	pop    %ebx
4132b6:	83 c4 0c             	add    $0xc,%esp
4132b9:	c2 04 00             	ret    $0x4
4132bc:	8b 46 50             	mov    0x50(%esi),%eax
4132bf:	85 c0                	test   %eax,%eax
4132c1:	0f 84 95 01 00 00    	je     0x41345c
4132c7:	8b 4e 38             	mov    0x38(%esi),%ecx
4132ca:	85 c9                	test   %ecx,%ecx
4132cc:	75 29                	jne    0x4132f7
4132ce:	50                   	push   %eax
4132cf:	0f be c3             	movsbl %bl,%eax
4132d2:	50                   	push   %eax
4132d3:	e8 78 4b 00 00       	call   0x417e50
4132d8:	83 c4 08             	add    $0x8,%esp
4132db:	33 c9                	xor    %ecx,%ecx
4132dd:	83 f8 ff             	cmp    $0xffffffff,%eax
4132e0:	0f 95 c1             	setne  %cl
4132e3:	84 c9                	test   %cl,%cl
4132e5:	0f 84 71 01 00 00    	je     0x41345c
4132eb:	8b c3                	mov    %ebx,%eax
4132ed:	5f                   	pop    %edi
4132ee:	5e                   	pop    %esi
4132ef:	5d                   	pop    %ebp
4132f0:	5b                   	pop    %ebx
4132f1:	83 c4 0c             	add    $0xc,%esp
4132f4:	c2 04 00             	ret    $0x4
4132f7:	8b 7e 44             	mov    0x44(%esi),%edi
4132fa:	8b 2d 90 ca 42 00    	mov    0x42ca90,%ebp
413300:	8b cf                	mov    %edi,%ecx
413302:	88 5c 24 13          	mov    %bl,0x13(%esp)
413306:	e8 05 02 00 00       	call   0x413510
41330b:	8b 47 08             	mov    0x8(%edi),%eax
41330e:	3b c5                	cmp    %ebp,%eax
413310:	73 02                	jae    0x413314
413312:	8b e8                	mov    %eax,%ebp
413314:	85 ed                	test   %ebp,%ebp
413316:	76 35                	jbe    0x41334d
413318:	8b 4f 04             	mov    0x4(%edi),%ecx
41331b:	2b c5                	sub    %ebp,%eax
41331d:	50                   	push   %eax
41331e:	8d 54 0d 00          	lea    0x0(%ebp,%ecx,1),%edx
413322:	52                   	push   %edx
413323:	51                   	push   %ecx
413324:	e8 77 9c ff ff       	call   0x40cfa0
413329:	8b 5f 08             	mov    0x8(%edi),%ebx
41332c:	83 c4 0c             	add    $0xc,%esp
41332f:	2b dd                	sub    %ebp,%ebx
413331:	8b cf                	mov    %edi,%ecx
413333:	6a 00                	push   $0x0
413335:	53                   	push   %ebx
413336:	e8 8b 76 ff ff       	call   0x40a9c6
41333b:	84 c0                	test   %al,%al
41333d:	74 0a                	je     0x413349
41333f:	8b 47 04             	mov    0x4(%edi),%eax
413342:	89 5f 08             	mov    %ebx,0x8(%edi)
413345:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
413349:	8b 5c 24 20          	mov    0x20(%esp),%ebx
41334d:	8b 7e 44             	mov    0x44(%esi),%edi
413350:	8b 0d 90 ca 42 00    	mov    0x42ca90,%ecx
413356:	2b 4f 08             	sub    0x8(%edi),%ecx
413359:	83 f9 08             	cmp    $0x8,%ecx
41335c:	77 05                	ja     0x413363
41335e:	e8 fd 2d 00 00       	call   0x416160
413363:	8b 6f 08             	mov    0x8(%edi),%ebp
413366:	6a 00                	push   $0x0
413368:	83 c5 08             	add    $0x8,%ebp
41336b:	8b cf                	mov    %edi,%ecx
41336d:	55                   	push   %ebp
41336e:	e8 53 76 ff ff       	call   0x40a9c6
413373:	84 c0                	test   %al,%al
413375:	74 19                	je     0x413390
413377:	8b 47 04             	mov    0x4(%edi),%eax
41337a:	8b 4f 08             	mov    0x8(%edi),%ecx
41337d:	33 d2                	xor    %edx,%edx
41337f:	03 c1                	add    %ecx,%eax
413381:	89 10                	mov    %edx,(%eax)
413383:	89 50 04             	mov    %edx,0x4(%eax)
413386:	8b 4f 04             	mov    0x4(%edi),%ecx
413389:	89 6f 08             	mov    %ebp,0x8(%edi)
41338c:	88 54 0d 00          	mov    %dl,0x0(%ebp,%ecx,1)
413390:	8b 7e 44             	mov    0x44(%esi),%edi
413393:	8b cf                	mov    %edi,%ecx
413395:	e8 d6 00 00 00       	call   0x413470
41339a:	8b 47 04             	mov    0x4(%edi),%eax
41339d:	85 c0                	test   %eax,%eax
41339f:	75 04                	jne    0x4133a5
4133a1:	33 ed                	xor    %ebp,%ebp
4133a3:	eb 05                	jmp    0x4133aa
4133a5:	8b 6f 08             	mov    0x8(%edi),%ebp
4133a8:	03 e8                	add    %eax,%ebp
4133aa:	8b 7e 44             	mov    0x44(%esi),%edi
4133ad:	8b cf                	mov    %edi,%ecx
4133af:	e8 bc 00 00 00       	call   0x413470
4133b4:	8d 44 24 18          	lea    0x18(%esp),%eax
4133b8:	8b 4e 38             	mov    0x38(%esi),%ecx
4133bb:	50                   	push   %eax
4133bc:	8b 47 04             	mov    0x4(%edi),%eax
4133bf:	55                   	push   %ebp
4133c0:	50                   	push   %eax
4133c1:	8d 44 24 20          	lea    0x20(%esp),%eax
4133c5:	8b 11                	mov    (%ecx),%edx
4133c7:	50                   	push   %eax
4133c8:	8d 44 24 24          	lea    0x24(%esp),%eax
4133cc:	50                   	push   %eax
4133cd:	8d 44 24 27          	lea    0x27(%esp),%eax
4133d1:	50                   	push   %eax
4133d2:	8d 46 40             	lea    0x40(%esi),%eax
4133d5:	50                   	push   %eax
4133d6:	ff 52 14             	call   *0x14(%edx)
4133d9:	83 e8 00             	sub    $0x0,%eax
4133dc:	74 3e                	je     0x41341c
4133de:	48                   	dec    %eax
4133df:	74 2f                	je     0x413410
4133e1:	83 e8 02             	sub    $0x2,%eax
4133e4:	75 76                	jne    0x41345c
4133e6:	0f be 4c 24 13       	movsbl 0x13(%esp),%ecx
4133eb:	8b 76 50             	mov    0x50(%esi),%esi
4133ee:	56                   	push   %esi
4133ef:	51                   	push   %ecx
4133f0:	e8 5b 4a 00 00       	call   0x417e50
4133f5:	83 c4 08             	add    $0x8,%esp
4133f8:	33 d2                	xor    %edx,%edx
4133fa:	83 f8 ff             	cmp    $0xffffffff,%eax
4133fd:	0f 95 c2             	setne  %dl
413400:	84 d2                	test   %dl,%dl
413402:	74 58                	je     0x41345c
413404:	8b c3                	mov    %ebx,%eax
413406:	5f                   	pop    %edi
413407:	5e                   	pop    %esi
413408:	5d                   	pop    %ebp
413409:	5b                   	pop    %ebx
41340a:	83 c4 0c             	add    $0xc,%esp
41340d:	c2 04 00             	ret    $0x4
413410:	8b 4c 24 14          	mov    0x14(%esp),%ecx
413414:	8d 44 24 13          	lea    0x13(%esp),%eax