48ff51:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
48ff54:	8b 55 f8             	mov    -0x8(%ebp),%edx
48ff57:	8b 45 fc             	mov    -0x4(%ebp),%eax
48ff5a:	8b 30                	mov    (%eax),%esi
48ff5c:	ff 56 54             	call   *0x54(%esi)
48ff5f:	ba 3c 00 00 00       	mov    $0x3c,%edx
48ff64:	8b 45 fc             	mov    -0x4(%ebp),%eax
48ff67:	8b 08                	mov    (%eax),%ecx
48ff69:	ff 91 80 00 00 00    	call   *0x80(%ecx)
48ff6f:	8b f0                	mov    %eax,%esi
48ff71:	8b fe                	mov    %esi,%edi
48ff73:	f7 df                	neg    %edi
48ff75:	57                   	push   %edi
48ff76:	8b c6                	mov    %esi,%eax
48ff78:	f7 d8                	neg    %eax
48ff7a:	57                   	push   %edi
48ff7b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
48ff7e:	50                   	push   %eax
48ff7f:	e8 04 7c f7 ff       	call   0x407b88
48ff84:	8b 43 04             	mov    0x4(%ebx),%eax
48ff87:	85 c0                	test   %eax,%eax
48ff89:	7e 06                	jle    0x48ff91
48ff8b:	83 e8 02             	sub    $0x2,%eax
48ff8e:	29 45 ec             	sub    %eax,-0x14(%ebp)
48ff91:	8b 45 f8             	mov    -0x8(%ebp),%eax
48ff94:	8b 40 14             	mov    0x14(%eax),%eax
48ff97:	ba 05 00 00 80       	mov    $0x80000005,%edx
48ff9c:	e8 e3 82 f9 ff       	call   0x428284
48ffa1:	8b 45 0c             	mov    0xc(%ebp),%eax
48ffa4:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
48ffa8:	74 0b                	je     0x48ffb5
48ffaa:	8d 55 e4             	lea    -0x1c(%ebp),%edx
48ffad:	8b 45 f8             	mov    -0x8(%ebp),%eax
48ffb0:	e8 47 87 f9 ff       	call   0x4286fc
48ffb5:	8b 03                	mov    (%ebx),%eax
48ffb7:	85 c0                	test   %eax,%eax
48ffb9:	7e 06                	jle    0x48ffc1
48ffbb:	83 e8 02             	sub    $0x2,%eax
48ffbe:	01 45 e4             	add    %eax,-0x1c(%ebp)
48ffc1:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
48ffc5:	7e 40                	jle    0x490007
48ffc7:	8b 45 f4             	mov    -0xc(%ebp),%eax
48ffca:	56                   	push   %esi
48ffcb:	57                   	push   %edi
48ffcc:	8b f0                	mov    %eax,%esi
48ffce:	8d 7d e4             	lea    -0x1c(%ebp),%edi
48ffd1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48ffd2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48ffd3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48ffd4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48ffd5:	5f                   	pop    %edi
48ffd6:	5e                   	pop    %esi
48ffd7:	8b c6                	mov    %esi,%eax
48ffd9:	f7 d8                	neg    %eax
48ffdb:	57                   	push   %edi
48ffdc:	f7 de                	neg    %esi
48ffde:	57                   	push   %edi
48ffdf:	8d 45 e4             	lea    -0x1c(%ebp),%eax
48ffe2:	50                   	push   %eax
48ffe3:	e8 a0 7b f7 ff       	call   0x407b88
48ffe8:	8b 45 ec             	mov    -0x14(%ebp),%eax
48ffeb:	2b 43 04             	sub    0x4(%ebx),%eax
48ffee:	89 45 e4             	mov    %eax,-0x1c(%ebp)
48fff1:	8b 45 0c             	mov    0xc(%ebp),%eax
48fff4:	50                   	push   %eax
48fff5:	8d 43 10             	lea    0x10(%ebx),%eax
48fff8:	50                   	push   %eax
48fff9:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
48fffc:	8b 55 f8             	mov    -0x8(%ebp),%edx
48ffff:	8b 45 fc             	mov    -0x4(%ebp),%eax
490002:	8b 18                	mov    (%eax),%ebx
490004:	ff 53 40             	call   *0x40(%ebx)
490007:	5f                   	pop    %edi
490008:	5e                   	pop    %esi
490009:	5b                   	pop    %ebx
49000a:	8b e5                	mov    %ebp,%esp
49000c:	5d                   	pop    %ebp
49000d:	c2 08 00             	ret    $0x8
490010:	55                   	push   %ebp
490011:	8b ec                	mov    %esp,%ebp
490013:	83 c4 d0             	add    $0xffffffd0,%esp
490016:	53                   	push   %ebx
490017:	8b d8                	mov    %eax,%ebx
490019:	8b 45 08             	mov    0x8(%ebp),%eax
49001c:	8b 40 fc             	mov    -0x4(%eax),%eax
49001f:	8b 40 10             	mov    0x10(%eax),%eax
490022:	8b d3                	mov    %ebx,%edx
490024:	e8 5b 7f f9 ff       	call   0x427f84
490029:	8b 45 08             	mov    0x8(%ebp),%eax
49002c:	8b 40 fc             	mov    -0x4(%eax),%eax
49002f:	8b 40 14             	mov    0x14(%eax),%eax
490032:	8b d3                	mov    %ebx,%edx
490034:	e8 4b 82 f9 ff       	call   0x428284
490039:	8b 45 08             	mov    0x8(%ebp),%eax
49003c:	8b 40 08             	mov    0x8(%eax),%eax
49003f:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
490043:	74 7e                	je     0x4900c3
490045:	8d 4d e0             	lea    -0x20(%ebp),%ecx
490048:	8b 45 08             	mov    0x8(%ebp),%eax
49004b:	8b 50 f4             	mov    -0xc(%eax),%edx
49004e:	83 c2 02             	add    $0x2,%edx
490051:	8b 45 08             	mov    0x8(%ebp),%eax
490054:	8b 40 f8             	mov    -0x8(%eax),%eax
490057:	e8 f0 a5 f8 ff       	call   0x41a64c
49005c:	8b 45 e0             	mov    -0x20(%ebp),%eax
49005f:	89 45 e8             	mov    %eax,-0x18(%ebp)
490062:	8b 45 e4             	mov    -0x1c(%ebp),%eax
490065:	89 45 ec             	mov    %eax,-0x14(%ebp)
490068:	8d 4d d8             	lea    -0x28(%ebp),%ecx
49006b:	8b 45 08             	mov    0x8(%ebp),%eax
49006e:	8b 50 f4             	mov    -0xc(%eax),%edx
490071:	83 ea 02             	sub    $0x2,%edx
490074:	8b 45 08             	mov    0x8(%ebp),%eax
490077:	8b 40 f8             	mov    -0x8(%eax),%eax
49007a:	e8 cd a5 f8 ff       	call   0x41a64c
49007f:	8b 45 d8             	mov    -0x28(%ebp),%eax
490082:	89 45 f0             	mov    %eax,-0x10(%ebp)
490085:	8b 45 dc             	mov    -0x24(%ebp),%eax
490088:	89 45 f4             	mov    %eax,-0xc(%ebp)
49008b:	8d 4d d0             	lea    -0x30(%ebp),%ecx
49008e:	8b 45 08             	mov    0x8(%ebp),%eax
490091:	8b 50 f4             	mov    -0xc(%eax),%edx
490094:	8b 45 08             	mov    0x8(%ebp),%eax
490097:	8b 40 f8             	mov    -0x8(%eax),%eax
49009a:	83 e8 02             	sub    $0x2,%eax
49009d:	e8 aa a5 f8 ff       	call   0x41a64c
4900a2:	8b 45 d0             	mov    -0x30(%ebp),%eax
4900a5:	89 45 f8             	mov    %eax,-0x8(%ebp)
4900a8:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4900ab:	89 45 fc             	mov    %eax,-0x4(%ebp)
4900ae:	8d 55 e8             	lea    -0x18(%ebp),%edx
4900b1:	8b 45 08             	mov    0x8(%ebp),%eax
4900b4:	8b 40 fc             	mov    -0x4(%eax),%eax
4900b7:	b9 02 00 00 00       	mov    $0x2,%ecx
4900bc:	e8 3f 87 f9 ff       	call   0x428800
4900c1:	eb 7c                	jmp    0x49013f
4900c3:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4900c6:	8b 45 08             	mov    0x8(%ebp),%eax
4900c9:	8b 50 f4             	mov    -0xc(%eax),%edx
4900cc:	8b 45 08             	mov    0x8(%ebp),%eax
4900cf:	8b 40 f8             	mov    -0x8(%eax),%eax
4900d2:	83 e8 02             	sub    $0x2,%eax
4900d5:	e8 72 a5 f8 ff       	call   0x41a64c
4900da:	8b 45 e0             	mov    -0x20(%ebp),%eax
4900dd:	89 45 e8             	mov    %eax,-0x18(%ebp)
4900e0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4900e3:	89 45 ec             	mov    %eax,-0x14(%ebp)
4900e6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4900e9:	8b 45 08             	mov    0x8(%ebp),%eax
4900ec:	8b 50 f4             	mov    -0xc(%eax),%edx
4900ef:	8b 45 08             	mov    0x8(%ebp),%eax
4900f2:	8b 40 f8             	mov    -0x8(%eax),%eax
4900f5:	83 c0 02             	add    $0x2,%eax
4900f8:	e8 4f a5 f8 ff       	call   0x41a64c
4900fd:	8b 45 d8             	mov    -0x28(%ebp),%eax
490100:	89 45 f0             	mov    %eax,-0x10(%ebp)
490103:	8b 45 dc             	mov    -0x24(%ebp),%eax
490106:	89 45 f4             	mov    %eax,-0xc(%ebp)
490109:	8d 4d d0             	lea    -0x30(%ebp),%ecx
49010c:	8b 45 08             	mov    0x8(%ebp),%eax
49010f:	8b 50 f4             	mov    -0xc(%eax),%edx
490112:	83 c2 02             	add    $0x2,%edx
490115:	8b 45 08             	mov    0x8(%ebp),%eax
490118:	8b 40 f8             	mov    -0x8(%eax),%eax
49011b:	e8 2c a5 f8 ff       	call   0x41a64c
490120:	8b 45 d0             	mov    -0x30(%ebp),%eax
490123:	89 45 f8             	mov    %eax,-0x8(%ebp)
490126:	8b 45 d4             	mov    -0x2c(%ebp),%eax
490129:	89 45 fc             	mov    %eax,-0x4(%ebp)
49012c:	8d 55 e8             	lea    -0x18(%ebp),%edx
49012f:	8b 45 08             	mov    0x8(%ebp),%eax
490132:	8b 40 fc             	mov    -0x4(%eax),%eax
490135:	b9 02 00 00 00       	mov    $0x2,%ecx
49013a:	e8 c1 86 f9 ff       	call   0x428800
49013f:	5b                   	pop    %ebx
490140:	8b e5                	mov    %ebp,%esp
490142:	5d                   	pop    %ebp
490143:	c3                   	ret
490144:	55                   	push   %ebp
490145:	8b ec                	mov    %esp,%ebp
490147:	83 c4 f4             	add    $0xfffffff4,%esp
49014a:	89 55 fc             	mov    %edx,-0x4(%ebp)
49014d:	8b 01                	mov    (%ecx),%eax
49014f:	03 41 08             	add    0x8(%ecx),%eax
490152:	d1 f8                	sar    $1,%eax
490154:	79 03                	jns    0x490159
490156:	83 d0 00             	adc    $0x0,%eax
490159:	89 45 f8             	mov    %eax,-0x8(%ebp)
49015c:	8b 41 04             	mov    0x4(%ecx),%eax
49015f:	03 41 0c             	add    0xc(%ecx),%eax
490162:	d1 f8                	sar    $1,%eax
490164:	79 03                	jns    0x490169
490166:	83 d0 00             	adc    $0x0,%eax
490169:	48                   	dec    %eax
49016a:	89 45 f4             	mov    %eax,-0xc(%ebp)
49016d:	8b 45 08             	mov    0x8(%ebp),%eax
490170:	80 78 09 00          	cmpb   $0x0,0x9(%eax)
490174:	75 09                	jne    0x49017f
490176:	8b 45 08             	mov    0x8(%ebp),%eax
490179:	80 78 0b 00          	cmpb   $0x0,0xb(%eax)
49017d:	74 0f                	je     0x49018e
49017f:	8b 45 08             	mov    0x8(%ebp),%eax
490182:	80 78 19 03          	cmpb   $0x3,0x19(%eax)
490186:	74 06                	je     0x49018e
490188:	ff 45 f8             	incl   -0x8(%ebp)
49018b:	ff 45 f4             	incl   -0xc(%ebp)
49018e:	8b 45 08             	mov    0x8(%ebp),%eax
490191:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
490195:	74 2b                	je     0x4901c2
490197:	8b 45 08             	mov    0x8(%ebp),%eax
49019a:	8b 40 04             	mov    0x4(%eax),%eax
49019d:	83 e0 01             	and    $0x1,%eax
4901a0:	84 c0                	test   %al,%al
4901a2:	74 10                	je     0x4901b4
4901a4:	55                   	push   %ebp
4901a5:	a1 34 6e 6a 00       	mov    0x6a6e34,%eax
4901aa:	8b 00                	mov    (%eax),%eax
4901ac:	e8 5f fe ff ff       	call   0x490010
4901b1:	59                   	pop    %ecx
4901b2:	eb 32                	jmp    0x4901e6
4901b4:	55                   	push   %ebp
4901b5:	b8 12 00 00 80       	mov    $0x80000012,%eax
4901ba:	e8 51 fe ff ff       	call   0x490010
4901bf:	59                   	pop    %ecx
4901c0:	eb 24                	jmp    0x4901e6
4901c2:	ff 45 f8             	incl   -0x8(%ebp)
4901c5:	ff 45 f4             	incl   -0xc(%ebp)
4901c8:	55                   	push   %ebp
4901c9:	b8 14 00 00 80       	mov    $0x80000014,%eax
4901ce:	e8 3d fe ff ff       	call   0x490010
4901d3:	59                   	pop    %ecx
4901d4:	ff 4d f8             	decl   -0x8(%ebp)
4901d7:	ff 4d f4             	decl   -0xc(%ebp)
4901da:	55                   	push   %ebp
4901db:	b8 10 00 00 80       	mov    $0x80000010,%eax
4901e0:	e8 2b fe ff ff       	call   0x490010
4901e5:	59                   	pop    %ecx
4901e6:	8b e5                	mov    %ebp,%esp
4901e8:	5d                   	pop    %ebp
4901e9:	c2 04 00             	ret    $0x4
4901ec:	55                   	push   %ebp
4901ed:	8b ec                	mov    %esp,%ebp
4901ef:	83 c4 d4             	add    $0xffffffd4,%esp
4901f2:	53                   	push   %ebx
4901f3:	56                   	push   %esi
4901f4:	57                   	push   %edi
4901f5:	8b d9                	mov    %ecx,%ebx
4901f7:	89 55 f8             	mov    %edx,-0x8(%ebp)
4901fa:	89 45 fc             	mov    %eax,-0x4(%ebp)
4901fd:	8b 7d 08             	mov    0x8(%ebp),%edi
490200:	57                   	push   %edi
490201:	8b f3                	mov    %ebx,%esi
490203:	8d 7d d4             	lea    -0x2c(%ebp),%edi
490206:	a5                   	movsl  %ds:(%esi),%es:(%edi)
490207:	a5                   	movsl  %ds:(%esi),%es:(%edi)
490208:	a5                   	movsl  %ds:(%esi),%es:(%edi)
490209:	a5                   	movsl  %ds:(%esi),%es:(%edi)
49020a:	5f                   	pop    %edi
49020b:	8b 45 f8             	mov    -0x8(%ebp),%eax
49020e:	e8 ad 8a f9 ff       	call   0x428cc0
490213:	8b f0                	mov    %eax,%esi
490215:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
490219:	74 06                	je     0x490221
49021b:	80 7f 0a 00          	cmpb   $0x0,0xa(%edi)
49021f:	75 10                	jne    0x490231
490221:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
490225:	75 06                	jne    0x49022d
490227:	80 7f 0a 01          	cmpb   $0x1,0xa(%edi)
49022b:	74 04                	je     0x490231
49022d:	33 c0                	xor    %eax,%eax
49022f:	eb 02                	jmp    0x490233
490231:	b0 01                	mov    $0x1,%al
490233:	88 45 f3             	mov    %al,-0xd(%ebp)
490236:	8b 07                	mov    (%edi),%eax
490238:	25 02 10 00 00       	and    $0x1002,%eax
49023d:	3d 02 10 00 00       	cmp    $0x1002,%eax
490242:	0f 94 c0             	sete   %al
490245:	8b 17                	mov    (%edi),%edx
490247:	8b ca                	mov    %edx,%ecx
490249:	81 e1 00 10 00 00    	and    $0x1000,%ecx
49024f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
490255:	75 0e                	jne    0x490265
490257:	81 e2 00 02 00 00    	and    $0x200,%edx
49025d:	81 fa 00 02 00 00    	cmp    $0x200,%edx
490263:	74 04                	je     0x490269
490265:	33 d2                	xor    %edx,%edx
490267:	eb 02                	jmp    0x49026b
490269:	b2 01                	mov    $0x1,%dl
49026b:	88 55 f2             	mov    %dl,-0xe(%ebp)
49026e:	84 c0                	test   %al,%al
490270:	0f 85 81 01 00 00    	jne    0x4903f7
490276:	8b 15 70 72 6a 00    	mov    0x6a7270,%edx
49027c:	80 3a 00             	cmpb   $0x0,(%edx)
49027f:	0f 84 72 01 00 00    	je     0x4903f7
490285:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
490289:	75 14                	jne    0x49029f
49028b:	80 7f 0a 01          	cmpb   $0x1,0xa(%edi)
49028f:	75 07                	jne    0x490298
490291:	bb 02 00 00 00       	mov    $0x2,%ebx
490296:	eb 40                	jmp    0x4902d8
490298:	bb 04 00 00 00       	mov    $0x4,%ebx
49029d:	eb 39                	jmp    0x4902d8
49029f:	80 7f 09 00          	cmpb   $0x0,0x9(%edi)
4902a3:	74 07                	je     0x4902ac
4902a5:	bb 03 00 00 00       	mov    $0x3,%ebx
4902aa:	eb 2c                	jmp    0x4902d8
4902ac:	80 7f 0b 00          	cmpb   $0x0,0xb(%edi)
4902b0:	74 14                	je     0x4902c6
4902b2:	80 7f 0a 00          	cmpb   $0x0,0xa(%edi)
4902b6:	74 07                	je     0x4902bf
4902b8:	bb 06 00 00 00       	mov    $0x6,%ebx
4902bd:	eb 19                	jmp    0x4902d8
4902bf:	bb 05 00 00 00       	mov    $0x5,%ebx
4902c4:	eb 12                	jmp    0x4902d8
4902c6:	80 7f 0a 00          	cmpb   $0x0,0xa(%edi)
4902ca:	74 07                	je     0x4902d3
4902cc:	bb 02 00 00 00       	mov    $0x2,%ebx
4902d1:	eb 05                	jmp    0x4902d8
4902d3:	bb 01 00 00 00       	mov    $0x1,%ebx
4902d8:	80 7d f2 00          	cmpb   $0x0,-0xe(%ebp)
4902dc:	75 0e                	jne    0x4902ec
4902de:	8b 47 04             	mov    0x4(%edi),%eax
4902e1:	83 e0 10             	and    $0x10,%eax
4902e4:	84 c0                	test   %al,%al
4902e6:	0f 84 e0 00 00 00    	je     0x4903cc
4902ec:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
4902f3:	80 7f 19 03          	cmpb   $0x3,0x19(%edi)
4902f7:	75 03                	jne    0x4902fc
4902f9:	ff 4d d4             	decl   -0x2c(%ebp)
4902fc:	8d 45 ec             	lea    -0x14(%ebp),%eax
4902ff:	50                   	push   %eax
490300:	8d 45 d4             	lea    -0x2c(%ebp),%eax
490303:	50                   	push   %eax
490304:	8b 45 f4             	mov    -0xc(%ebp),%eax
490307:	50                   	push   %eax
490308:	33 c0                	xor    %eax,%eax
49030a:	8a 47 19             	mov    0x19(%edi),%al
49030d:	8b 04 85 80 b1 68 00 	mov    0x68b180(,%eax,4),%eax
490314:	50                   	push   %eax
490315:	8b 45 f8             	mov    -0x8(%ebp),%eax
490318:	e8 a3 89 f9 ff       	call   0x428cc0
49031d:	50                   	push   %eax
49031e:	a1 0c 6c 6a 00       	mov    0x6a6c0c,%eax
490323:	8b 00                	mov    (%eax),%eax
490325:	50                   	push   %eax
490326:	a1 7c 6e 6a 00       	mov    0x6a6e7c,%eax
49032b:	8b 00                	mov    (%eax),%eax
49032d:	ff d0                	call   *%eax
49032f:	80 7f 19 03          	cmpb   $0x3,0x19(%edi)
490333:	75 03                	jne    0x490338