40ba1e:	47                   	inc    %edi
40ba1f:	00 d8                	add    %bl,%al
40ba21:	b8 40 00 be b8       	mov    $0xb8be0040,%eax
40ba26:	40                   	inc    %eax
40ba27:	00 8d 38 47 00 c3    	add    %cl,-0x3cffb8c8(%ebp)
40ba2d:	b5 40                	mov    $0x40,%ch
40ba2f:	00 35 b7 40 00 2f    	add    %dh,0x2f0040b7
40ba35:	b5 40                	mov    $0x40,%ch
40ba37:	00 6e 38             	add    %ch,0x38(%esi)
40ba3a:	47                   	inc    %edi
40ba3b:	00 7b 39             	add    %bh,0x39(%ebx)
40ba3e:	47                   	inc    %edi
40ba3f:	00 00                	add    %al,(%eax)
40ba41:	12 12                	adc    (%edx),%dl
40ba43:	12 12                	adc    (%edx),%dl
40ba45:	12 12                	adc    (%edx),%dl
40ba47:	12 01                	adc    (%ecx),%al
40ba49:	12 12                	adc    (%edx),%dl
40ba4b:	12 02                	adc    (%edx),%al
40ba4d:	01 03                	add    %eax,(%ebx)
40ba4f:	04 05                	add    $0x5,%al
40ba51:	06                   	push   %es
40ba52:	07                   	pop    %es
40ba53:	08 12                	or     %dl,(%edx)
40ba55:	09 12                	or     %edx,(%edx)
40ba57:	12 12                	adc    (%edx),%dl
40ba59:	12 12                	adc    (%edx),%dl
40ba5b:	12 12                	adc    (%edx),%dl
40ba5d:	12 12                	adc    (%edx),%dl
40ba5f:	12 0a                	adc    (%edx),%cl
40ba61:	12 0b                	adc    (%ebx),%cl
40ba63:	12 0c 0d 0e 12 12 12 	adc    0x1212120e(,%ecx,1),%cl
40ba6a:	12 12                	adc    (%edx),%dl
40ba6c:	12 12                	adc    (%edx),%dl
40ba6e:	12 12                	adc    (%edx),%dl
40ba70:	12 12                	adc    (%edx),%dl
40ba72:	12 12                	adc    (%edx),%dl
40ba74:	12 12                	adc    (%edx),%dl
40ba76:	12 12                	adc    (%edx),%dl
40ba78:	12 12                	adc    (%edx),%dl
40ba7a:	12 12                	adc    (%edx),%dl
40ba7c:	12 12                	adc    (%edx),%dl
40ba7e:	12 12                	adc    (%edx),%dl
40ba80:	12 0f                	adc    (%edi),%cl
40ba82:	12 10                	adc    (%eax),%dl
40ba84:	11 55 8b             	adc    %edx,-0x75(%ebp)
40ba87:	ec                   	in     (%dx),%al
40ba88:	56                   	push   %esi
40ba89:	57                   	push   %edi
40ba8a:	8b f9                	mov    %ecx,%edi
40ba8c:	8b 47 0c             	mov    0xc(%edi),%eax
40ba8f:	39 47 08             	cmp    %eax,0x8(%edi)
40ba92:	0f 84 8d 00 00 00    	je     0x40bb25
40ba98:	6a 0c                	push   $0xc
40ba9a:	e8 4b 3a 01 00       	call   0x41f4ea
40ba9f:	8b f0                	mov    %eax,%esi
40baa1:	59                   	pop    %ecx
40baa2:	85 f6                	test   %esi,%esi
40baa4:	0f 84 97 7d 06 00    	je     0x473841
40baaa:	53                   	push   %ebx
40baab:	8b 5d 08             	mov    0x8(%ebp),%ebx
40baae:	66 8b 4b 08          	mov    0x8(%ebx),%cx
40bab2:	66 89 4e 08          	mov    %cx,0x8(%esi)
40bab6:	0f b7 46 08          	movzwl 0x8(%esi),%eax
40baba:	66 8b 4b 0a          	mov    0xa(%ebx),%cx
40babe:	66 89 4e 0a          	mov    %cx,0xa(%esi)
40bac2:	66 83 f8 3f          	cmp    $0x3f,%ax
40bac6:	7e 2b                	jle    0x40baf3
40bac8:	66 83 f8 10          	cmp    $0x10,%ax
40bacc:	0f 84 60 7d 06 00    	je     0x473832
40bad2:	66 83 f8 20          	cmp    $0x20,%ax
40bad6:	0f 84 9c 00 00 00    	je     0x40bb78
40badc:	8b 03                	mov    (%ebx),%eax
40bade:	89 06                	mov    %eax,(%esi)
40bae0:	5b                   	pop    %ebx
40bae1:	8b 4f 08             	mov    0x8(%edi),%ecx
40bae4:	8b 47 04             	mov    0x4(%edi),%eax
40bae7:	89 34 88             	mov    %esi,(%eax,%ecx,4)
40baea:	ff 47 08             	incl   0x8(%edi)
40baed:	5f                   	pop    %edi
40baee:	5e                   	pop    %esi
40baef:	5d                   	pop    %ebp
40baf0:	c2 04 00             	ret    $0x4
40baf3:	66 83 f8 30          	cmp    $0x30,%ax
40baf7:	7c cf                	jl     0x40bac8
40baf9:	6a 10                	push   $0x10
40bafb:	e8 ea 39 01 00       	call   0x41f4ea
40bb00:	8b d0                	mov    %eax,%edx
40bb02:	59                   	pop    %ecx
40bb03:	85 d2                	test   %edx,%edx
40bb05:	74 7a                	je     0x40bb81
40bb07:	8b 03                	mov    (%ebx),%eax
40bb09:	8b 08                	mov    (%eax),%ecx
40bb0b:	89 0a                	mov    %ecx,(%edx)
40bb0d:	8b 48 04             	mov    0x4(%eax),%ecx
40bb10:	89 4a 04             	mov    %ecx,0x4(%edx)
40bb13:	8b 48 08             	mov    0x8(%eax),%ecx
40bb16:	89 4a 08             	mov    %ecx,0x8(%edx)
40bb19:	8b 40 0c             	mov    0xc(%eax),%eax
40bb1c:	89 42 0c             	mov    %eax,0xc(%edx)
40bb1f:	ff 00                	incl   (%eax)
40bb21:	89 16                	mov    %edx,(%esi)
40bb23:	eb bb                	jmp    0x40bae0
40bb25:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
40bb28:	6a 08                	push   $0x8
40bb2a:	58                   	pop    %eax
40bb2b:	3b c8                	cmp    %eax,%ecx
40bb2d:	72 02                	jb     0x40bb31
40bb2f:	8b c1                	mov    %ecx,%eax
40bb31:	33 c9                	xor    %ecx,%ecx
40bb33:	6a 04                	push   $0x4
40bb35:	5a                   	pop    %edx
40bb36:	89 47 0c             	mov    %eax,0xc(%edi)
40bb39:	f7 e2                	mul    %edx
40bb3b:	0f 90 c1             	seto   %cl
40bb3e:	f7 d9                	neg    %ecx
40bb40:	0b c8                	or     %eax,%ecx
40bb42:	51                   	push   %ecx
40bb43:	e8 a2 39 01 00       	call   0x41f4ea
40bb48:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
40bb4c:	59                   	pop    %ecx
40bb4d:	8b f0                	mov    %eax,%esi
40bb4f:	74 1f                	je     0x40bb70
40bb51:	8b 47 08             	mov    0x8(%edi),%eax
40bb54:	85 c0                	test   %eax,%eax
40bb56:	74 18                	je     0x40bb70
40bb58:	c1 e0 02             	shl    $0x2,%eax
40bb5b:	50                   	push   %eax
40bb5c:	ff 77 04             	push   0x4(%edi)
40bb5f:	56                   	push   %esi
40bb60:	e8 1b 33 01 00       	call   0x41ee80
40bb65:	ff 77 04             	push   0x4(%edi)
40bb68:	e8 f1 39 01 00       	call   0x41f55e
40bb6d:	83 c4 10             	add    $0x10,%esp
40bb70:	89 77 04             	mov    %esi,0x4(%edi)
40bb73:	e9 20 ff ff ff       	jmp    0x40ba98
40bb78:	dd 03                	fldl   (%ebx)
40bb7a:	dd 1e                	fstpl  (%esi)
40bb7c:	e9 5f ff ff ff       	jmp    0x40bae0
40bb81:	33 d2                	xor    %edx,%edx
40bb83:	eb 9c                	jmp    0x40bb21
40bb85:	55                   	push   %ebp
40bb86:	8b ec                	mov    %esp,%ebp
40bb88:	51                   	push   %ecx
40bb89:	51                   	push   %ecx
40bb8a:	8b 45 08             	mov    0x8(%ebp),%eax
40bb8d:	56                   	push   %esi
40bb8e:	8b f1                	mov    %ecx,%esi
40bb90:	40                   	inc    %eax
40bb91:	39 46 08             	cmp    %eax,0x8(%esi)
40bb94:	72 05                	jb     0x40bb9b
40bb96:	5e                   	pop    %esi
40bb97:	c9                   	leave
40bb98:	c2 04 00             	ret    $0x4
40bb9b:	3d c2 41 00 00       	cmp    $0x41c2,%eax
40bba0:	0f 83 d1 5f 06 00    	jae    0x471b77
40bba6:	03 c0                	add    %eax,%eax
40bba8:	89 46 08             	mov    %eax,0x8(%esi)
40bbab:	85 c0                	test   %eax,%eax
40bbad:	74 48                	je     0x40bbf7
40bbaf:	83 c0 07             	add    $0x7,%eax
40bbb2:	83 e0 f8             	and    $0xfffffff8,%eax
40bbb5:	57                   	push   %edi
40bbb6:	33 c9                	xor    %ecx,%ecx
40bbb8:	6a 02                	push   $0x2
40bbba:	5a                   	pop    %edx
40bbbb:	89 46 08             	mov    %eax,0x8(%esi)
40bbbe:	f7 e2                	mul    %edx
40bbc0:	0f 90 c1             	seto   %cl
40bbc3:	f7 d9                	neg    %ecx
40bbc5:	0b c8                	or     %eax,%ecx
40bbc7:	51                   	push   %ecx
40bbc8:	e8 a8 32 01 00       	call   0x41ee75
40bbcd:	83 3e 00             	cmpl   $0x0,(%esi)
40bbd0:	59                   	pop    %ecx
40bbd1:	8b f8                	mov    %eax,%edi
40bbd3:	74 1d                	je     0x40bbf2
40bbd5:	8b 4e 04             	mov    0x4(%esi),%ecx
40bbd8:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40bbdf:	51                   	push   %ecx
40bbe0:	ff 36                	push   (%esi)
40bbe2:	57                   	push   %edi
40bbe3:	e8 98 32 01 00       	call   0x41ee80
40bbe8:	ff 36                	push   (%esi)
40bbea:	e8 f1 51 01 00       	call   0x420de0
40bbef:	83 c4 10             	add    $0x10,%esp
40bbf2:	89 3e                	mov    %edi,(%esi)
40bbf4:	5f                   	pop    %edi
40bbf5:	eb 9f                	jmp    0x40bb96
40bbf7:	6a 08                	push   $0x8
40bbf9:	58                   	pop    %eax
40bbfa:	eb b9                	jmp    0x40bbb5
40bbfc:	55                   	push   %ebp
40bbfd:	8b ec                	mov    %esp,%ebp
40bbff:	53                   	push   %ebx
40bc00:	56                   	push   %esi
40bc01:	8b f1                	mov    %ecx,%esi
40bc03:	6a 3f                	push   $0x3f
40bc05:	0f b7 46 08          	movzwl 0x8(%esi),%eax
40bc09:	59                   	pop    %ecx
40bc0a:	33 db                	xor    %ebx,%ebx
40bc0c:	6a 30                	push   $0x30
40bc0e:	5a                   	pop    %edx
40bc0f:	66 3b c1             	cmp    %cx,%ax
40bc12:	7f 05                	jg     0x40bc19
40bc14:	66 3b c2             	cmp    %dx,%ax
40bc17:	7d 27                	jge    0x40bc40
40bc19:	8b 45 08             	mov    0x8(%ebp),%eax
40bc1c:	66 89 46 08          	mov    %ax,0x8(%esi)
40bc20:	66 3b c1             	cmp    %cx,%ax
40bc23:	7e 14                	jle    0x40bc39
40bc25:	66 83 f8 10          	cmp    $0x10,%ax
40bc29:	74 44                	je     0x40bc6f
40bc2b:	66 83 f8 20          	cmp    $0x20,%ax
40bc2f:	74 38                	je     0x40bc69
40bc31:	89 1e                	mov    %ebx,(%esi)
40bc33:	5e                   	pop    %esi
40bc34:	5b                   	pop    %ebx
40bc35:	5d                   	pop    %ebp
40bc36:	c2 04 00             	ret    $0x4
40bc39:	66 3b c2             	cmp    %dx,%ax
40bc3c:	7d f3                	jge    0x40bc31
40bc3e:	eb e5                	jmp    0x40bc25
40bc40:	57                   	push   %edi
40bc41:	8b 3e                	mov    (%esi),%edi
40bc43:	85 ff                	test   %edi,%edi
40bc45:	74 1d                	je     0x40bc64
40bc47:	8b 47 0c             	mov    0xc(%edi),%eax
40bc4a:	ff 08                	decl   (%eax)
40bc4c:	8b 47 0c             	mov    0xc(%edi),%eax
40bc4f:	39 18                	cmp    %ebx,(%eax)
40bc51:	0f 84 b1 87 06 00    	je     0x474408
40bc57:	57                   	push   %edi
40bc58:	e8 01 39 01 00       	call   0x41f55e
40bc5d:	59                   	pop    %ecx
40bc5e:	6a 3f                	push   $0x3f
40bc60:	59                   	pop    %ecx
40bc61:	6a 30                	push   $0x30
40bc63:	5a                   	pop    %edx
40bc64:	89 1e                	mov    %ebx,(%esi)
40bc66:	5f                   	pop    %edi
40bc67:	eb b0                	jmp    0x40bc19
40bc69:	d9 ee                	fldz
40bc6b:	dd 1e                	fstpl  (%esi)
40bc6d:	eb c4                	jmp    0x40bc33
40bc6f:	89 5e 04             	mov    %ebx,0x4(%esi)
40bc72:	eb bd                	jmp    0x40bc31
40bc74:	55                   	push   %ebp
40bc75:	8b ec                	mov    %esp,%ebp
40bc77:	56                   	push   %esi
40bc78:	8b f1                	mov    %ecx,%esi
40bc7a:	0f b7 46 08          	movzwl 0x8(%esi),%eax
40bc7e:	66 83 f8 30          	cmp    $0x30,%ax
40bc82:	7c 0c                	jl     0x40bc90
40bc84:	66 83 f8 3f          	cmp    $0x3f,%ax
40bc88:	7f 06                	jg     0x40bc90
40bc8a:	8b 0e                	mov    (%esi),%ecx
40bc8c:	85 c9                	test   %ecx,%ecx
40bc8e:	75 32                	jne    0x40bcc2
40bc90:	6a 10                	push   $0x10
40bc92:	e8 53 38 01 00       	call   0x41f4ea
40bc97:	8b d0                	mov    %eax,%edx
40bc99:	59                   	pop    %ecx
40bc9a:	85 d2                	test   %edx,%edx
40bc9c:	74 2c                	je     0x40bcca
40bc9e:	8b 45 08             	mov    0x8(%ebp),%eax
40bca1:	8b 08                	mov    (%eax),%ecx
40bca3:	89 0a                	mov    %ecx,(%edx)
40bca5:	8b 48 04             	mov    0x4(%eax),%ecx
40bca8:	89 4a 04             	mov    %ecx,0x4(%edx)
40bcab:	8b 48 08             	mov    0x8(%eax),%ecx
40bcae:	89 4a 08             	mov    %ecx,0x8(%edx)
40bcb1:	8b 40 0c             	mov    0xc(%eax),%eax
40bcb4:	89 42 0c             	mov    %eax,0xc(%edx)
40bcb7:	ff 00                	incl   (%eax)
40bcb9:	89 16                	mov    %edx,(%esi)
40bcbb:	8b c6                	mov    %esi,%eax
40bcbd:	5e                   	pop    %esi
40bcbe:	5d                   	pop    %ebp
40bcbf:	c2 04 00             	ret    $0x4
40bcc2:	51                   	push   %ecx
40bcc3:	e8 d1 6d ff ff       	call   0x402a99
40bcc8:	eb c6                	jmp    0x40bc90
40bcca:	33 d2                	xor    %edx,%edx
40bccc:	eb eb                	jmp    0x40bcb9
40bcce:	56                   	push   %esi
40bccf:	8b f1                	mov    %ecx,%esi
40bcd1:	8b 4e 0c             	mov    0xc(%esi),%ecx
40bcd4:	8b 01                	mov    (%ecx),%eax
40bcd6:	83 f8 01             	cmp    $0x1,%eax
40bcd9:	7f 0d                	jg     0x40bce8
40bcdb:	8b 06                	mov    (%esi),%eax
40bcdd:	83 66 04 00          	andl   $0x0,0x4(%esi)
40bce1:	33 c9                	xor    %ecx,%ecx
40bce3:	66 89 08             	mov    %cx,(%eax)
40bce6:	5e                   	pop    %esi
40bce7:	c3                   	ret
40bce8:	48                   	dec    %eax
40bce9:	6a 04                	push   $0x4
40bceb:	89 01                	mov    %eax,(%ecx)
40bced:	e8 f8 37 01 00       	call   0x41f4ea
40bcf2:	59                   	pop    %ecx
40bcf3:	85 c0                	test   %eax,%eax
40bcf5:	74 28                	je     0x40bd1f
40bcf7:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
40bcfd:	6a 08                	push   $0x8
40bcff:	89 46 0c             	mov    %eax,0xc(%esi)
40bd02:	58                   	pop    %eax
40bd03:	33 c9                	xor    %ecx,%ecx
40bd05:	6a 02                	push   $0x2
40bd07:	5a                   	pop    %edx
40bd08:	89 46 08             	mov    %eax,0x8(%esi)
40bd0b:	f7 e2                	mul    %edx
40bd0d:	0f 90 c1             	seto   %cl
40bd10:	f7 d9                	neg    %ecx
40bd12:	0b c8                	or     %eax,%ecx
40bd14:	51                   	push   %ecx
40bd15:	e8 5b 31 01 00       	call   0x41ee75
40bd1a:	59                   	pop    %ecx
40bd1b:	89 06                	mov    %eax,(%esi)
40bd1d:	eb bc                	jmp    0x40bcdb
40bd1f:	33 c0                	xor    %eax,%eax
40bd21:	eb da                	jmp    0x40bcfd
40bd23:	cc                   	int3
40bd24:	cc                   	int3
40bd25:	cc                   	int3
40bd26:	cc                   	int3
40bd27:	cc                   	int3
40bd28:	cc                   	int3
40bd29:	cc                   	int3
40bd2a:	cc                   	int3
40bd2b:	cc                   	int3
40bd2c:	cc                   	int3
40bd2d:	cc                   	int3
40bd2e:	cc                   	int3
40bd2f:	cc                   	int3
40bd30:	55                   	push   %ebp
40bd31:	8b ec                	mov    %esp,%ebp
40bd33:	51                   	push   %ecx
40bd34:	53                   	push   %ebx
40bd35:	56                   	push   %esi
40bd36:	8b f1                	mov    %ecx,%esi
40bd38:	57                   	push   %edi
40bd39:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
40bd3d:	74 75                	je     0x40bdb4
40bd3f:	8d 4d 08             	lea    0x8(%ebp),%ecx
40bd42:	e8 b3 00 00 00       	call   0x40bdfa
40bd47:	ff 75 0c             	push   0xc(%ebp)
40bd4a:	ff 75 08             	push   0x8(%ebp)
40bd4d:	ff 15 60 d6 48 00    	call   *0x48d660