744eb0:	89 45 58             	mov    %eax,0x58(%ebp)
744eb3:	53                   	push   %ebx
744eb4:	56                   	push   %esi
744eb5:	57                   	push   %edi
744eb6:	50                   	push   %eax
744eb7:	8d 45 f4             	lea    -0xc(%ebp),%eax
744eba:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
744ec0:	8b 7d 68             	mov    0x68(%ebp),%edi
744ec3:	8b 45 64             	mov    0x64(%ebp),%eax
744ec6:	8b 5d 6c             	mov    0x6c(%ebp),%ebx
744ec9:	8b 75 70             	mov    0x70(%ebp),%esi
744ecc:	8b 17                	mov    (%edi),%edx
744ece:	89 45 18             	mov    %eax,0x18(%ebp)
744ed1:	8b 47 04             	mov    0x4(%edi),%eax
744ed4:	89 7d cc             	mov    %edi,-0x34(%ebp)
744ed7:	89 5d 2c             	mov    %ebx,0x2c(%ebp)
744eda:	85 c0                	test   %eax,%eax
744edc:	74 13                	je     0x744ef1
744ede:	8d 48 ff             	lea    -0x1(%eax),%ecx
744ee1:	8d 0c 8a             	lea    (%edx,%ecx,4),%ecx
744ee4:	83 39 00             	cmpl   $0x0,(%ecx)
744ee7:	75 08                	jne    0x744ef1
744ee9:	83 e9 04             	sub    $0x4,%ecx
744eec:	83 e8 01             	sub    $0x1,%eax
744eef:	75 f3                	jne    0x744ee4
744ef1:	33 c9                	xor    %ecx,%ecx
744ef3:	85 c0                	test   %eax,%eax
744ef5:	74 0b                	je     0x744f02
744ef7:	83 3c 8a 00          	cmpl   $0x0,(%edx,%ecx,4)
744efb:	75 1b                	jne    0x744f18
744efd:	41                   	inc    %ecx
744efe:	3b c8                	cmp    %eax,%ecx
744f00:	75 f5                	jne    0x744ef7
744f02:	8d 4d 34             	lea    0x34(%ebp),%ecx
744f05:	e8 34 5e cd ff       	call   0x41ad3e
744f0a:	68 a8 98 d1 00       	push   $0xd198a8
744f0f:	8d 45 34             	lea    0x34(%ebp),%eax
744f12:	50                   	push   %eax
744f13:	e8 77 8a cd ff       	call   0x41d98f
744f18:	57                   	push   %edi
744f19:	8d 4d e0             	lea    -0x20(%ebp),%ecx
744f1c:	e8 54 c9 cb ff       	call   0x401875
744f21:	8b 7d e4             	mov    -0x1c(%ebp),%edi
744f24:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
744f2b:	89 7d 30             	mov    %edi,0x30(%ebp)
744f2e:	85 ff                	test   %edi,%edi
744f30:	74 1e                	je     0x744f50
744f32:	8b 45 e0             	mov    -0x20(%ebp),%eax
744f35:	8d 04 b8             	lea    (%eax,%edi,4),%eax
744f38:	83 c0 fc             	add    $0xfffffffc,%eax
744f3b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
744f40:	83 38 00             	cmpl   $0x0,(%eax)
744f43:	75 08                	jne    0x744f4d
744f45:	83 e8 04             	sub    $0x4,%eax
744f48:	83 ef 01             	sub    $0x1,%edi
744f4b:	75 f3                	jne    0x744f40
744f4d:	89 7d 30             	mov    %edi,0x30(%ebp)
744f50:	8b 45 18             	mov    0x18(%ebp),%eax
744f53:	3b f0                	cmp    %eax,%esi
744f55:	74 30                	je     0x744f87
744f57:	8b 78 04             	mov    0x4(%eax),%edi
744f5a:	8b ce                	mov    %esi,%ecx
744f5c:	8b 18                	mov    (%eax),%ebx
744f5e:	57                   	push   %edi
744f5f:	e8 36 d0 cc ff       	call   0x411f9a
744f64:	3b 7e 04             	cmp    0x4(%esi),%edi
744f67:	0f 47 7e 04          	cmova  0x4(%esi),%edi
744f6b:	8d 04 bd 00 00 00 00 	lea    0x0(,%edi,4),%eax
744f72:	50                   	push   %eax
744f73:	53                   	push   %ebx
744f74:	ff 36                	push   (%esi)
744f76:	e8 07 9c cd ff       	call   0x41eb82
744f7b:	8b 5d 2c             	mov    0x2c(%ebp),%ebx
744f7e:	83 c4 0c             	add    $0xc,%esp
744f81:	8b 7d 30             	mov    0x30(%ebp),%edi
744f84:	8b 45 18             	mov    0x18(%ebp),%eax
744f87:	8b 40 10             	mov    0x10(%eax),%eax
744f8a:	8b ce                	mov    %esi,%ecx
744f8c:	6a 01                	push   $0x1
744f8e:	89 46 10             	mov    %eax,0x10(%esi)
744f91:	e8 23 be ce ff       	call   0x430db9
744f96:	6a 01                	push   $0x1
744f98:	8d 4d e0             	lea    -0x20(%ebp),%ecx
744f9b:	e8 19 be ce ff       	call   0x430db9
744fa0:	6a 01                	push   $0x1
744fa2:	8d 45 e0             	lea    -0x20(%ebp),%eax
744fa5:	8b ce                	mov    %esi,%ecx
744fa7:	50                   	push   %eax
744fa8:	e8 60 ed cd ff       	call   0x423d0d
744fad:	85 c0                	test   %eax,%eax
744faf:	79 54                	jns    0x745005
744fb1:	6a 00                	push   $0x0
744fb3:	6a 00                	push   $0x0
744fb5:	8d 4d 00             	lea    0x0(%ebp),%ecx
744fb8:	e8 ef 65 cf ff       	call   0x43b5ac
744fbd:	8d 45 00             	lea    0x0(%ebp),%eax
744fc0:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
744fc4:	3b d8                	cmp    %eax,%ebx
744fc6:	74 2e                	je     0x744ff6
744fc8:	8b 5d 04             	mov    0x4(%ebp),%ebx
744fcb:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
744fce:	8b 7d 00             	mov    0x0(%ebp),%edi
744fd1:	53                   	push   %ebx
744fd2:	e8 c3 cf cc ff       	call   0x411f9a
744fd7:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
744fda:	3b 59 04             	cmp    0x4(%ecx),%ebx
744fdd:	0f 47 59 04          	cmova  0x4(%ecx),%ebx
744fe1:	8d 04 9d 00 00 00 00 	lea    0x0(,%ebx,4),%eax
744fe8:	8b d9                	mov    %ecx,%ebx
744fea:	50                   	push   %eax
744feb:	57                   	push   %edi
744fec:	ff 33                	push   (%ebx)
744fee:	e8 8f 9b cd ff       	call   0x41eb82
744ff3:	83 c4 0c             	add    $0xc,%esp
744ff6:	8b 45 10             	mov    0x10(%ebp),%eax
744ff9:	89 43 10             	mov    %eax,0x10(%ebx)
744ffc:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
745000:	e9 d5 03 00 00       	jmp    0x7453da
745005:	75 59                	jne    0x745060
745007:	6a 00                	push   $0x0
745009:	6a 01                	push   $0x1
74500b:	8d 4d 00             	lea    0x0(%ebp),%ecx
74500e:	e8 99 65 cf ff       	call   0x43b5ac
745013:	8d 45 00             	lea    0x0(%ebp),%eax
745016:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
74501a:	50                   	push   %eax
74501b:	8b cb                	mov    %ebx,%ecx
74501d:	e8 f6 36 ce ff       	call   0x428718
745022:	8b 4d 0c             	mov    0xc(%ebp),%ecx
745025:	8b 45 08             	mov    0x8(%ebp),%eax
745028:	c1 e0 02             	shl    $0x2,%eax
74502b:	50                   	push   %eax
74502c:	8b 11                	mov    (%ecx),%edx
74502e:	ff 75 00             	push   0x0(%ebp)
745031:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
745035:	ff 52 04             	call   *0x4(%edx)
745038:	6a 00                	push   $0x0
74503a:	6a 00                	push   $0x0
74503c:	8d 4d 00             	lea    0x0(%ebp),%ecx
74503f:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
745043:	e8 64 65 cf ff       	call   0x43b5ac
745048:	8d 45 00             	lea    0x0(%ebp),%eax
74504b:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
74504f:	50                   	push   %eax
745050:	8b ce                	mov    %esi,%ecx
745052:	e8 c1 36 ce ff       	call   0x428718
745057:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
74505b:	e9 7a 03 00 00       	jmp    0x7453da
745060:	8b 45 e4             	mov    -0x1c(%ebp),%eax
745063:	33 c9                	xor    %ecx,%ecx
745065:	8b 55 e0             	mov    -0x20(%ebp),%edx
745068:	89 4d 1c             	mov    %ecx,0x1c(%ebp)
74506b:	85 c0                	test   %eax,%eax
74506d:	74 15                	je     0x745084
74506f:	8d 48 ff             	lea    -0x1(%eax),%ecx
745072:	8d 0c 8a             	lea    (%edx,%ecx,4),%ecx
745075:	83 39 00             	cmpl   $0x0,(%ecx)
745078:	75 08                	jne    0x745082
74507a:	83 e9 04             	sub    $0x4,%ecx
74507d:	83 e8 01             	sub    $0x1,%eax
745080:	75 f3                	jne    0x745075
745082:	33 c9                	xor    %ecx,%ecx
745084:	8b 44 82 fc          	mov    -0x4(%edx,%eax,4),%eax
745088:	3d 00 00 00 80       	cmp    $0x80000000,%eax
74508d:	73 0e                	jae    0x74509d
74508f:	90                   	nop
745090:	03 c0                	add    %eax,%eax
745092:	41                   	inc    %ecx
745093:	3d 00 00 00 80       	cmp    $0x80000000,%eax
745098:	72 f6                	jb     0x745090
74509a:	89 4d 1c             	mov    %ecx,0x1c(%ebp)
74509d:	51                   	push   %ecx
74509e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
7450a1:	e8 f5 4e ce ff       	call   0x429f9b
7450a6:	ff 75 1c             	push   0x1c(%ebp)
7450a9:	8b ce                	mov    %esi,%ecx
7450ab:	e8 eb 4e ce ff       	call   0x429f9b
7450b0:	8b 46 04             	mov    0x4(%esi),%eax
7450b3:	8b 0e                	mov    (%esi),%ecx
7450b5:	85 c0                	test   %eax,%eax
7450b7:	74 14                	je     0x7450cd
7450b9:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
7450bc:	83 c1 fc             	add    $0xfffffffc,%ecx
7450bf:	90                   	nop
7450c0:	83 39 00             	cmpl   $0x0,(%ecx)
7450c3:	75 08                	jne    0x7450cd
7450c5:	83 e9 04             	sub    $0x4,%ecx
7450c8:	83 e8 01             	sub    $0x1,%eax
7450cb:	75 f3                	jne    0x7450c0
7450cd:	48                   	dec    %eax
7450ce:	8d 4f ff             	lea    -0x1(%edi),%ecx
7450d1:	8b f8                	mov    %eax,%edi
7450d3:	89 45 24             	mov    %eax,0x24(%ebp)
7450d6:	2b f9                	sub    %ecx,%edi
7450d8:	89 4d 28             	mov    %ecx,0x28(%ebp)
7450db:	8b cb                	mov    %ebx,%ecx
7450dd:	8d 47 01             	lea    0x1(%edi),%eax
7450e0:	50                   	push   %eax
7450e1:	e8 b4 ce cc ff       	call   0x411f9a
7450e6:	8b 45 28             	mov    0x28(%ebp),%eax
7450e9:	39 45 24             	cmp    %eax,0x24(%ebp)
7450ec:	0f 87 b3 00 00 00    	ja     0x7451a5
7450f2:	6a 01                	push   $0x1
7450f4:	8d 45 e0             	lea    -0x20(%ebp),%eax
7450f7:	8b ce                	mov    %esi,%ecx
7450f9:	50                   	push   %eax
7450fa:	e8 0e ec cd ff       	call   0x423d0d
7450ff:	85 c0                	test   %eax,%eax
745101:	7e 51                	jle    0x745154
745103:	8d 45 e0             	lea    -0x20(%ebp),%eax
745106:	8b ce                	mov    %esi,%ecx
745108:	50                   	push   %eax
745109:	e8 dc 44 cf ff       	call   0x4395ea
74510e:	6a 00                	push   $0x0
745110:	6a 01                	push   $0x1
745112:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
745115:	e8 92 64 cf ff       	call   0x43b5ac
74511a:	8d 45 b4             	lea    -0x4c(%ebp),%eax
74511d:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
745121:	50                   	push   %eax
745122:	8b cb                	mov    %ebx,%ecx
745124:	e8 5b 96 cf ff       	call   0x43e784
745129:	8b 4d c0             	mov    -0x40(%ebp),%ecx
74512c:	8b 45 bc             	mov    -0x44(%ebp),%eax
74512f:	c1 e0 02             	shl    $0x2,%eax
745132:	50                   	push   %eax
745133:	8b 11                	mov    (%ecx),%edx
745135:	ff 75 b4             	push   -0x4c(%ebp)
745138:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
74513c:	ff 52 04             	call   *0x4(%edx)
74513f:	6a 01                	push   $0x1
745141:	8d 45 e0             	lea    -0x20(%ebp),%eax
745144:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
745148:	50                   	push   %eax
745149:	8b ce                	mov    %esi,%ecx
74514b:	e8 bd eb cd ff       	call   0x423d0d
745150:	85 c0                	test   %eax,%eax
745152:	7f af                	jg     0x745103
745154:	ff 75 1c             	push   0x1c(%ebp)
745157:	8b ce                	mov    %esi,%ecx
745159:	e8 5a 77 ce ff       	call   0x42c8b8
74515e:	8b 45 18             	mov    0x18(%ebp),%eax
745161:	56                   	push   %esi
745162:	53                   	push   %ebx
745163:	ff 75 cc             	push   -0x34(%ebp)
745166:	50                   	push   %eax
745167:	e8 54 04 00 00       	call   0x7455c0
74516c:	83 c4 10             	add    $0x10,%esp
74516f:	c7 45 fc 09 00 00 00 	movl   $0x9,-0x4(%ebp)
745176:	8b 4d ec             	mov    -0x14(%ebp),%ecx
745179:	8b 45 e8             	mov    -0x18(%ebp),%eax
74517c:	c1 e0 02             	shl    $0x2,%eax
74517f:	50                   	push   %eax
745180:	8b 11                	mov    (%ecx),%edx
745182:	ff 75 e0             	push   -0x20(%ebp)
745185:	ff 52 04             	call   *0x4(%edx)
745188:	8b 4d f4             	mov    -0xc(%ebp),%ecx
74518b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
745192:	59                   	pop    %ecx
745193:	5f                   	pop    %edi
745194:	5e                   	pop    %esi
745195:	5b                   	pop    %ebx
745196:	8b 4d 58             	mov    0x58(%ebp),%ecx
745199:	33 cd                	xor    %ebp,%ecx
74519b:	e8 16 66 cd ff       	call   0x41b7b6
7451a0:	8d 65 5c             	lea    0x5c(%ebp),%esp
7451a3:	5d                   	pop    %ebp
7451a4:	c3                   	ret
7451a5:	8b c7                	mov    %edi,%eax
7451a7:	c1 e0 05             	shl    $0x5,%eax
7451aa:	50                   	push   %eax
7451ab:	89 45 14             	mov    %eax,0x14(%ebp)
7451ae:	8d 45 e0             	lea    -0x20(%ebp),%eax
7451b1:	50                   	push   %eax
7451b2:	8d 45 00             	lea    0x0(%ebp),%eax
7451b5:	50                   	push   %eax
7451b6:	e8 4c 95 cf ff       	call   0x43e707
7451bb:	83 c4 0c             	add    $0xc,%esp
7451be:	6a 01                	push   $0x1
7451c0:	8d 45 00             	lea    0x0(%ebp),%eax
7451c3:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
7451c7:	50                   	push   %eax
7451c8:	8b ce                	mov    %esi,%ecx
7451ca:	e8 3e eb cd ff       	call   0x423d0d
7451cf:	85 c0                	test   %eax,%eax
7451d1:	78 21                	js     0x7451f4
7451d3:	8d 45 00             	lea    0x0(%ebp),%eax
7451d6:	8b ce                	mov    %esi,%ecx
7451d8:	50                   	push   %eax
7451d9:	e8 0c 44 cf ff       	call   0x4395ea
7451de:	8b 03                	mov    (%ebx),%eax
7451e0:	8b ce                	mov    %esi,%ecx
7451e2:	6a 01                	push   $0x1
7451e4:	ff 04 b8             	incl   (%eax,%edi,4)
7451e7:	8d 45 00             	lea    0x0(%ebp),%eax
7451ea:	50                   	push   %eax
7451eb:	e8 1d eb cd ff       	call   0x423d0d
7451f0:	85 c0                	test   %eax,%eax
7451f2:	79 df                	jns    0x7451d3
7451f4:	8b 55 24             	mov    0x24(%ebp),%edx
7451f7:	c1 e7 02             	shl    $0x2,%edi
7451fa:	89 7d dc             	mov    %edi,-0x24(%ebp)
7451fd:	8d 04 95 fc ff ff ff 	lea    -0x4(,%edx,4),%eax
745204:	89 45 d8             	mov    %eax,-0x28(%ebp)
745207:	8b 45 14             	mov    0x14(%ebp),%eax
74520a:	83 c0 e0             	add    $0xffffffe0,%eax
74520d:	89 45 20             	mov    %eax,0x20(%ebp)
745210:	8d 04 95 f8 ff ff ff 	lea    -0x8(,%edx,4),%eax
745217:	89 45 30             	mov    %eax,0x30(%ebp)
74521a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
745220:	3b 56 04             	cmp    0x4(%esi),%edx
745223:	73 07                	jae    0x74522c
745225:	8b 06                	mov    (%esi),%eax
745227:	8b 0c 90             	mov    (%eax,%edx,4),%ecx
74522a:	eb 02                	jmp    0x74522e
74522c:	33 c9                	xor    %ecx,%ecx
74522e:	8d 42 fe             	lea    -0x2(%edx),%eax
745231:	89 4d d0             	mov    %ecx,-0x30(%ebp)
745234:	89 45 c8             	mov    %eax,-0x38(%ebp)
745237:	40                   	inc    %eax
745238:	3b 46 04             	cmp    0x4(%esi),%eax
74523b:	73 0a                	jae    0x745247
74523d:	8b 06                	mov    (%esi),%eax
74523f:	8b 55 d8             	mov    -0x28(%ebp),%edx
745242:	8b 14 02             	mov    (%edx,%eax,1),%edx
745245:	eb 02                	jmp    0x745249
745247:	33 d2                	xor    %edx,%edx
745249:	8b 45 28             	mov    0x28(%ebp),%eax
74524c:	89 55 d4             	mov    %edx,-0x2c(%ebp)
74524f:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
745252:	73 0e                	jae    0x745262
745254:	8b 5d 28             	mov    0x28(%ebp),%ebx
745257:	8b 45 e0             	mov    -0x20(%ebp),%eax
74525a:	8b 04 98             	mov    (%eax,%ebx,4),%eax
74525d:	8b 5d 2c             	mov    0x2c(%ebp),%ebx
745260:	eb 02                	jmp    0x745264
745262:	33 c0                	xor    %eax,%eax
745264:	89 45 14             	mov    %eax,0x14(%ebp)
745267:	3b c8                	cmp    %eax,%ecx
745269:	75 0c                	jne    0x745277
74526b:	8b 03                	mov    (%ebx),%eax
74526d:	c7 44 07 fc ff ff ff 	movl   $0xffffffff,-0x4(%edi,%eax,1)
745274:	ff
745275:	eb 19                	jmp    0x745290
745277:	8b 3b                	mov    (%ebx),%edi
745279:	50                   	push   %eax
74527a:	52                   	push   %edx
74527b:	51                   	push   %ecx
74527c:	e8 36 c8 cd ff       	call   0x421ab7
745281:	8b 4d dc             	mov    -0x24(%ebp),%ecx