413717:	c2 04 00             	ret    $0x4
41371a:	8b 71 44             	mov    0x44(%ecx),%esi
41371d:	8b 1d 90 ca 42 00    	mov    0x42ca90,%ebx
413723:	8b 6e 04             	mov    0x4(%esi),%ebp
413726:	85 ed                	test   %ebp,%ebp
413728:	74 2d                	je     0x413757
41372a:	8a 45 ff             	mov    -0x1(%ebp),%al
41372d:	84 c0                	test   %al,%al
41372f:	74 26                	je     0x413757
413731:	3c ff                	cmp    $0xff,%al
413733:	74 22                	je     0x413757
413735:	6a 01                	push   $0x1
413737:	8b ce                	mov    %esi,%ecx
413739:	e8 c7 73 ff ff       	call   0x40ab05
41373e:	8b fd                	mov    %ebp,%edi
413740:	83 c9 ff             	or     $0xffffffff,%ecx
413743:	33 c0                	xor    %eax,%eax
413745:	f2 ae                	repnz scas %es:(%edi),%al
413747:	f7 d1                	not    %ecx
413749:	49                   	dec    %ecx
41374a:	51                   	push   %ecx
41374b:	55                   	push   %ebp
41374c:	8b ce                	mov    %esi,%ecx
41374e:	e8 3e 72 ff ff       	call   0x40a991
413753:	8b 4c 24 10          	mov    0x10(%esp),%ecx
413757:	8b 46 08             	mov    0x8(%esi),%eax
41375a:	3b c3                	cmp    %ebx,%eax
41375c:	73 02                	jae    0x413760
41375e:	8b d8                	mov    %eax,%ebx
413760:	85 db                	test   %ebx,%ebx
413762:	76 34                	jbe    0x413798
413764:	8b 4e 04             	mov    0x4(%esi),%ecx
413767:	2b c3                	sub    %ebx,%eax
413769:	50                   	push   %eax
41376a:	8d 14 0b             	lea    (%ebx,%ecx,1),%edx
41376d:	52                   	push   %edx
41376e:	51                   	push   %ecx
41376f:	e8 2c 98 ff ff       	call   0x40cfa0
413774:	8b 7e 08             	mov    0x8(%esi),%edi
413777:	83 c4 0c             	add    $0xc,%esp
41377a:	2b fb                	sub    %ebx,%edi
41377c:	8b ce                	mov    %esi,%ecx
41377e:	6a 00                	push   $0x0
413780:	57                   	push   %edi
413781:	e8 40 72 ff ff       	call   0x40a9c6
413786:	84 c0                	test   %al,%al
413788:	74 0a                	je     0x413794
41378a:	8b 46 04             	mov    0x4(%esi),%eax
41378d:	89 7e 08             	mov    %edi,0x8(%esi)
413790:	c6 04 07 00          	movb   $0x0,(%edi,%eax,1)
413794:	8b 4c 24 10          	mov    0x10(%esp),%ecx
413798:	8b 51 3c             	mov    0x3c(%ecx),%edx
41379b:	8b 44 24 18          	mov    0x18(%esp),%eax
41379f:	89 51 40             	mov    %edx,0x40(%ecx)
4137a2:	5f                   	pop    %edi
4137a3:	5e                   	pop    %esi
4137a4:	5d                   	pop    %ebp
4137a5:	5b                   	pop    %ebx
4137a6:	59                   	pop    %ecx
4137a7:	c2 04 00             	ret    $0x4
4137aa:	5f                   	pop    %edi
4137ab:	5e                   	pop    %esi
4137ac:	5d                   	pop    %ebp
4137ad:	83 c8 ff             	or     $0xffffffff,%eax
4137b0:	5b                   	pop    %ebx
4137b1:	59                   	pop    %ecx
4137b2:	c2 04 00             	ret    $0x4
4137b5:	90                   	nop
4137b6:	90                   	nop
4137b7:	90                   	nop
4137b8:	90                   	nop
4137b9:	90                   	nop
4137ba:	90                   	nop
4137bb:	90                   	nop
4137bc:	90                   	nop
4137bd:	90                   	nop
4137be:	90                   	nop
4137bf:	90                   	nop
4137c0:	56                   	push   %esi
4137c1:	8b f1                	mov    %ecx,%esi
4137c3:	57                   	push   %edi
4137c4:	8b 46 1c             	mov    0x1c(%esi),%eax
4137c7:	8b 00                	mov    (%eax),%eax
4137c9:	85 c0                	test   %eax,%eax
4137cb:	74 14                	je     0x4137e1
4137cd:	8b 4e 2c             	mov    0x2c(%esi),%ecx
4137d0:	8b 11                	mov    (%ecx),%edx
4137d2:	03 d0                	add    %eax,%edx
4137d4:	3b c2                	cmp    %edx,%eax
4137d6:	73 09                	jae    0x4137e1
4137d8:	33 c9                	xor    %ecx,%ecx
4137da:	8a 08                	mov    (%eax),%cl
4137dc:	8b c1                	mov    %ecx,%eax
4137de:	5f                   	pop    %edi
4137df:	5e                   	pop    %esi
4137e0:	c3                   	ret
4137e1:	8b 3e                	mov    (%esi),%edi
4137e3:	8b ce                	mov    %esi,%ecx
4137e5:	ff 57 14             	call   *0x14(%edi)
4137e8:	50                   	push   %eax
4137e9:	8b ce                	mov    %esi,%ecx
4137eb:	ff 57 08             	call   *0x8(%edi)
4137ee:	5f                   	pop    %edi
4137ef:	5e                   	pop    %esi
4137f0:	c3                   	ret
4137f1:	90                   	nop
4137f2:	90                   	nop
4137f3:	90                   	nop
4137f4:	90                   	nop
4137f5:	90                   	nop
4137f6:	90                   	nop
4137f7:	90                   	nop
4137f8:	90                   	nop
4137f9:	90                   	nop
4137fa:	90                   	nop
4137fb:	90                   	nop
4137fc:	90                   	nop
4137fd:	90                   	nop
4137fe:	90                   	nop
4137ff:	90                   	nop
413800:	83 ec 0c             	sub    $0xc,%esp
413803:	53                   	push   %ebx
413804:	55                   	push   %ebp
413805:	56                   	push   %esi
413806:	8b f1                	mov    %ecx,%esi
413808:	57                   	push   %edi
413809:	8b 46 1c             	mov    0x1c(%esi),%eax
41380c:	8b 00                	mov    (%eax),%eax
41380e:	85 c0                	test   %eax,%eax
413810:	74 27                	je     0x413839
413812:	8b 4e 2c             	mov    0x2c(%esi),%ecx
413815:	8b 11                	mov    (%ecx),%edx
413817:	8d 3c 02             	lea    (%edx,%eax,1),%edi
41381a:	3b c7                	cmp    %edi,%eax
41381c:	73 1b                	jae    0x413839
41381e:	4a                   	dec    %edx
41381f:	89 11                	mov    %edx,(%ecx)
413821:	8b 76 1c             	mov    0x1c(%esi),%esi
413824:	33 d2                	xor    %edx,%edx
413826:	8b 06                	mov    (%esi),%eax
413828:	8d 48 01             	lea    0x1(%eax),%ecx
41382b:	89 0e                	mov    %ecx,(%esi)
41382d:	8a 10                	mov    (%eax),%dl
41382f:	8b c2                	mov    %edx,%eax
413831:	5f                   	pop    %edi
413832:	5e                   	pop    %esi
413833:	5d                   	pop    %ebp
413834:	5b                   	pop    %ebx
413835:	83 c4 0c             	add    $0xc,%esp
413838:	c3                   	ret
413839:	8b 46 50             	mov    0x50(%esi),%eax
41383c:	85 c0                	test   %eax,%eax
41383e:	75 0b                	jne    0x41384b
413840:	83 c8 ff             	or     $0xffffffff,%eax
413843:	5f                   	pop    %edi
413844:	5e                   	pop    %esi
413845:	5d                   	pop    %ebp
413846:	5b                   	pop    %ebx
413847:	83 c4 0c             	add    $0xc,%esp
41384a:	c3                   	ret
41384b:	8b 4e 38             	mov    0x38(%esi),%ecx
41384e:	85 c9                	test   %ecx,%ecx
413850:	75 31                	jne    0x413883
413852:	50                   	push   %eax
413853:	e8 58 46 00 00       	call   0x417eb0
413858:	83 c4 04             	add    $0x4,%esp
41385b:	83 f8 ff             	cmp    $0xffffffff,%eax
41385e:	75 04                	jne    0x413864
413860:	32 c0                	xor    %al,%al
413862:	eb 06                	jmp    0x41386a
413864:	88 44 24 10          	mov    %al,0x10(%esp)
413868:	b0 01                	mov    $0x1,%al
41386a:	84 c0                	test   %al,%al
41386c:	0f 84 43 01 00 00    	je     0x4139b5
413872:	8b 44 24 10          	mov    0x10(%esp),%eax
413876:	25 ff 00 00 00       	and    $0xff,%eax
41387b:	5f                   	pop    %edi
41387c:	5e                   	pop    %esi
41387d:	5d                   	pop    %ebp
41387e:	5b                   	pop    %ebx
41387f:	83 c4 0c             	add    $0xc,%esp
413882:	c3                   	ret
413883:	8b 46 40             	mov    0x40(%esi),%eax
413886:	8b 7e 44             	mov    0x44(%esi),%edi
413889:	89 46 3c             	mov    %eax,0x3c(%esi)
41388c:	8b 1d 90 ca 42 00    	mov    0x42ca90,%ebx
413892:	8b cf                	mov    %edi,%ecx
413894:	e8 77 fc ff ff       	call   0x413510
413899:	8b 47 08             	mov    0x8(%edi),%eax
41389c:	3b c3                	cmp    %ebx,%eax
41389e:	73 02                	jae    0x4138a2
4138a0:	8b d8                	mov    %eax,%ebx
4138a2:	85 db                	test   %ebx,%ebx
4138a4:	76 31                	jbe    0x4138d7
4138a6:	8b 4f 04             	mov    0x4(%edi),%ecx
4138a9:	2b c3                	sub    %ebx,%eax
4138ab:	50                   	push   %eax
4138ac:	8d 14 0b             	lea    (%ebx,%ecx,1),%edx
4138af:	52                   	push   %edx
4138b0:	51                   	push   %ecx
4138b1:	e8 ea 96 ff ff       	call   0x40cfa0
4138b6:	8b 6f 08             	mov    0x8(%edi),%ebp
4138b9:	83 c4 0c             	add    $0xc,%esp
4138bc:	2b eb                	sub    %ebx,%ebp
4138be:	8b cf                	mov    %edi,%ecx
4138c0:	6a 00                	push   $0x0
4138c2:	55                   	push   %ebp
4138c3:	e8 fe 70 ff ff       	call   0x40a9c6
4138c8:	84 c0                	test   %al,%al
4138ca:	74 0b                	je     0x4138d7
4138cc:	8b 47 04             	mov    0x4(%edi),%eax
4138cf:	89 6f 08             	mov    %ebp,0x8(%edi)
4138d2:	c6 44 05 00 00       	movb   $0x0,0x0(%ebp,%eax,1)
4138d7:	8b 4e 50             	mov    0x50(%esi),%ecx
4138da:	51                   	push   %ecx
4138db:	e8 d0 45 00 00       	call   0x417eb0
4138e0:	8b d8                	mov    %eax,%ebx
4138e2:	83 c4 04             	add    $0x4,%esp
4138e5:	83 fb ff             	cmp    $0xffffffff,%ebx
4138e8:	0f 84 c7 00 00 00    	je     0x4139b5
4138ee:	8b 7e 44             	mov    0x44(%esi),%edi
4138f1:	8b 15 90 ca 42 00    	mov    0x42ca90,%edx
4138f7:	2b 57 08             	sub    0x8(%edi),%edx
4138fa:	83 fa 01             	cmp    $0x1,%edx
4138fd:	77 05                	ja     0x413904
4138ff:	e8 5c 28 00 00       	call   0x416160
413904:	8b 6f 08             	mov    0x8(%edi),%ebp
413907:	6a 00                	push   $0x0
413909:	45                   	inc    %ebp
41390a:	8b cf                	mov    %edi,%ecx
41390c:	55                   	push   %ebp
41390d:	e8 b4 70 ff ff       	call   0x40a9c6
413912:	84 c0                	test   %al,%al
413914:	74 1a                	je     0x413930
413916:	8b 4f 08             	mov    0x8(%edi),%ecx
413919:	8b 57 04             	mov    0x4(%edi),%edx
41391c:	0f be c3             	movsbl %bl,%eax
41391f:	03 ca                	add    %edx,%ecx
413921:	8a e0                	mov    %al,%ah
413923:	88 01                	mov    %al,(%ecx)
413925:	8b 47 04             	mov    0x4(%edi),%eax
413928:	89 6f 08             	mov    %ebp,0x8(%edi)
41392b:	c6 44 05 00 00       	movb   $0x0,0x0(%ebp,%eax,1)
413930:	8b 4e 3c             	mov    0x3c(%esi),%ecx
413933:	8b 7e 44             	mov    0x44(%esi),%edi
413936:	8d 5e 40             	lea    0x40(%esi),%ebx
413939:	89 0b                	mov    %ecx,(%ebx)
41393b:	8b cf                	mov    %edi,%ecx
41393d:	e8 2e fb ff ff       	call   0x413470
413942:	8b 47 04             	mov    0x4(%edi),%eax
413945:	85 c0                	test   %eax,%eax
413947:	75 04                	jne    0x41394d
413949:	33 ed                	xor    %ebp,%ebp
41394b:	eb 05                	jmp    0x413952
41394d:	8b 6f 08             	mov    0x8(%edi),%ebp
413950:	03 e8                	add    %eax,%ebp
413952:	8b 7e 44             	mov    0x44(%esi),%edi
413955:	8b cf                	mov    %edi,%ecx
413957:	e8 14 fb ff ff       	call   0x413470
41395c:	8d 44 24 14          	lea    0x14(%esp),%eax
413960:	8b 4e 38             	mov    0x38(%esi),%ecx
413963:	50                   	push   %eax
413964:	8d 44 24 15          	lea    0x15(%esp),%eax
413968:	50                   	push   %eax
413969:	8b 11                	mov    (%ecx),%edx
41396b:	8d 44 24 18          	lea    0x18(%esp),%eax
41396f:	50                   	push   %eax
413970:	8d 44 24 24          	lea    0x24(%esp),%eax
413974:	50                   	push   %eax
413975:	8b 47 04             	mov    0x4(%edi),%eax
413978:	55                   	push   %ebp
413979:	50                   	push   %eax
41397a:	53                   	push   %ebx
41397b:	ff 52 10             	call   *0x10(%edx)
41397e:	83 e8 00             	sub    $0x0,%eax
413981:	74 73                	je     0x4139f6
413983:	48                   	dec    %eax
413984:	74 0e                	je     0x413994
413986:	83 e8 02             	sub    $0x2,%eax
413989:	75 2a                	jne    0x4139b5
41398b:	8b 4e 44             	mov    0x44(%esi),%ecx
41398e:	83 79 08 01          	cmpl   $0x1,0x8(%ecx)
413992:	73 2c                	jae    0x4139c0
413994:	8b 56 50             	mov    0x50(%esi),%edx
413997:	52                   	push   %edx
413998:	e8 13 45 00 00       	call   0x417eb0
41399d:	8b d8                	mov    %eax,%ebx
41399f:	83 c4 04             	add    $0x4,%esp
4139a2:	83 fb ff             	cmp    $0xffffffff,%ebx
4139a5:	0f 85 43 ff ff ff    	jne    0x4138ee
4139ab:	0b c0                	or     %eax,%eax
4139ad:	5f                   	pop    %edi
4139ae:	5e                   	pop    %esi
4139af:	5d                   	pop    %ebp
4139b0:	5b                   	pop    %ebx
4139b1:	83 c4 0c             	add    $0xc,%esp
4139b4:	c3                   	ret
4139b5:	83 c8 ff             	or     $0xffffffff,%eax
4139b8:	5f                   	pop    %edi
4139b9:	5e                   	pop    %esi
4139ba:	5d                   	pop    %ebp
4139bb:	5b                   	pop    %ebx
4139bc:	83 c4 0c             	add    $0xc,%esp
4139bf:	c3                   	ret
4139c0:	8b 76 44             	mov    0x44(%esi),%esi
4139c3:	8b 46 04             	mov    0x4(%esi),%eax
4139c6:	85 c0                	test   %eax,%eax
4139c8:	74 18                	je     0x4139e2
4139ca:	8a 40 ff             	mov    -0x1(%eax),%al
4139cd:	84 c0                	test   %al,%al
4139cf:	74 11                	je     0x4139e2
4139d1:	3c ff                	cmp    $0xff,%al
4139d3:	74 0d                	je     0x4139e2
4139d5:	8b 46 08             	mov    0x8(%esi),%eax
4139d8:	6a 00                	push   $0x0
4139da:	50                   	push   %eax
4139db:	8b ce                	mov    %esi,%ecx
4139dd:	e8 e4 6f ff ff       	call   0x40a9c6
4139e2:	8b 46 04             	mov    0x4(%esi),%eax
4139e5:	85 c0                	test   %eax,%eax
4139e7:	74 04                	je     0x4139ed
4139e9:	c6 40 ff ff          	movb   $0xff,-0x1(%eax)
4139ed:	8b 4e 04             	mov    0x4(%esi),%ecx
4139f0:	8a 11                	mov    (%ecx),%dl
4139f2:	88 54 24 10          	mov    %dl,0x10(%esp)
4139f6:	8b 44 24 10          	mov    0x10(%esp),%eax
4139fa:	5f                   	pop    %edi
4139fb:	5e                   	pop    %esi
4139fc:	5d                   	pop    %ebp
4139fd:	25 ff 00 00 00       	and    $0xff,%eax
413a02:	5b                   	pop    %ebx
413a03:	83 c4 0c             	add    $0xc,%esp
413a06:	c3                   	ret
413a07:	90                   	nop
413a08:	90                   	nop
413a09:	90                   	nop
413a0a:	90                   	nop
413a0b:	90                   	nop
413a0c:	90                   	nop
413a0d:	90                   	nop
413a0e:	90                   	nop
413a0f:	90                   	nop
413a10:	83 ec 08             	sub    $0x8,%esp
413a13:	56                   	push   %esi
413a14:	8b f1                	mov    %ecx,%esi
413a16:	8b 46 50             	mov    0x50(%esi),%eax
413a19:	85 c0                	test   %eax,%eax
413a1b:	74 51                	je     0x413a6e
413a1d:	8b 4c 24 18          	mov    0x18(%esp),%ecx
413a21:	8b 54 24 14          	mov    0x14(%esp),%edx