41b5d0:	c1 e8 10             	shr    $0x10,%eax
41b5d3:	50                   	push   %eax
41b5d4:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
41b5d8:	50                   	push   %eax
41b5d9:	eb 0e                	jmp    0x41b5e9
41b5db:	0f bf c6             	movswl %si,%eax
41b5de:	c1 ee 10             	shr    $0x10,%esi
41b5e1:	0f bf ce             	movswl %si,%ecx
41b5e4:	51                   	push   %ecx
41b5e5:	50                   	push   %eax
41b5e6:	ff 75 0c             	push   0xc(%ebp)
41b5e9:	8b cf                	mov    %edi,%ecx
41b5eb:	ff d3                	call   *%ebx
41b5ed:	eb 4e                	jmp    0x41b63d
41b5ef:	56                   	push   %esi
41b5f0:	8b cf                	mov    %edi,%ecx
41b5f2:	ff 75 0c             	push   0xc(%ebp)
41b5f5:	ff d3                	call   *%ebx
41b5f7:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
41b5fe:	eb 3d                	jmp    0x41b63d
41b600:	0f b7 c6             	movzwl %si,%eax
41b603:	c1 ee 10             	shr    $0x10,%esi
41b606:	56                   	push   %esi
41b607:	50                   	push   %eax
41b608:	8b 45 0c             	mov    0xc(%ebp),%eax
41b60b:	8b cf                	mov    %edi,%ecx
41b60d:	c1 e8 10             	shr    $0x10,%eax
41b610:	50                   	push   %eax
41b611:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
41b615:	50                   	push   %eax
41b616:	ff d3                	call   *%ebx
41b618:	89 45 f0             	mov    %eax,-0x10(%ebp)
41b61b:	85 c0                	test   %eax,%eax
41b61d:	75 1e                	jne    0x41b63d
41b61f:	e9 01 fd ff ff       	jmp    0x41b325
41b624:	6a 07                	push   $0x7
41b626:	89 43 04             	mov    %eax,0x4(%ebx)
41b629:	e8 7a 9e 00 00       	call   0x4254a8
41b62e:	8b 5d 10             	mov    0x10(%ebp),%ebx
41b631:	56                   	push   %esi
41b632:	8b cf                	mov    %edi,%ecx
41b634:	ff 75 0c             	push   0xc(%ebp)
41b637:	ff 53 14             	call   *0x14(%ebx)
41b63a:	89 45 f0             	mov    %eax,-0x10(%ebp)
41b63d:	8b 45 14             	mov    0x14(%ebp),%eax
41b640:	85 c0                	test   %eax,%eax
41b642:	74 05                	je     0x41b649
41b644:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41b647:	89 08                	mov    %ecx,(%eax)
41b649:	6a 01                	push   $0x1
41b64b:	58                   	pop    %eax
41b64c:	e9 d6 fc ff ff       	jmp    0x41b327
41b651:	77 b3                	ja     0x41b606
41b653:	41                   	inc    %ecx
41b654:	00 85 b3 41 00 66    	add    %al,0x660041b3(%ebp)
41b65a:	b4 41                	mov    $0x41,%ah
41b65c:	00 99 b3 41 00 0f    	add    %bl,0xf0041b3(%ecx)
41b662:	b4 41                	mov    $0x41,%ah
41b664:	00 47 b4             	add    %al,-0x4c(%edi)
41b667:	41                   	inc    %ecx
41b668:	00 56 b4             	add    %dl,-0x4c(%esi)
41b66b:	41                   	inc    %ecx
41b66c:	00 66 b4             	add    %ah,-0x4c(%esi)
41b66f:	41                   	inc    %ecx
41b670:	00 7a b4             	add    %bh,-0x4c(%edx)
41b673:	41                   	inc    %ecx
41b674:	00 9b b5 41 00 84    	add    %bl,-0x7bffbe4b(%ebx)
41b67a:	b4 41                	mov    $0x41,%ah
41b67c:	00 a0 b4 41 00 a9    	add    %ah,-0x56ffbe4c(%eax)
41b682:	b4 41                	mov    $0x41,%ah
41b684:	00 bb b5 41 00 b1    	add    %bh,-0x4effbe4b(%ebx)
41b68a:	b4 41                	mov    $0x41,%ah
41b68c:	00 c2                	add    %al,%dl
41b68e:	b4 41                	mov    $0x41,%ah
41b690:	00 c2                	add    %al,%dl
41b692:	b4 41                	mov    $0x41,%ah
41b694:	00 bb b5 41 00 d0    	add    %bh,-0x2fffbe4b(%ebx)
41b69a:	b4 41                	mov    $0x41,%ah
41b69c:	00 ed                	add    %ch,%ch
41b69e:	b4 41                	mov    $0x41,%ah
41b6a0:	00 f7                	add    %dh,%bh
41b6a2:	b4 41                	mov    $0x41,%ah
41b6a4:	00 01                	add    %al,(%ecx)
41b6a6:	b5 41                	mov    $0x41,%ch
41b6a8:	00 18                	add    %bl,(%eax)
41b6aa:	b5 41                	mov    $0x41,%ch
41b6ac:	00 29                	add    %ch,(%ecx)
41b6ae:	b5 41                	mov    $0x41,%ch
41b6b0:	00 34 b5 41 00 4c b5 	add    %dh,-0x4ab3ffbf(,%esi,4)
41b6b7:	41                   	inc    %ecx
41b6b8:	00 58 b5             	add    %bl,-0x4b(%eax)
41b6bb:	41                   	inc    %ecx
41b6bc:	00 61 b5             	add    %ah,-0x4b(%ecx)
41b6bf:	41                   	inc    %ecx
41b6c0:	00 70 b5             	add    %dh,-0x4b(%eax)
41b6c3:	41                   	inc    %ecx
41b6c4:	00 70 b5             	add    %dh,-0x4b(%eax)
41b6c7:	41                   	inc    %ecx
41b6c8:	00 c5                	add    %al,%ch
41b6ca:	b5 41                	mov    $0x41,%ch
41b6cc:	00 ef                	add    %ch,%bh
41b6ce:	b5 41                	mov    $0x41,%ch
41b6d0:	00 9b b5 41 00 a1    	add    %bl,-0x5effbe4b(%ebx)
41b6d6:	b5 41                	mov    $0x41,%ch
41b6d8:	00 b5 b5 41 00 c5    	add    %dh,-0x3affbe4b(%ebp)
41b6de:	b5 41                	mov    $0x41,%ch
41b6e0:	00 bb b5 41 00 3d    	add    %bh,0x3d0041b5(%ebx)
41b6e6:	b6 41                	mov    $0x41,%dh
41b6e8:	00 3d b6 41 00 3d    	add    %bh,0x3d0041b6
41b6ee:	b6 41                	mov    $0x41,%dh
41b6f0:	00 3d b6 41 00 7a    	add    %bh,0x7a0041b6
41b6f6:	b4 41                	mov    $0x41,%ah
41b6f8:	00 ef                	add    %ch,%bh
41b6fa:	b5 41                	mov    $0x41,%ch
41b6fc:	00 1d b5 41 00 8d    	add    %bl,0x8d0041b5
41b702:	b3 41                	mov    $0x41,%bl
41b704:	00 00                	add    %al,(%eax)
41b706:	b6 41                	mov    $0x41,%dh
41b708:	00 bb b5 41 00 cc    	add    %bh,-0x33ffbe4b(%ebx)
41b70e:	b5 41                	mov    $0x41,%ch
41b710:	00 db                	add    %bl,%bl
41b712:	b5 41                	mov    $0x41,%ch
41b714:	00 56 8b             	add    %dl,-0x75(%esi)
41b717:	f1                   	int1
41b718:	e8 43 25 00 00       	call   0x41dc60
41b71d:	c7 06 44 9e 42 00    	movl   $0x429e44,(%esi)
41b723:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
41b72a:	8b c6                	mov    %esi,%eax
41b72c:	5e                   	pop    %esi
41b72d:	c3                   	ret
41b72e:	8b 44 24 04          	mov    0x4(%esp),%eax
41b732:	c7 41 18 01 00 00 00 	movl   $0x1,0x18(%ecx)
41b739:	89 41 28             	mov    %eax,0x28(%ecx)
41b73c:	c2 04 00             	ret    $0x4
41b73f:	c2 04 00             	ret    $0x4
41b742:	c2 04 00             	ret    $0x4
41b745:	c2 04 00             	ret    $0x4
41b748:	55                   	push   %ebp
41b749:	8b ec                	mov    %esp,%ebp
41b74b:	83 ec 2c             	sub    $0x2c,%esp
41b74e:	8b 45 08             	mov    0x8(%ebp),%eax
41b751:	53                   	push   %ebx
41b752:	56                   	push   %esi
41b753:	57                   	push   %edi
41b754:	0f b7 f8             	movzwl %ax,%edi
41b757:	33 db                	xor    %ebx,%ebx
41b759:	8b f1                	mov    %ecx,%esi
41b75b:	c1 e8 10             	shr    $0x10,%eax
41b75e:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
41b761:	89 45 08             	mov    %eax,0x8(%ebp)
41b764:	75 3a                	jne    0x41b7a0
41b766:	3b fb                	cmp    %ebx,%edi
41b768:	74 66                	je     0x41b7d0
41b76a:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41b76d:	e8 a3 ff ff ff       	call   0x41b715
41b772:	8b 06                	mov    (%esi),%eax
41b774:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41b777:	53                   	push   %ebx
41b778:	51                   	push   %ecx
41b779:	6a ff                	push   $0xffffffff
41b77b:	57                   	push   %edi
41b77c:	8b ce                	mov    %esi,%ecx
41b77e:	89 7d d8             	mov    %edi,-0x28(%ebp)
41b781:	ff 50 14             	call   *0x14(%eax)
41b784:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
41b787:	74 3e                	je     0x41b7c7
41b789:	89 5d 08             	mov    %ebx,0x8(%ebp)
41b78c:	8b 06                	mov    (%esi),%eax
41b78e:	53                   	push   %ebx
41b78f:	53                   	push   %ebx
41b790:	8b ce                	mov    %esi,%ecx
41b792:	ff 75 08             	push   0x8(%ebp)
41b795:	57                   	push   %edi
41b796:	ff 50 14             	call   *0x14(%eax)
41b799:	5f                   	pop    %edi
41b79a:	5e                   	pop    %esi
41b79b:	5b                   	pop    %ebx
41b79c:	c9                   	leave
41b79d:	c2 08 00             	ret    $0x8
41b7a0:	68 ce b1 40 00       	push   $0x40b1ce
41b7a5:	b9 b4 6a 43 00       	mov    $0x436ab4,%ecx
41b7aa:	e8 df 98 00 00       	call   0x42508e
41b7af:	8b 80 b8 00 00 00    	mov    0xb8(%eax),%eax
41b7b5:	3b 46 1c             	cmp    0x1c(%esi),%eax
41b7b8:	74 0d                	je     0x41b7c7
41b7ba:	53                   	push   %ebx
41b7bb:	ff 75 0c             	push   0xc(%ebp)
41b7be:	e8 65 07 00 00       	call   0x41bf28
41b7c3:	85 c0                	test   %eax,%eax
41b7c5:	74 05                	je     0x41b7cc
41b7c7:	6a 01                	push   $0x1
41b7c9:	58                   	pop    %eax
41b7ca:	eb cd                	jmp    0x41b799
41b7cc:	3b fb                	cmp    %ebx,%edi
41b7ce:	75 bc                	jne    0x41b78c
41b7d0:	33 c0                	xor    %eax,%eax
41b7d2:	eb c5                	jmp    0x41b799
41b7d4:	55                   	push   %ebp
41b7d5:	8b ec                	mov    %esp,%ebp
41b7d7:	83 ec 0c             	sub    $0xc,%esp
41b7da:	53                   	push   %ebx
41b7db:	56                   	push   %esi
41b7dc:	8b 75 0c             	mov    0xc(%ebp),%esi
41b7df:	57                   	push   %edi
41b7e0:	8b f9                	mov    %ecx,%edi
41b7e2:	8b 1e                	mov    (%esi),%ebx
41b7e4:	53                   	push   %ebx
41b7e5:	ff 15 d8 98 43 00    	call   *0x4398d8
41b7eb:	0f b7 c0             	movzwl %ax,%eax
41b7ee:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b7f1:	8b 46 08             	mov    0x8(%esi),%eax
41b7f4:	68 ce b1 40 00       	push   $0x40b1ce
41b7f9:	b9 b4 6a 43 00       	mov    $0x436ab4,%ecx
41b7fe:	89 45 0c             	mov    %eax,0xc(%ebp)
41b801:	e8 88 98 00 00       	call   0x42508e
41b806:	8b 80 b8 00 00 00    	mov    0xb8(%eax),%eax
41b80c:	3b 47 1c             	cmp    0x1c(%edi),%eax
41b80f:	74 0d                	je     0x41b81e
41b811:	ff 75 10             	push   0x10(%ebp)
41b814:	53                   	push   %ebx
41b815:	e8 0e 07 00 00       	call   0x41bf28
41b81a:	85 c0                	test   %eax,%eax
41b81c:	74 05                	je     0x41b823
41b81e:	6a 01                	push   $0x1
41b820:	58                   	pop    %eax
41b821:	eb 24                	jmp    0x41b847
41b823:	8b 45 10             	mov    0x10(%ebp),%eax
41b826:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41b829:	6a 00                	push   $0x0
41b82b:	51                   	push   %ecx
41b82c:	0f b7 4d 0c          	movzwl 0xc(%ebp),%ecx
41b830:	81 c9 00 00 4e 00    	or     $0x4e0000,%ecx
41b836:	89 45 f4             	mov    %eax,-0xc(%ebp)
41b839:	8b 07                	mov    (%edi),%eax
41b83b:	51                   	push   %ecx
41b83c:	ff 75 fc             	push   -0x4(%ebp)
41b83f:	8b cf                	mov    %edi,%ecx
41b841:	89 75 f8             	mov    %esi,-0x8(%ebp)
41b844:	ff 50 14             	call   *0x14(%eax)
41b847:	5f                   	pop    %edi
41b848:	5e                   	pop    %esi
41b849:	5b                   	pop    %ebx
41b84a:	c9                   	leave
41b84b:	c2 0c 00             	ret    $0xc
41b84e:	56                   	push   %esi
41b84f:	57                   	push   %edi
41b850:	85 c9                	test   %ecx,%ecx
41b852:	75 04                	jne    0x41b858
41b854:	33 c0                	xor    %eax,%eax
41b856:	eb 03                	jmp    0x41b85b
41b858:	8b 41 1c             	mov    0x1c(%ecx),%eax
41b85b:	85 c0                	test   %eax,%eax
41b85d:	74 2e                	je     0x41b88d
41b85f:	ff 71 1c             	push   0x1c(%ecx)
41b862:	8b 3d a8 98 43 00    	mov    0x4398a8,%edi
41b868:	ff d7                	call   *%edi
41b86a:	50                   	push   %eax
41b86b:	e8 50 ea ff ff       	call   0x41a2c0
41b870:	8b f0                	mov    %eax,%esi
41b872:	85 f6                	test   %esi,%esi
41b874:	74 17                	je     0x41b88d
41b876:	8b 06                	mov    (%esi),%eax
41b878:	8b ce                	mov    %esi,%ecx
41b87a:	ff 90 b8 00 00 00    	call   *0xb8(%eax)
41b880:	85 c0                	test   %eax,%eax
41b882:	75 05                	jne    0x41b889
41b884:	ff 76 1c             	push   0x1c(%esi)
41b887:	eb df                	jmp    0x41b868
41b889:	8b c6                	mov    %esi,%eax
41b88b:	eb 02                	jmp    0x41b88f
41b88d:	33 c0                	xor    %eax,%eax
41b88f:	5f                   	pop    %edi
41b890:	5e                   	pop    %esi
41b891:	c3                   	ret
41b892:	56                   	push   %esi
41b893:	8b 74 24 08          	mov    0x8(%esp),%esi
41b897:	56                   	push   %esi
41b898:	e8 4b ea ff ff       	call   0x41a2e8
41b89d:	85 c0                	test   %eax,%eax
41b89f:	74 10                	je     0x41b8b1
41b8a1:	8b c8                	mov    %eax,%ecx
41b8a3:	e8 73 f9 fe ff       	call   0x40b21b
41b8a8:	85 c0                	test   %eax,%eax
41b8aa:	74 27                	je     0x41b8d3
41b8ac:	8b 40 1c             	mov    0x1c(%eax),%eax
41b8af:	eb 22                	jmp    0x41b8d3
41b8b1:	6a f0                	push   $0xfffffff0
41b8b3:	56                   	push   %esi
41b8b4:	ff 15 20 99 43 00    	call   *0x439920
41b8ba:	a9 00 00 00 40       	test   $0x40000000,%eax
41b8bf:	74 09                	je     0x41b8ca
41b8c1:	56                   	push   %esi
41b8c2:	ff 15 a8 98 43 00    	call   *0x4398a8
41b8c8:	eb 09                	jmp    0x41b8d3
41b8ca:	6a 04                	push   $0x4
41b8cc:	56                   	push   %esi
41b8cd:	ff 15 34 99 43 00    	call   *0x439934
41b8d3:	5e                   	pop    %esi
41b8d4:	c2 04 00             	ret    $0x4
41b8d7:	85 c9                	test   %ecx,%ecx
41b8d9:	56                   	push   %esi
41b8da:	75 04                	jne    0x41b8e0
41b8dc:	33 c0                	xor    %eax,%eax
41b8de:	eb 03                	jmp    0x41b8e3
41b8e0:	8b 41 1c             	mov    0x1c(%ecx),%eax
41b8e3:	85 c0                	test   %eax,%eax
41b8e5:	75 02                	jne    0x41b8e9
41b8e7:	5e                   	pop    %esi
41b8e8:	c3                   	ret
41b8e9:	8b 71 1c             	mov    0x1c(%ecx),%esi
41b8ec:	56                   	push   %esi
41b8ed:	e8 a0 ff ff ff       	call   0x41b892
41b8f2:	85 c0                	test   %eax,%eax
41b8f4:	74 05                	je     0x41b8fb
41b8f6:	8b f0                	mov    %eax,%esi
41b8f8:	50                   	push   %eax
41b8f9:	eb f2                	jmp    0x41b8ed
41b8fb:	56                   	push   %esi
41b8fc:	e8 bf e9 ff ff       	call   0x41a2c0
41b901:	5e                   	pop    %esi
41b902:	c3                   	ret
41b903:	56                   	push   %esi
41b904:	8b f1                	mov    %ecx,%esi
41b906:	85 f6                	test   %esi,%esi
41b908:	75 04                	jne    0x41b90e
41b90a:	33 c0                	xor    %eax,%eax
41b90c:	eb 03                	jmp    0x41b911
41b90e:	8b 46 1c             	mov    0x1c(%esi),%eax
41b911:	85 c0                	test   %eax,%eax
41b913:	75 02                	jne    0x41b917
41b915:	5e                   	pop    %esi
41b916:	c3                   	ret
41b917:	8b 06                	mov    (%esi),%eax
41b919:	8b ce                	mov    %esi,%ecx
41b91b:	ff 90 b8 00 00 00    	call   *0xb8(%eax)
41b921:	85 c0                	test   %eax,%eax
41b923:	75 09                	jne    0x41b92e
41b925:	8b ce                	mov    %esi,%ecx
41b927:	e8 22 ff ff ff       	call   0x41b84e
41b92c:	8b f0                	mov    %eax,%esi
41b92e:	85 f6                	test   %esi,%esi
41b930:	74 11                	je     0x41b943
41b932:	8b ce                	mov    %esi,%ecx
41b934:	e8 15 ff ff ff       	call   0x41b84e
41b939:	85 c0                	test   %eax,%eax
41b93b:	74 06                	je     0x41b943
41b93d:	8b f0                	mov    %eax,%esi
41b93f:	8b c8                	mov    %eax,%ecx
41b941:	eb f1                	jmp    0x41b934
41b943:	8b c6                	mov    %esi,%eax