41aa9c:	7c 20                	jl     0x41aabe
41aa9e:	8b ce                	mov    %esi,%ecx
41aaa0:	8b d3                	mov    %ebx,%edx
41aaa2:	8b 45 fc             	mov    -0x4(%ebp),%eax
41aaa5:	e8 c2 fc ff ff       	call   0x41a76c
41aaaa:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
41aaad:	75 05                	jne    0x41aab4
41aaaf:	89 75 f0             	mov    %esi,-0x10(%ebp)
41aab2:	eb 08                	jmp    0x41aabc
41aab4:	3b 75 f0             	cmp    -0x10(%ebp),%esi
41aab7:	75 03                	jne    0x41aabc
41aab9:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41aabc:	43                   	inc    %ebx
41aabd:	4e                   	dec    %esi
41aabe:	3b f3                	cmp    %ebx,%esi
41aac0:	7d b7                	jge    0x41aa79
41aac2:	3b 75 f8             	cmp    -0x8(%ebp),%esi
41aac5:	7e 11                	jle    0x41aad8
41aac7:	8b 45 08             	mov    0x8(%ebp),%eax
41aaca:	50                   	push   %eax
41aacb:	8b ce                	mov    %esi,%ecx
41aacd:	8b 55 f8             	mov    -0x8(%ebp),%edx
41aad0:	8b 45 fc             	mov    -0x4(%ebp),%eax
41aad3:	e8 7c ff ff ff       	call   0x41aa54
41aad8:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41aadb:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
41aade:	7c 85                	jl     0x41aa65
41aae0:	5e                   	pop    %esi
41aae1:	5b                   	pop    %ebx
41aae2:	8b e5                	mov    %ebp,%esp
41aae4:	5d                   	pop    %ebp
41aae5:	c2 04 00             	ret    $0x4
41aae8:	53                   	push   %ebx
41aae9:	56                   	push   %esi
41aaea:	8b f2                	mov    %edx,%esi
41aaec:	8b d8                	mov    %eax,%ebx
41aaee:	8b d6                	mov    %esi,%edx
41aaf0:	c1 e2 03             	shl    $0x3,%edx
41aaf3:	8d 43 10             	lea    0x10(%ebx),%eax
41aaf6:	e8 39 7c fe ff       	call   0x402734
41aafb:	89 73 18             	mov    %esi,0x18(%ebx)
41aafe:	5e                   	pop    %esi
41aaff:	5b                   	pop    %ebx
41ab00:	c3                   	ret
41ab01:	8d 40 00             	lea    0x0(%eax),%eax
41ab04:	53                   	push   %ebx
41ab05:	56                   	push   %esi
41ab06:	8b da                	mov    %edx,%ebx
41ab08:	8b f0                	mov    %eax,%esi
41ab0a:	3a 5e 1c             	cmp    0x1c(%esi),%bl
41ab0d:	74 11                	je     0x41ab20
41ab0f:	84 db                	test   %bl,%bl
41ab11:	74 0a                	je     0x41ab1d
41ab13:	8b c6                	mov    %esi,%eax
41ab15:	8b 10                	mov    (%eax),%edx
41ab17:	ff 92 90 00 00 00    	call   *0x90(%edx)
41ab1d:	88 5e 1c             	mov    %bl,0x1c(%esi)
41ab20:	5e                   	pop    %esi
41ab21:	5b                   	pop    %ebx
41ab22:	c3                   	ret
41ab23:	90                   	nop
41ab24:	84 d2                	test   %dl,%dl
41ab26:	74 09                	je     0x41ab31
41ab28:	8b 10                	mov    (%eax),%edx
41ab2a:	ff 92 84 00 00 00    	call   *0x84(%edx)
41ab30:	c3                   	ret
41ab31:	8b 10                	mov    (%eax),%edx
41ab33:	ff 92 80 00 00 00    	call   *0x80(%edx)
41ab39:	c3                   	ret
41ab3a:	8b c0                	mov    %eax,%eax
41ab3c:	53                   	push   %ebx
41ab3d:	8b 58 10             	mov    0x10(%eax),%ebx
41ab40:	8b 0c cb             	mov    (%ebx,%ecx,8),%ecx
41ab43:	8b 58 10             	mov    0x10(%eax),%ebx
41ab46:	8b 14 d3             	mov    (%ebx,%edx,8),%edx
41ab49:	8b 18                	mov    (%eax),%ebx
41ab4b:	ff 53 34             	call   *0x34(%ebx)
41ab4e:	5b                   	pop    %ebx
41ab4f:	c3                   	ret
41ab50:	ba 3c ab 41 00       	mov    $0x41ab3c,%edx
41ab55:	8b 08                	mov    (%eax),%ecx
41ab57:	ff 91 94 00 00 00    	call   *0x94(%ecx)
41ab5d:	c3                   	ret
41ab5e:	8b c0                	mov    %eax,%eax
41ab60:	53                   	push   %ebx
41ab61:	56                   	push   %esi
41ab62:	8b f2                	mov    %edx,%esi
41ab64:	8b d8                	mov    %eax,%ebx
41ab66:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
41ab6a:	75 28                	jne    0x41ab94
41ab6c:	83 7b 14 01          	cmpl   $0x1,0x14(%ebx)
41ab70:	7e 22                	jle    0x41ab94
41ab72:	8b c3                	mov    %ebx,%eax
41ab74:	8b 10                	mov    (%eax),%edx
41ab76:	ff 92 84 00 00 00    	call   *0x84(%edx)
41ab7c:	56                   	push   %esi
41ab7d:	8b 4b 14             	mov    0x14(%ebx),%ecx
41ab80:	49                   	dec    %ecx
41ab81:	33 d2                	xor    %edx,%edx
41ab83:	8b c3                	mov    %ebx,%eax
41ab85:	e8 ca fe ff ff       	call   0x41aa54
41ab8a:	8b c3                	mov    %ebx,%eax
41ab8c:	8b 10                	mov    (%eax),%edx
41ab8e:	ff 92 80 00 00 00    	call   *0x80(%edx)
41ab94:	5e                   	pop    %esi
41ab95:	5b                   	pop    %ebx
41ab96:	c3                   	ret
41ab97:	90                   	nop
41ab98:	80 78 1e 00          	cmpb   $0x0,0x1e(%eax)
41ab9c:	74 0a                	je     0x41aba8
41ab9e:	8b c2                	mov    %edx,%eax
41aba0:	8b d1                	mov    %ecx,%edx
41aba2:	e8 25 d4 fe ff       	call   0x407fcc
41aba7:	c3                   	ret
41aba8:	8b c2                	mov    %edx,%eax
41abaa:	8b d1                	mov    %ecx,%edx
41abac:	e8 53 d4 fe ff       	call   0x408004
41abb1:	c3                   	ret
41abb2:	8b c0                	mov    %eax,%eax
41abb4:	83 c4 f8             	add    $0xfffffff8,%esp
41abb7:	6a 00                	push   $0x0
41abb9:	6a 00                	push   $0x0
41abbb:	b2 01                	mov    $0x1,%dl
41abbd:	8b 08                	mov    (%eax),%ecx
41abbf:	ff 51 18             	call   *0x18(%ecx)
41abc2:	89 04 24             	mov    %eax,(%esp)
41abc5:	89 54 24 04          	mov    %edx,0x4(%esp)
41abc9:	8b 04 24             	mov    (%esp),%eax
41abcc:	8b 54 24 04          	mov    0x4(%esp),%edx
41abd0:	59                   	pop    %ecx
41abd1:	5a                   	pop    %edx
41abd2:	c3                   	ret
41abd3:	90                   	nop
41abd4:	55                   	push   %ebp
41abd5:	8b ec                	mov    %esp,%ebp
41abd7:	ff 75 0c             	push   0xc(%ebp)
41abda:	ff 75 08             	push   0x8(%ebp)
41abdd:	33 d2                	xor    %edx,%edx
41abdf:	8b 08                	mov    (%eax),%ecx
41abe1:	ff 51 18             	call   *0x18(%ecx)
41abe4:	5d                   	pop    %ebp
41abe5:	c2 08 00             	ret    $0x8
41abe8:	53                   	push   %ebx
41abe9:	83 c4 f0             	add    $0xfffffff0,%esp
41abec:	8b d8                	mov    %eax,%ebx
41abee:	6a 00                	push   $0x0
41abf0:	6a 00                	push   $0x0
41abf2:	b2 01                	mov    $0x1,%dl
41abf4:	8b c3                	mov    %ebx,%eax
41abf6:	8b 08                	mov    (%eax),%ecx
41abf8:	ff 51 18             	call   *0x18(%ecx)
41abfb:	89 44 24 08          	mov    %eax,0x8(%esp)
41abff:	89 54 24 0c          	mov    %edx,0xc(%esp)
41ac03:	6a 00                	push   $0x0
41ac05:	6a 00                	push   $0x0
41ac07:	b2 02                	mov    $0x2,%dl
41ac09:	8b c3                	mov    %ebx,%eax
41ac0b:	8b 08                	mov    (%eax),%ecx
41ac0d:	ff 51 18             	call   *0x18(%ecx)
41ac10:	89 04 24             	mov    %eax,(%esp)
41ac13:	89 54 24 04          	mov    %edx,0x4(%esp)
41ac17:	ff 74 24 0c          	push   0xc(%esp)
41ac1b:	ff 74 24 0c          	push   0xc(%esp)
41ac1f:	33 d2                	xor    %edx,%edx
41ac21:	8b c3                	mov    %ebx,%eax
41ac23:	8b 08                	mov    (%eax),%ecx
41ac25:	ff 51 18             	call   *0x18(%ecx)
41ac28:	8b 04 24             	mov    (%esp),%eax
41ac2b:	8b 54 24 04          	mov    0x4(%esp),%edx
41ac2f:	83 c4 10             	add    $0x10,%esp
41ac32:	5b                   	pop    %ebx
41ac33:	c3                   	ret
41ac34:	c3                   	ret
41ac35:	8d 40 00             	lea    0x0(%eax),%eax
41ac38:	55                   	push   %ebp
41ac39:	8b ec                	mov    %esp,%ebp
41ac3b:	ff 75 0c             	push   0xc(%ebp)
41ac3e:	ff 75 08             	push   0x8(%ebp)
41ac41:	8b 10                	mov    (%eax),%edx
41ac43:	ff 52 08             	call   *0x8(%edx)
41ac46:	5d                   	pop    %ebp
41ac47:	c2 08 00             	ret    $0x8
41ac4a:	8b c0                	mov    %eax,%eax
41ac4c:	55                   	push   %ebp
41ac4d:	8b ec                	mov    %esp,%ebp
41ac4f:	8b c8                	mov    %eax,%ecx
41ac51:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
41ac55:	75 0b                	jne    0x41ac62
41ac57:	81 7d 08 00 00 00 80 	cmpl   $0x80000000,0x8(%ebp)
41ac5e:	72 17                	jb     0x41ac77
41ac60:	eb 02                	jmp    0x41ac64
41ac62:	7c 13                	jl     0x41ac77
41ac64:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41ac68:	75 0b                	jne    0x41ac75
41ac6a:	81 7d 08 ff ff ff 7f 	cmpl   $0x7fffffff,0x8(%ebp)
41ac71:	76 1b                	jbe    0x41ac8e
41ac73:	eb 02                	jmp    0x41ac77
41ac75:	7e 17                	jle    0x41ac8e
41ac77:	8b 0d 60 48 47 00    	mov    0x474860,%ecx
41ac7d:	b2 01                	mov    $0x1,%dl
41ac7f:	a1 c0 74 40 00       	mov    0x4074c0,%eax
41ac84:	e8 27 0f ff ff       	call   0x40bbb0
41ac89:	e8 fe 8d fe ff       	call   0x403a8c
41ac8e:	8b 45 08             	mov    0x8(%ebp),%eax
41ac91:	8b d0                	mov    %eax,%edx
41ac93:	8b c1                	mov    %ecx,%eax
41ac95:	8b 08                	mov    (%eax),%ecx
41ac97:	ff 51 04             	call   *0x4(%ecx)
41ac9a:	5d                   	pop    %ebp
41ac9b:	c2 08 00             	ret    $0x8
41ac9e:	8b c0                	mov    %eax,%eax
41aca0:	55                   	push   %ebp
41aca1:	8b ec                	mov    %esp,%ebp
41aca3:	81 c4 f8 fe ff ff    	add    $0xfffffef8,%esp
41aca9:	8d 95 f8 fe ff ff    	lea    -0x108(%ebp),%edx
41acaf:	8b 45 08             	mov    0x8(%ebp),%eax
41acb2:	8b 40 fc             	mov    -0x4(%eax),%eax
41acb5:	8b 00                	mov    (%eax),%eax
41acb7:	e8 54 85 fe ff       	call   0x403210
41acbc:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
41acc2:	89 45 f8             	mov    %eax,-0x8(%ebp)
41acc5:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
41acc9:	8d 45 f8             	lea    -0x8(%ebp),%eax
41accc:	50                   	push   %eax
41accd:	6a 00                	push   $0x0
41accf:	8b 0d a8 48 47 00    	mov    0x4748a8,%ecx
41acd5:	b2 01                	mov    $0x1,%dl
41acd7:	a1 80 5a 41 00       	mov    0x415a80,%eax
41acdc:	e8 0b 0f ff ff       	call   0x40bbec
41ace1:	e8 a6 8d fe ff       	call   0x403a8c
41ace6:	8b e5                	mov    %ebp,%esp
41ace8:	5d                   	pop    %ebp
41ace9:	c3                   	ret
41acea:	8b c0                	mov    %eax,%eax
41acec:	55                   	push   %ebp
41aced:	8b ec                	mov    %esp,%ebp
41acef:	83 c4 e0             	add    $0xffffffe0,%esp
41acf2:	53                   	push   %ebx
41acf3:	56                   	push   %esi
41acf4:	66 89 4d e6          	mov    %cx,-0x1a(%ebp)
41acf8:	8b f2                	mov    %edx,%esi
41acfa:	89 45 fc             	mov    %eax,-0x4(%ebp)
41acfd:	8d 5d e0             	lea    -0x20(%ebp),%ebx
41ad00:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ad03:	89 45 f4             	mov    %eax,-0xc(%ebp)
41ad06:	8b 00                	mov    (%eax),%eax
41ad08:	8b 40 18             	mov    0x18(%eax),%eax
41ad0b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41ad0e:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ad11:	e8 f2 84 fe ff       	call   0x403208
41ad16:	89 03                	mov    %eax,(%ebx)
41ad18:	eb 09                	jmp    0x41ad23
41ad1a:	8b 03                	mov    (%ebx),%eax
41ad1c:	e8 2b 85 fe ff       	call   0x40324c
41ad21:	89 03                	mov    %eax,(%ebx)
41ad23:	83 3b 00             	cmpl   $0x0,(%ebx)
41ad26:	74 0a                	je     0x41ad32
41ad28:	8b 03                	mov    (%ebx),%eax
41ad2a:	3b 05 98 66 41 00    	cmp    0x416698,%eax
41ad30:	75 e8                	jne    0x41ad1a
41ad32:	83 3b 00             	cmpl   $0x0,(%ebx)
41ad35:	75 07                	jne    0x41ad3e
41ad37:	55                   	push   %ebp
41ad38:	e8 63 ff ff ff       	call   0x41aca0
41ad3d:	59                   	pop    %ecx
41ad3e:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41ad41:	8b 03                	mov    (%ebx),%eax
41ad43:	8b 40 18             	mov    0x18(%eax),%eax
41ad46:	89 45 e8             	mov    %eax,-0x18(%ebp)
41ad49:	8b 45 f0             	mov    -0x10(%ebp),%eax
41ad4c:	3b 45 e8             	cmp    -0x18(%ebp),%eax
41ad4f:	75 07                	jne    0x41ad58
41ad51:	55                   	push   %ebp
41ad52:	e8 49 ff ff ff       	call   0x41aca0
41ad57:	59                   	pop    %ecx
41ad58:	8b c6                	mov    %esi,%eax
41ad5a:	99                   	cltd
41ad5b:	52                   	push   %edx
41ad5c:	50                   	push   %eax
41ad5d:	8a 55 e6             	mov    -0x1a(%ebp),%dl
41ad60:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ad63:	8b 08                	mov    (%eax),%ecx
41ad65:	ff 51 18             	call   *0x18(%ecx)
41ad68:	5e                   	pop    %esi
41ad69:	5b                   	pop    %ebx
41ad6a:	8b e5                	mov    %ebp,%esp
41ad6c:	5d                   	pop    %ebp
41ad6d:	c3                   	ret
41ad6e:	8b c0                	mov    %eax,%eax
41ad70:	55                   	push   %ebp
41ad71:	8b ec                	mov    %esp,%ebp
41ad73:	83 c4 f8             	add    $0xfffffff8,%esp
41ad76:	53                   	push   %ebx
41ad77:	56                   	push   %esi
41ad78:	8b da                	mov    %edx,%ebx
41ad7a:	8b f0                	mov    %eax,%esi
41ad7c:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
41ad80:	75 0b                	jne    0x41ad8d
41ad82:	81 7d 08 00 00 00 80 	cmpl   $0x80000000,0x8(%ebp)
41ad89:	72 17                	jb     0x41ada2
41ad8b:	eb 02                	jmp    0x41ad8f
41ad8d:	7c 13                	jl     0x41ada2
41ad8f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41ad93:	75 0b                	jne    0x41ada0
41ad95:	81 7d 08 ff ff ff 7f 	cmpl   $0x7fffffff,0x8(%ebp)
41ad9c:	76 1b                	jbe    0x41adb9
41ad9e:	eb 02                	jmp    0x41ada2
41ada0:	7e 17                	jle    0x41adb9
41ada2:	8b 0d 60 48 47 00    	mov    0x474860,%ecx
41ada8:	b2 01                	mov    $0x1,%dl
41adaa:	a1 c0 74 40 00       	mov    0x4074c0,%eax
41adaf:	e8 fc 0d ff ff       	call   0x40bbb0
41adb4:	e8 d3 8c fe ff       	call   0x403a8c
41adb9:	8b 45 08             	mov    0x8(%ebp),%eax
41adbc:	8b d0                	mov    %eax,%edx
41adbe:	33 c9                	xor    %ecx,%ecx
41adc0:	8a cb                	mov    %bl,%cl
41adc2:	8b c6                	mov    %esi,%eax
41adc4:	8b 18                	mov    (%eax),%ebx
41adc6:	ff 53 14             	call   *0x14(%ebx)
41adc9:	99                   	cltd
41adca:	89 45 f8             	mov    %eax,-0x8(%ebp)
41adcd:	89 55 fc             	mov    %edx,-0x4(%ebp)
41add0:	8b 45 f8             	mov    -0x8(%ebp),%eax
41add3:	8b 55 fc             	mov    -0x4(%ebp),%edx
41add6:	5e                   	pop    %esi
41add7:	5b                   	pop    %ebx
41add8:	59                   	pop    %ecx
41add9:	59                   	pop    %ecx
41adda:	5d                   	pop    %ebp
41addb:	c2 08 00             	ret    $0x8
41adde:	8b c0                	mov    %eax,%eax
41ade0:	53                   	push   %ebx
41ade1:	56                   	push   %esi
41ade2:	57                   	push   %edi
41ade3:	8b d9                	mov    %ecx,%ebx
41ade5:	8b fa                	mov    %edx,%edi
41ade7:	8b f0                	mov    %eax,%esi
41ade9:	85 db                	test   %ebx,%ebx
41adeb:	74 26                	je     0x41ae13
41aded:	8b d7                	mov    %edi,%edx
41adef:	8b cb                	mov    %ebx,%ecx
41adf1:	8b c6                	mov    %esi,%eax
41adf3:	8b 30                	mov    (%eax),%esi
41adf5:	ff 56 0c             	call   *0xc(%esi)
41adf8:	3b d8                	cmp    %eax,%ebx
41adfa:	74 17                	je     0x41ae13
41adfc:	8b 0d 50 48 47 00    	mov    0x474850,%ecx
41ae02:	b2 01                	mov    $0x1,%dl
41ae04:	a1 48 5c 41 00       	mov    0x415c48,%eax