50fdda:	8b 01                	mov    (%ecx),%eax
50fddc:	3b c7                	cmp    %edi,%eax
50fdde:	75 f7                	jne    0x50fdd7
50fde0:	8b 01                	mov    (%ecx),%eax
50fde2:	8b 40 10             	mov    0x10(%eax),%eax
50fde5:	89 01                	mov    %eax,(%ecx)
50fde7:	8b 45 08             	mov    0x8(%ebp),%eax
50fdea:	ff 48 30             	decl   0x30(%eax)
50fded:	8b 4f 1c             	mov    0x1c(%edi),%ecx
50fdf0:	8b 47 18             	mov    0x18(%edi),%eax
50fdf3:	89 41 18             	mov    %eax,0x18(%ecx)
50fdf6:	8b 4f 18             	mov    0x18(%edi),%ecx
50fdf9:	8b 47 1c             	mov    0x1c(%edi),%eax
50fdfc:	89 41 1c             	mov    %eax,0x1c(%ecx)
50fdff:	8b 47 14             	mov    0x14(%edi),%eax
50fe02:	c7 47 18 00 00 00 00 	movl   $0x0,0x18(%edi)
50fe09:	ff 48 2c             	decl   0x2c(%eax)
50fe0c:	8b 4f 14             	mov    0x14(%edi),%ecx
50fe0f:	8b 41 10             	mov    0x10(%ecx),%eax
50fe12:	3b 46 10             	cmp    0x10(%esi),%eax
50fe15:	74 63                	je     0x50fe7a
50fe17:	57                   	push   %edi
50fe18:	e8 33 01 00 00       	call   0x50ff50
50fe1d:	83 c4 04             	add    $0x4,%esp
50fe20:	33 c0                	xor    %eax,%eax
50fe22:	83 7d 10 01          	cmpl   $0x1,0x10(%ebp)
50fe26:	0f 94 c0             	sete   %al
50fe29:	50                   	push   %eax
50fe2a:	56                   	push   %esi
50fe2b:	e8 20 fd ff ff       	call   0x50fb50
50fe30:	8b f8                	mov    %eax,%edi
50fe32:	83 c4 08             	add    $0x8,%esp
50fe35:	85 ff                	test   %edi,%edi
50fe37:	74 3a                	je     0x50fe73
50fe39:	8b 4d 0c             	mov    0xc(%ebp),%ecx
50fe3c:	33 d2                	xor    %edx,%edx
50fe3e:	8b c1                	mov    %ecx,%eax
50fe40:	ff 46 30             	incl   0x30(%esi)
50fe43:	f7 76 34             	divl   0x34(%esi)
50fe46:	89 4f 08             	mov    %ecx,0x8(%edi)
50fe49:	8b 46 38             	mov    0x38(%esi),%eax
50fe4c:	8b 04 90             	mov    (%eax,%edx,4),%eax
50fe4f:	89 47 10             	mov    %eax,0x10(%edi)
50fe52:	8b 47 04             	mov    0x4(%edi),%eax
50fe55:	89 77 14             	mov    %esi,0x14(%edi)
50fe58:	c7 47 18 00 00 00 00 	movl   $0x0,0x18(%edi)
50fe5f:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
50fe65:	8b 46 38             	mov    0x38(%esi),%eax
50fe68:	89 3c 90             	mov    %edi,(%eax,%edx,4)
50fe6b:	3b 4e 24             	cmp    0x24(%esi),%ecx
50fe6e:	76 03                	jbe    0x50fe73
50fe70:	89 4e 24             	mov    %ecx,0x24(%esi)
50fe73:	8b c7                	mov    %edi,%eax
50fe75:	5f                   	pop    %edi
50fe76:	5e                   	pop    %esi
50fe77:	5b                   	pop    %ebx
50fe78:	5d                   	pop    %ebp
50fe79:	c3                   	ret
50fe7a:	8b 46 14             	mov    0x14(%esi),%eax
50fe7d:	2b 41 14             	sub    0x14(%ecx),%eax
50fe80:	01 43 10             	add    %eax,0x10(%ebx)
50fe83:	eb b4                	jmp    0x50fe39
50fe85:	cc                   	int3
50fe86:	cc                   	int3
50fe87:	cc                   	int3
50fe88:	cc                   	int3
50fe89:	cc                   	int3
50fe8a:	cc                   	int3
50fe8b:	cc                   	int3
50fe8c:	cc                   	int3
50fe8d:	cc                   	int3
50fe8e:	cc                   	int3
50fe8f:	cc                   	int3
50fe90:	55                   	push   %ebp
50fe91:	8b ec                	mov    %esp,%ebp
50fe93:	56                   	push   %esi
50fe94:	8b 75 08             	mov    0x8(%ebp),%esi
50fe97:	85 f6                	test   %esi,%esi
50fe99:	0f 84 ac 00 00 00    	je     0x50ff4b
50fe9f:	3b 35 d4 02 73 00    	cmp    0x7302d4,%esi
50fea5:	72 5f                	jb     0x50ff06
50fea7:	3b 35 d8 02 73 00    	cmp    0x7302d8,%esi
50fead:	73 57                	jae    0x50ff06
50feaf:	a1 dc 02 73 00       	mov    0x7302dc,%eax
50feb4:	85 c0                	test   %eax,%eax
50feb6:	74 0a                	je     0x50fec2
50feb8:	50                   	push   %eax
50feb9:	ff 15 60 18 72 00    	call   *0x721860
50febf:	83 c4 04             	add    $0x4,%esp
50fec2:	a1 e0 02 73 00       	mov    0x7302e0,%eax
50fec7:	ff 0d 24 00 73 00    	decl   0x730024
50fecd:	89 06                	mov    %eax,(%esi)
50fecf:	33 c0                	xor    %eax,%eax
50fed1:	8b 0d e4 02 73 00    	mov    0x7302e4,%ecx
50fed7:	41                   	inc    %ecx
50fed8:	89 35 e0 02 73 00    	mov    %esi,0x7302e0
50fede:	3b 0d d0 02 73 00    	cmp    0x7302d0,%ecx
50fee4:	89 0d e4 02 73 00    	mov    %ecx,0x7302e4
50feea:	0f 9c c0             	setl   %al
50feed:	a3 e8 02 73 00       	mov    %eax,0x7302e8
50fef2:	a1 dc 02 73 00       	mov    0x7302dc,%eax
50fef7:	85 c0                	test   %eax,%eax
50fef9:	74 50                	je     0x50ff4b
50fefb:	5e                   	pop    %esi
50fefc:	89 45 08             	mov    %eax,0x8(%ebp)
50feff:	5d                   	pop    %ebp
50ff00:	ff 25 68 18 72 00    	jmp    *0x721868
50ff06:	57                   	push   %edi
50ff07:	56                   	push   %esi
50ff08:	ff 15 3c 18 72 00    	call   *0x72183c
50ff0e:	8b 0d dc 02 73 00    	mov    0x7302dc,%ecx
50ff14:	83 c4 04             	add    $0x4,%esp
50ff17:	8b f8                	mov    %eax,%edi
50ff19:	85 c9                	test   %ecx,%ecx
50ff1b:	74 10                	je     0x50ff2d
50ff1d:	51                   	push   %ecx
50ff1e:	ff 15 60 18 72 00    	call   *0x721860
50ff24:	8b 0d dc 02 73 00    	mov    0x7302dc,%ecx
50ff2a:	83 c4 04             	add    $0x4,%esp
50ff2d:	29 3d 28 00 73 00    	sub    %edi,0x730028
50ff33:	5f                   	pop    %edi
50ff34:	85 c9                	test   %ecx,%ecx
50ff36:	74 0a                	je     0x50ff42
50ff38:	51                   	push   %ecx
50ff39:	ff 15 68 18 72 00    	call   *0x721868
50ff3f:	83 c4 04             	add    $0x4,%esp
50ff42:	56                   	push   %esi
50ff43:	e8 48 ae fd ff       	call   0x4ead90
50ff48:	83 c4 04             	add    $0x4,%esp
50ff4b:	5e                   	pop    %esi
50ff4c:	5d                   	pop    %ebp
50ff4d:	c3                   	ret
50ff4e:	cc                   	int3
50ff4f:	cc                   	int3
50ff50:	55                   	push   %ebp
50ff51:	8b ec                	mov    %esp,%ebp
50ff53:	8b 4d 08             	mov    0x8(%ebp),%ecx
50ff56:	56                   	push   %esi
50ff57:	66 83 79 0c 00       	cmpw   $0x0,0xc(%ecx)
50ff5c:	8b 71 14             	mov    0x14(%ecx),%esi
50ff5f:	74 11                	je     0x50ff72
50ff61:	8b 46 3c             	mov    0x3c(%esi),%eax
50ff64:	89 41 10             	mov    %eax,0x10(%ecx)
50ff67:	8b 46 04             	mov    0x4(%esi),%eax
50ff6a:	89 4e 3c             	mov    %ecx,0x3c(%esi)
50ff6d:	5e                   	pop    %esi
50ff6e:	ff 08                	decl   (%eax)
50ff70:	5d                   	pop    %ebp
50ff71:	c3                   	ret
50ff72:	ff 31                	push   (%ecx)
50ff74:	e8 17 ff ff ff       	call   0x50fe90
50ff79:	8b 46 04             	mov    0x4(%esi),%eax
50ff7c:	83 c4 04             	add    $0x4,%esp
50ff7f:	ff 08                	decl   (%eax)
50ff81:	5e                   	pop    %esi
50ff82:	5d                   	pop    %ebp
50ff83:	c3                   	ret
50ff84:	cc                   	int3
50ff85:	cc                   	int3
50ff86:	cc                   	int3
50ff87:	cc                   	int3
50ff88:	cc                   	int3
50ff89:	cc                   	int3
50ff8a:	cc                   	int3
50ff8b:	cc                   	int3
50ff8c:	cc                   	int3
50ff8d:	cc                   	int3
50ff8e:	cc                   	int3
50ff8f:	cc                   	int3
50ff90:	cc                   	int3
50ff91:	cc                   	int3
50ff92:	cc                   	int3
50ff93:	cc                   	int3
50ff94:	cc                   	int3
50ff95:	cc                   	int3
50ff96:	cc                   	int3
50ff97:	cc                   	int3
50ff98:	cc                   	int3
50ff99:	cc                   	int3
50ff9a:	cc                   	int3
50ff9b:	cc                   	int3
50ff9c:	cc                   	int3
50ff9d:	cc                   	int3
50ff9e:	cc                   	int3
50ff9f:	cc                   	int3
50ffa0:	55                   	push   %ebp
50ffa1:	8b ec                	mov    %esp,%ebp
50ffa3:	a1 c4 02 73 00       	mov    0x7302c4,%eax
50ffa8:	85 c0                	test   %eax,%eax
50ffaa:	75 02                	jne    0x50ffae
50ffac:	5d                   	pop    %ebp
50ffad:	c3                   	ret
50ffae:	56                   	push   %esi
50ffaf:	8b 75 08             	mov    0x8(%ebp),%esi
50ffb2:	83 7e 1c 03          	cmpl   $0x3,0x1c(%esi)
50ffb6:	73 05                	jae    0x50ffbd
50ffb8:	33 c0                	xor    %eax,%eax
50ffba:	5e                   	pop    %esi
50ffbb:	5d                   	pop    %ebp
50ffbc:	c3                   	ret
50ffbd:	8b 0d 70 00 73 00    	mov    0x730070,%ecx
50ffc3:	85 c9                	test   %ecx,%ecx
50ffc5:	74 07                	je     0x50ffce
50ffc7:	ff d1                	call   *%ecx
50ffc9:	a1 c4 02 73 00       	mov    0x7302c4,%eax
50ffce:	53                   	push   %ebx
50ffcf:	57                   	push   %edi
50ffd0:	85 c0                	test   %eax,%eax
50ffd2:	7e 05                	jle    0x50ffd9
50ffd4:	f7 6e 10             	imull  0x10(%esi)
50ffd7:	eb 07                	jmp    0x50ffe0
50ffd9:	b9 00 fc ff ff       	mov    $0xfffffc00,%ecx
50ffde:	f7 e9                	imul   %ecx
50ffe0:	6a 00                	push   $0x0
50ffe2:	ff 76 1c             	push   0x1c(%esi)
50ffe5:	8b f8                	mov    %eax,%edi
50ffe7:	8b da                	mov    %edx,%ebx
50ffe9:	8b 46 10             	mov    0x10(%esi),%eax
50ffec:	99                   	cltd
50ffed:	52                   	push   %edx
50ffee:	50                   	push   %eax
50ffef:	e8 0c 1b 0d 00       	call   0x5e1b00
50fff4:	3b da                	cmp    %edx,%ebx
50fff6:	7c 0a                	jl     0x510002
50fff8:	7f 04                	jg     0x50fffe
50fffa:	3b f8                	cmp    %eax,%edi
50fffc:	76 04                	jbe    0x510002
50fffe:	8b f8                	mov    %eax,%edi
510000:	8b da                	mov    %edx,%ebx
510002:	53                   	push   %ebx
510003:	57                   	push   %edi
510004:	e8 57 0f 02 00       	call   0x530f60
510009:	8b f8                	mov    %eax,%edi
51000b:	83 c4 08             	add    $0x8,%esp
51000e:	a1 74 00 73 00       	mov    0x730074,%eax
510013:	89 7e 40             	mov    %edi,0x40(%esi)
510016:	85 c0                	test   %eax,%eax
510018:	74 02                	je     0x51001c
51001a:	ff d0                	call   *%eax
51001c:	85 ff                	test   %edi,%edi
51001e:	74 3c                	je     0x51005c
510020:	57                   	push   %edi
510021:	ff 15 3c 18 72 00    	call   *0x72183c
510027:	99                   	cltd
510028:	83 c4 04             	add    $0x4,%esp
51002b:	f7 7e 10             	idivl  0x10(%esi)
51002e:	8b d0                	mov    %eax,%edx
510030:	8b 4e 08             	mov    0x8(%esi),%ecx
510033:	03 cf                	add    %edi,%ecx
510035:	8d 41 20             	lea    0x20(%ecx),%eax
510038:	89 39                	mov    %edi,(%ecx)
51003a:	89 41 04             	mov    %eax,0x4(%ecx)
51003d:	c7 41 0c 01 00 00 00 	movl   $0x1,0xc(%ecx)
510044:	8b 46 3c             	mov    0x3c(%esi),%eax
510047:	89 41 10             	mov    %eax,0x10(%ecx)
51004a:	c7 41 1c 00 00 00 00 	movl   $0x0,0x1c(%ecx)
510051:	03 7e 10             	add    0x10(%esi),%edi
510054:	89 4e 3c             	mov    %ecx,0x3c(%esi)
510057:	83 ea 01             	sub    $0x1,%edx
51005a:	75 d4                	jne    0x510030
51005c:	33 c0                	xor    %eax,%eax
51005e:	39 46 3c             	cmp    %eax,0x3c(%esi)
510061:	5f                   	pop    %edi
510062:	5b                   	pop    %ebx
510063:	0f 95 c0             	setne  %al
510066:	5e                   	pop    %esi
510067:	5d                   	pop    %ebp
510068:	c3                   	ret
510069:	cc                   	int3
51006a:	cc                   	int3
51006b:	cc                   	int3
51006c:	cc                   	int3
51006d:	cc                   	int3
51006e:	cc                   	int3
51006f:	cc                   	int3
510070:	55                   	push   %ebp
510071:	8b ec                	mov    %esp,%ebp
510073:	83 ec 0c             	sub    $0xc,%esp
510076:	53                   	push   %ebx
510077:	8b 5d 08             	mov    0x8(%ebp),%ebx
51007a:	b9 00 01 00 00       	mov    $0x100,%ecx
51007f:	56                   	push   %esi
510080:	57                   	push   %edi
510081:	8b 43 34             	mov    0x34(%ebx),%eax
510084:	8d 34 00             	lea    (%eax,%eax,1),%esi
510087:	3b f1                	cmp    %ecx,%esi
510089:	0f 42 f1             	cmovb  %ecx,%esi
51008c:	89 75 f8             	mov    %esi,-0x8(%ebp)
51008f:	85 c0                	test   %eax,%eax
510091:	74 0b                	je     0x51009e
510093:	a1 70 00 73 00       	mov    0x730070,%eax
510098:	85 c0                	test   %eax,%eax
51009a:	74 02                	je     0x51009e
51009c:	ff d0                	call   *%eax
51009e:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
5100a5:	6a 00                	push   $0x0
5100a7:	50                   	push   %eax
5100a8:	e8 b3 0e 02 00       	call   0x530f60
5100ad:	8b f8                	mov    %eax,%edi
5100af:	83 c4 08             	add    $0x8,%esp
5100b2:	89 7d f4             	mov    %edi,-0xc(%ebp)
5100b5:	85 ff                	test   %edi,%edi
5100b7:	74 13                	je     0x5100cc
5100b9:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
5100c0:	50                   	push   %eax
5100c1:	6a 00                	push   $0x0
5100c3:	57                   	push   %edi
5100c4:	e8 37 39 0d 00       	call   0x5e3a00
5100c9:	83 c4 0c             	add    $0xc,%esp
5100cc:	83 7b 34 00          	cmpl   $0x0,0x34(%ebx)
5100d0:	74 0b                	je     0x5100dd
5100d2:	a1 74 00 73 00       	mov    0x730074,%eax
5100d7:	85 c0                	test   %eax,%eax
5100d9:	74 02                	je     0x5100dd
5100db:	ff d0                	call   *%eax
5100dd:	85 ff                	test   %edi,%edi
5100df:	0f 84 bc 00 00 00    	je     0x5101a1
5100e5:	33 ff                	xor    %edi,%edi
5100e7:	89 7d fc             	mov    %edi,-0x4(%ebp)
5100ea:	39 7b 34             	cmp    %edi,0x34(%ebx)
5100ed:	76 3c                	jbe    0x51012b
5100ef:	90                   	nop
5100f0:	8b 4b 38             	mov    0x38(%ebx),%ecx
5100f3:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
5100f6:	85 c9                	test   %ecx,%ecx
5100f8:	74 25                	je     0x51011f
5100fa:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5100fd:	8b 7d f4             	mov    -0xc(%ebp),%edi
510100:	8b 41 08             	mov    0x8(%ecx),%eax
510103:	33 d2                	xor    %edx,%edx
510105:	f7 f3                	div    %ebx
510107:	8b 71 10             	mov    0x10(%ecx),%esi
51010a:	8b 04 97             	mov    (%edi,%edx,4),%eax
51010d:	89 41 10             	mov    %eax,0x10(%ecx)
510110:	89 0c 97             	mov    %ecx,(%edi,%edx,4)
510113:	8b ce                	mov    %esi,%ecx
510115:	85 f6                	test   %esi,%esi
510117:	75 e7                	jne    0x510100
510119:	8b 7d fc             	mov    -0x4(%ebp),%edi
51011c:	8b 5d 08             	mov    0x8(%ebp),%ebx
51011f:	47                   	inc    %edi
510120:	89 7d fc             	mov    %edi,-0x4(%ebp)
510123:	3b 7b 34             	cmp    0x34(%ebx),%edi
510126:	72 c8                	jb     0x5100f0
510128:	8b 75 f8             	mov    -0x8(%ebp),%esi
51012b:	8b 7b 38             	mov    0x38(%ebx),%edi
51012e:	85 ff                	test   %edi,%edi
510130:	74 66                	je     0x510198
510132:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
510139:	74 53                	je     0x51018e