4137f4:	85 c0                	test   %eax,%eax
4137f6:	0f 84 0d 03 00 00    	je     0x413b09
4137fc:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
413802:	89 46 0c             	mov    %eax,0xc(%esi)
413805:	3b f3                	cmp    %ebx,%esi
413807:	74 37                	je     0x413840
413809:	8b 4e 0c             	mov    0xc(%esi),%ecx
41380c:	8b 01                	mov    (%ecx),%eax
41380e:	83 f8 01             	cmp    $0x1,%eax
413811:	0f 8f 5d 5b 06 00    	jg     0x479374
413817:	8b 7b 04             	mov    0x4(%ebx),%edi
41381a:	89 7e 04             	mov    %edi,0x4(%esi)
41381d:	8d 47 01             	lea    0x1(%edi),%eax
413820:	39 46 08             	cmp    %eax,0x8(%esi)
413823:	0f 82 6b 5b 06 00    	jb     0x479394
413829:	8b 46 04             	mov    0x4(%esi),%eax
41382c:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
413833:	50                   	push   %eax
413834:	ff 33                	push   (%ebx)
413836:	ff 36                	push   (%esi)
413838:	e8 43 b6 00 00       	call   0x41ee80
41383d:	83 c4 0c             	add    $0xc,%esp
413840:	8b 44 24 44          	mov    0x44(%esp),%eax
413844:	6a 10                	push   $0x10
413846:	89 46 10             	mov    %eax,0x10(%esi)
413849:	e8 9c bc 00 00       	call   0x41f4ea
41384e:	8b f8                	mov    %eax,%edi
413850:	83 c4 04             	add    $0x4,%esp
413853:	85 ff                	test   %edi,%edi
413855:	0f 84 bc 02 00 00    	je     0x413b17
41385b:	ff 74 24 30          	push   0x30(%esp)
41385f:	8b cf                	mov    %edi,%ecx
413861:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
413868:	e8 b3 de ff ff       	call   0x411720
41386d:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
413871:	89 7e 14             	mov    %edi,0x14(%esi)
413874:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
41387b:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
413882:	ff 33                	push   (%ebx)
413884:	56                   	push   %esi
413885:	e8 36 a0 ff ff       	call   0x40d8c0
41388a:	8b 7c 24 4c          	mov    0x4c(%esp),%edi
41388e:	89 03                	mov    %eax,(%ebx)
413890:	8b 5c 24 18          	mov    0x18(%esp),%ebx
413894:	8b 4c 24 28          	mov    0x28(%esp),%ecx
413898:	8b 44 24 34          	mov    0x34(%esp),%eax
41389c:	83 44 24 38 04       	addl   $0x4,0x38(%esp)
4138a1:	41                   	inc    %ecx
4138a2:	01 4c 24 24          	add    %ecx,0x24(%esp)
4138a6:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4138aa:	40                   	inc    %eax
4138ab:	89 44 24 34          	mov    %eax,0x34(%esp)
4138af:	3b 41 14             	cmp    0x14(%ecx),%eax
4138b2:	0f 8e 18 fe ff ff    	jle    0x4136d0
4138b8:	e9 28 fb ff ff       	jmp    0x4133e5
4138bd:	8d 49 00             	lea    0x0(%ecx),%ecx
4138c0:	3b ca                	cmp    %edx,%ecx
4138c2:	0f 83 95 01 00 00    	jae    0x413a5d
4138c8:	ff 44 24 20          	incl   0x20(%esp)
4138cc:	8d 14 b0             	lea    (%eax,%esi,4),%edx
4138cf:	32 db                	xor    %bl,%bl
4138d1:	8b 02                	mov    (%edx),%eax
4138d3:	88 5c 24 13          	mov    %bl,0x13(%esp)
4138d7:	66 83 78 08 00       	cmpw   $0x0,0x8(%eax)
4138dc:	c7 44 24 3c 00 00 00 	movl   $0x0,0x3c(%esp)
4138e3:	00
4138e4:	0f 84 b0 57 06 00    	je     0x47909a
4138ea:	8b 45 0c             	mov    0xc(%ebp),%eax
4138ed:	8b 40 04             	mov    0x4(%eax),%eax
4138f0:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4138f3:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
4138f8:	74 06                	je     0x413900
4138fa:	32 db                	xor    %bl,%bl
4138fc:	88 5c 24 13          	mov    %bl,0x13(%esp)
413900:	8d 44 24 13          	lea    0x13(%esp),%eax
413904:	50                   	push   %eax
413905:	8d 4c 24 78          	lea    0x78(%esp),%ecx
413909:	e8 b5 8a 00 00       	call   0x41c3c3
41390e:	84 db                	test   %bl,%bl
413910:	0f 85 d6 57 06 00    	jne    0x4790ec
413916:	8b 44 24 40          	mov    0x40(%esp),%eax
41391a:	8d 4c 24 60          	lea    0x60(%esp),%ecx
41391e:	89 87 f4 00 00 00    	mov    %eax,0xf4(%edi)
413924:	e8 f7 f2 ff ff       	call   0x412c20
413929:	8d 44 24 60          	lea    0x60(%esp),%eax
41392d:	50                   	push   %eax
41392e:	8d 4c 24 54          	lea    0x54(%esp),%ecx
413932:	c7 44 24 70 01 00 00 	movl   $0x1,0x70(%esp)
413939:	00
41393a:	c7 44 24 64 00 00 00 	movl   $0x0,0x64(%esp)
413941:	00
413942:	e8 8f 89 00 00       	call   0x41c2d6
413947:	ff 74 24 1c          	push   0x1c(%esp)
41394b:	8b 44 24 5c          	mov    0x5c(%esp),%eax
41394f:	8b 4c 24 58          	mov    0x58(%esp),%ecx
413953:	8b 5d 0c             	mov    0xc(%ebp),%ebx
413956:	ff 74 81 fc          	push   -0x4(%ecx,%eax,4)
41395a:	8d 44 24 1c          	lea    0x1c(%esp),%eax
41395e:	50                   	push   %eax
41395f:	53                   	push   %ebx
413960:	8b cf                	mov    %edi,%ecx
413962:	e8 c9 c4 ff ff       	call   0x40fe30
413967:	85 c0                	test   %eax,%eax
413969:	0f 88 f8 01 00 00    	js     0x413b67
41396f:	8b 44 24 2c          	mov    0x2c(%esp),%eax
413973:	8b 4c 24 18          	mov    0x18(%esp),%ecx
413977:	8b 40 10             	mov    0x10(%eax),%eax
41397a:	89 87 f4 00 00 00    	mov    %eax,0xf4(%edi)
413980:	8b 49 04             	mov    0x4(%ecx),%ecx
413983:	46                   	inc    %esi
413984:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
413987:	66 83 78 08 41       	cmpw   $0x41,0x8(%eax)
41398c:	0f 84 17 01 00 00    	je     0x413aa9
413992:	8b 4c 24 14          	mov    0x14(%esp),%ecx
413996:	8b 54 24 1c          	mov    0x1c(%esp),%edx
41399a:	3b ca                	cmp    %edx,%ecx
41399c:	0f 84 bb 00 00 00    	je     0x413a5d
4139a2:	8b 43 04             	mov    0x4(%ebx),%eax
4139a5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4139a8:	66 83 78 08 40       	cmpw   $0x40,0x8(%eax)
4139ad:	0f 85 ba 58 06 00    	jne    0x47926d
4139b3:	8d 41 01             	lea    0x1(%ecx),%eax
4139b6:	3b c2                	cmp    %edx,%eax
4139b8:	0f 84 af 58 06 00    	je     0x47926d
4139be:	8b c8                	mov    %eax,%ecx
4139c0:	8b 44 24 18          	mov    0x18(%esp),%eax
4139c4:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4139c8:	8b 40 04             	mov    0x4(%eax),%eax
4139cb:	89 44 24 3c          	mov    %eax,0x3c(%esp)
4139cf:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4139d2:	66 83 78 08 40       	cmpw   $0x40,0x8(%eax)
4139d7:	75 01                	jne    0x4139da
4139d9:	46                   	inc    %esi
4139da:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4139de:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4139e2:	43                   	inc    %ebx
4139e3:	89 5c 24 30          	mov    %ebx,0x30(%esp)
4139e7:	3b 58 14             	cmp    0x14(%eax),%ebx
4139ea:	7d 71                	jge    0x413a5d
4139ec:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4139f0:	e9 cb fe ff ff       	jmp    0x4138c0
4139f5:	8b 44 24 78          	mov    0x78(%esp),%eax
4139f9:	ff 34 b8             	push   (%eax,%edi,4)
4139fc:	8d 34 b8             	lea    (%eax,%edi,4),%esi
4139ff:	e8 5a bb 00 00       	call   0x41f55e
413a04:	47                   	inc    %edi
413a05:	83 c4 04             	add    $0x4,%esp
413a08:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
413a0e:	3b 7c 24 7c          	cmp    0x7c(%esp),%edi
413a12:	72 e1                	jb     0x4139f5
413a14:	e9 66 fc ff ff       	jmp    0x41367f
413a19:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
413a20:	8b 3c b0             	mov    (%eax,%esi,4),%edi
413a23:	85 ff                	test   %edi,%edi
413a25:	74 14                	je     0x413a3b
413a27:	8b cf                	mov    %edi,%ecx
413a29:	e8 42 a6 ff ff       	call   0x40e070
413a2e:	57                   	push   %edi
413a2f:	e8 2a bb 00 00       	call   0x41f55e
413a34:	8b 44 24 58          	mov    0x58(%esp),%eax
413a38:	83 c4 04             	add    $0x4,%esp
413a3b:	c7 04 b0 00 00 00 00 	movl   $0x0,(%eax,%esi,4)
413a42:	46                   	inc    %esi
413a43:	3b 74 24 58          	cmp    0x58(%esp),%esi
413a47:	72 d7                	jb     0x413a20
413a49:	50                   	push   %eax
413a4a:	e8 0f bb 00 00       	call   0x41f55e
413a4f:	83 c4 04             	add    $0x4,%esp
413a52:	8b c3                	mov    %ebx,%eax
413a54:	5f                   	pop    %edi
413a55:	5e                   	pop    %esi
413a56:	5b                   	pop    %ebx
413a57:	8b e5                	mov    %ebp,%esp
413a59:	5d                   	pop    %ebp
413a5a:	c2 14 00             	ret    $0x14
413a5d:	8b 44 24 20          	mov    0x20(%esp),%eax
413a61:	83 f8 01             	cmp    $0x1,%eax
413a64:	74 38                	je     0x413a9e
413a66:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
413a6a:	e9 1f f9 ff ff       	jmp    0x41338e
413a6f:	4b                   	dec    %ebx
413a70:	0f 88 b7 fc ff ff    	js     0x41372d
413a76:	47                   	inc    %edi
413a77:	83 c2 04             	add    $0x4,%edx
413a7a:	e9 82 fc ff ff       	jmp    0x413701
413a7f:	8b 75 14             	mov    0x14(%ebp),%esi
413a82:	8b ce                	mov    %esi,%ecx
413a84:	c6 00 00             	movb   $0x0,(%eax)
413a87:	e8 94 f1 ff ff       	call   0x412c20
413a8c:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
413a93:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
413a99:	e9 b1 fa ff ff       	jmp    0x41354f
413a9e:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
413aa2:	74 c2                	je     0x413a66
413aa4:	e9 dd 57 06 00       	jmp    0x479286
413aa9:	46                   	inc    %esi
413aaa:	33 d2                	xor    %edx,%edx
413aac:	8d 0c b1             	lea    (%ecx,%esi,4),%ecx
413aaf:	90                   	nop
413ab0:	8b 01                	mov    (%ecx),%eax
413ab2:	0f b7 40 08          	movzwl 0x8(%eax),%eax
413ab6:	66 83 f8 47          	cmp    $0x47,%ax
413aba:	74 34                	je     0x413af0
413abc:	66 83 f8 48          	cmp    $0x48,%ax
413ac0:	74 1a                	je     0x413adc
413ac2:	66 83 f8 40          	cmp    $0x40,%ax
413ac6:	74 06                	je     0x413ace
413ac8:	46                   	inc    %esi
413ac9:	83 c1 04             	add    $0x4,%ecx
413acc:	eb e2                	jmp    0x413ab0
413ace:	85 d2                	test   %edx,%edx
413ad0:	0f 84 bc fe ff ff    	je     0x413992
413ad6:	46                   	inc    %esi
413ad7:	83 c1 04             	add    $0x4,%ecx
413ada:	eb d4                	jmp    0x413ab0
413adc:	4a                   	dec    %edx
413add:	0f 88 af fe ff ff    	js     0x413992
413ae3:	46                   	inc    %esi
413ae4:	83 c1 04             	add    $0x4,%ecx
413ae7:	eb c7                	jmp    0x413ab0
413ae9:	33 c0                	xor    %eax,%eax
413aeb:	e9 58 f8 ff ff       	jmp    0x413348
413af0:	42                   	inc    %edx
413af1:	46                   	inc    %esi
413af2:	83 c1 04             	add    $0x4,%ecx
413af5:	eb b9                	jmp    0x413ab0
413af7:	43                   	inc    %ebx
413af8:	47                   	inc    %edi
413af9:	83 c2 04             	add    $0x4,%edx
413afc:	e9 00 fc ff ff       	jmp    0x413701
413b01:	8b 40 08             	mov    0x8(%eax),%eax
413b04:	e9 7d fc ff ff       	jmp    0x413786
413b09:	33 c0                	xor    %eax,%eax
413b0b:	e9 f2 fc ff ff       	jmp    0x413802
413b10:	33 f6                	xor    %esi,%esi
413b12:	e9 ee fc ff ff       	jmp    0x413805
413b17:	33 ff                	xor    %edi,%edi
413b19:	e9 4f fd ff ff       	jmp    0x41386d
413b1e:	33 f6                	xor    %esi,%esi
413b20:	e9 94 f9 ff ff       	jmp    0x4134b9
413b25:	8b 7c 24 30          	mov    0x30(%esp),%edi
413b29:	e9 49 59 06 00       	jmp    0x479477
413b2e:	8b 40 38             	mov    0x38(%eax),%eax
413b31:	e9 dc f9 ff ff       	jmp    0x413512
413b36:	8b 40 38             	mov    0x38(%eax),%eax
413b39:	e9 26 fa ff ff       	jmp    0x413564
413b3e:	8b 40 38             	mov    0x38(%eax),%eax
413b41:	e9 35 fa ff ff       	jmp    0x41357b
413b46:	c6 46 0d 01          	movb   $0x1,0xd(%esi)
413b4a:	e9 82 fa ff ff       	jmp    0x4135d1
413b4f:	8b 40 38             	mov    0x38(%eax),%eax
413b52:	e9 92 fa ff ff       	jmp    0x4135e9
413b57:	8b 40 38             	mov    0x38(%eax),%eax
413b5a:	e9 a1 fa ff ff       	jmp    0x413600
413b5f:	8b 40 38             	mov    0x38(%eax),%eax
413b62:	e9 ce fa ff ff       	jmp    0x413635
413b67:	83 cb ff             	or     $0xffffffff,%ebx
413b6a:	e9 fb fa ff ff       	jmp    0x41366a
413b6f:	cc                   	int3
413b70:	55                   	push   %ebp
413b71:	8b ec                	mov    %esp,%ebp
413b73:	81 ec 68 01 00 00    	sub    $0x168,%esp
413b79:	8b 45 10             	mov    0x10(%ebp),%eax
413b7c:	53                   	push   %ebx
413b7d:	56                   	push   %esi
413b7e:	57                   	push   %edi
413b7f:	8b f9                	mov    %ecx,%edi
413b81:	89 7d f4             	mov    %edi,-0xc(%ebp)
413b84:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
413b8b:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
413b92:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
413b96:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
413b9d:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
413ba4:	c7 45 c8 01 00 00 00 	movl   $0x1,-0x38(%ebp)
413bab:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
413bb2:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
413bb9:	c7 45 a8 01 00 00 00 	movl   $0x1,-0x58(%ebp)
413bc0:	a8 04                	test   $0x4,%al
413bc2:	0f 85 dd 06 00 00    	jne    0x4142a5
413bc8:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)
413bcc:	8b 5d 08             	mov    0x8(%ebp),%ebx
413bcf:	83 e0 03             	and    $0x3,%eax
413bd2:	89 45 10             	mov    %eax,0x10(%ebp)
413bd5:	8b 45 0c             	mov    0xc(%ebp),%eax
413bd8:	ff 00                	incl   (%eax)
413bda:	8b 08                	mov    (%eax),%ecx
413bdc:	8b 43 04             	mov    0x4(%ebx),%eax
413bdf:	8d 04 88             	lea    (%eax,%ecx,4),%eax
413be2:	8b 08                	mov    (%eax),%ecx
413be4:	66 83 79 08 00       	cmpw   $0x0,0x8(%ecx)
413be9:	0f 84 85 33 06 00    	je     0x476f74
413bef:	33 c9                	xor    %ecx,%ecx
413bf1:	b8 08 00 00 00       	mov    $0x8,%eax
413bf6:	ba 02 00 00 00       	mov    $0x2,%edx
413bfb:	f7 e2                	mul    %edx
413bfd:	0f 90 c1             	seto   %cl
413c00:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
413c07:	c7 45 dc 08 00 00 00 	movl   $0x8,-0x24(%ebp)
413c0e:	f7 d9                	neg    %ecx
413c10:	0b c8                	or     %eax,%ecx
413c12:	51                   	push   %ecx
413c13:	e8 d2 b8 00 00       	call   0x41f4ea
413c18:	8b f0                	mov    %eax,%esi
413c1a:	83 c4 04             	add    $0x4,%esp
413c1d:	33 c0                	xor    %eax,%eax
413c1f:	6a 04                	push   $0x4
413c21:	89 75 d4             	mov    %esi,-0x2c(%ebp)
413c24:	66 89 06             	mov    %ax,(%esi)
413c27:	e8 be b8 00 00       	call   0x41f4ea
413c2c:	8b d0                	mov    %eax,%edx
413c2e:	83 c4 04             	add    $0x4,%esp
413c31:	89 55 b4             	mov    %edx,-0x4c(%ebp)
413c34:	85 d2                	test   %edx,%edx
413c36:	0f 84 72 06 00 00    	je     0x4142ae
413c3c:	c7 02 01 00 00 00    	movl   $0x1,(%edx)
413c42:	8b 7d 0c             	mov    0xc(%ebp),%edi
413c45:	8b 43 04             	mov    0x4(%ebx),%eax
413c48:	8b 0f                	mov    (%edi),%ecx
413c4a:	89 55 e0             	mov    %edx,-0x20(%ebp)
413c4d:	8b 04 88             	mov    (%eax,%ecx,4),%eax
413c50:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
413c55:	0f 85 3e 37 06 00    	jne    0x477399
413c5b:	eb 03                	jmp    0x413c60
413c5d:	8d 49 00             	lea    0x0(%ecx),%ecx
413c60:	8b 30                	mov    (%eax),%esi
413c62:	8d 45 d4             	lea    -0x2c(%ebp),%eax
413c65:	3b c6                	cmp    %esi,%eax
413c67:	74 35                	je     0x413c9e
413c69:	8b 02                	mov    (%edx),%eax
413c6b:	83 f8 01             	cmp    $0x1,%eax
413c6e:	0f 8f 76 33 06 00    	jg     0x476fea
413c74:	8b 7e 04             	mov    0x4(%esi),%edi
413c77:	89 7d d8             	mov    %edi,-0x28(%ebp)
413c7a:	8d 47 01             	lea    0x1(%edi),%eax
413c7d:	39 45 dc             	cmp    %eax,-0x24(%ebp)
413c80:	0f 82 c1 03 00 00    	jb     0x414047
413c86:	8d 04 7d 02 00 00 00 	lea    0x2(,%edi,2),%eax
413c8d:	50                   	push   %eax
413c8e:	ff 36                	push   (%esi)
413c90:	ff 75 d4             	push   -0x2c(%ebp)
413c93:	e8 e8 b1 00 00       	call   0x41ee80
413c98:	8b 7d 0c             	mov    0xc(%ebp),%edi
413c9b:	83 c4 0c             	add    $0xc,%esp
413c9e:	33 f6                	xor    %esi,%esi
413ca0:	80 3d fc 20 4c 00 00 	cmpb   $0x0,0x4c20fc
413ca7:	89 75 08             	mov    %esi,0x8(%ebp)
413caa:	75 58                	jne    0x413d04
413cac:	8b 45 10             	mov    0x10(%ebp),%eax
413caf:	83 f8 01             	cmp    $0x1,%eax
413cb2:	0f 85 d2 03 00 00    	jne    0x41408a