48ab2e:	ff 73 04             	push   0x4(%ebx)
48ab31:	e8 7a 10 fe ff       	call   0x46bbb0
48ab36:	6a 03                	push   $0x3
48ab38:	ff 33                	push   (%ebx)
48ab3a:	ff 36                	push   (%esi)
48ab3c:	57                   	push   %edi
48ab3d:	e8 78 fe ff ff       	call   0x48a9ba
48ab42:	83 c4 40             	add    $0x40,%esp
48ab45:	33 c9                	xor    %ecx,%ecx
48ab47:	6a 03                	push   $0x3
48ab49:	58                   	pop    %eax
48ab4a:	66 39 0f             	cmp    %cx,(%edi)
48ab4d:	74 03                	je     0x48ab52
48ab4f:	83 c7 02             	add    $0x2,%edi
48ab52:	83 e8 01             	sub    $0x1,%eax
48ab55:	75 f3                	jne    0x48ab4a
48ab57:	0f b7 07             	movzwl (%edi),%eax
48ab5a:	8b c8                	mov    %eax,%ecx
48ab5c:	6a 2d                	push   $0x2d
48ab5e:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
48ab61:	59                   	pop    %ecx
48ab62:	66 3b c1             	cmp    %cx,%ax
48ab65:	75 03                	jne    0x48ab6a
48ab67:	83 c7 02             	add    $0x2,%edi
48ab6a:	6a 0a                	push   $0xa
48ab6c:	8d 45 f4             	lea    -0xc(%ebp),%eax
48ab6f:	50                   	push   %eax
48ab70:	57                   	push   %edi
48ab71:	e8 97 4f ff ff       	call   0x47fb0d
48ab76:	83 c4 0c             	add    $0xc,%esp
48ab79:	69 f0 10 0e 00 00    	imul   $0xe10,%eax,%esi
48ab7f:	89 75 fc             	mov    %esi,-0x4(%ebp)
48ab82:	0f b7 0f             	movzwl (%edi),%ecx
48ab85:	83 f9 2b             	cmp    $0x2b,%ecx
48ab88:	74 09                	je     0x48ab93
48ab8a:	8d 41 d0             	lea    -0x30(%ecx),%eax
48ab8d:	66 83 f8 09          	cmp    $0x9,%ax
48ab91:	77 05                	ja     0x48ab98
48ab93:	83 c7 02             	add    $0x2,%edi
48ab96:	eb ea                	jmp    0x48ab82
48ab98:	6a 3a                	push   $0x3a
48ab9a:	58                   	pop    %eax
48ab9b:	66 3b c8             	cmp    %ax,%cx
48ab9e:	0f 85 94 00 00 00    	jne    0x48ac38
48aba4:	6a 0a                	push   $0xa
48aba6:	8d 45 f4             	lea    -0xc(%ebp),%eax
48aba9:	83 c7 02             	add    $0x2,%edi
48abac:	50                   	push   %eax
48abad:	57                   	push   %edi
48abae:	e8 5a 4f ff ff       	call   0x47fb0d
48abb3:	8b 75 fc             	mov    -0x4(%ebp),%esi
48abb6:	83 c4 0c             	add    $0xc,%esp
48abb9:	6b c0 3c             	imul   $0x3c,%eax,%eax
48abbc:	6a 30                	push   $0x30
48abbe:	59                   	pop    %ecx
48abbf:	03 f0                	add    %eax,%esi
48abc1:	89 4d e8             	mov    %ecx,-0x18(%ebp)
48abc4:	0f b7 07             	movzwl (%edi),%eax
48abc7:	89 75 fc             	mov    %esi,-0x4(%ebp)
48abca:	8b d0                	mov    %eax,%edx
48abcc:	66 3b c1             	cmp    %cx,%ax
48abcf:	72 20                	jb     0x48abf1
48abd1:	6a 39                	push   $0x39
48abd3:	8b c8                	mov    %eax,%ecx
48abd5:	5b                   	pop    %ebx
48abd6:	0f b7 d1             	movzwl %cx,%edx
48abd9:	66 3b cb             	cmp    %bx,%cx
48abdc:	77 10                	ja     0x48abee
48abde:	83 c7 02             	add    $0x2,%edi
48abe1:	0f b7 07             	movzwl (%edi),%eax
48abe4:	8b c8                	mov    %eax,%ecx
48abe6:	8b d0                	mov    %eax,%edx
48abe8:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
48abec:	73 e8                	jae    0x48abd6
48abee:	8b 5d f0             	mov    -0x10(%ebp),%ebx
48abf1:	6a 3a                	push   $0x3a
48abf3:	58                   	pop    %eax
48abf4:	66 3b d0             	cmp    %ax,%dx
48abf7:	75 3f                	jne    0x48ac38
48abf9:	6a 0a                	push   $0xa
48abfb:	8d 45 f4             	lea    -0xc(%ebp),%eax
48abfe:	83 c7 02             	add    $0x2,%edi
48ac01:	50                   	push   %eax
48ac02:	57                   	push   %edi
48ac03:	e8 05 4f ff ff       	call   0x47fb0d
48ac08:	8b 75 fc             	mov    -0x4(%ebp),%esi
48ac0b:	83 c4 0c             	add    $0xc,%esp
48ac0e:	03 f0                	add    %eax,%esi
48ac10:	0f b7 07             	movzwl (%edi),%eax
48ac13:	89 75 fc             	mov    %esi,-0x4(%ebp)
48ac16:	6a 30                	push   $0x30
48ac18:	5a                   	pop    %edx
48ac19:	66 3b c2             	cmp    %dx,%ax
48ac1c:	72 1a                	jb     0x48ac38
48ac1e:	6a 39                	push   $0x39
48ac20:	8b c8                	mov    %eax,%ecx
48ac22:	5b                   	pop    %ebx
48ac23:	66 3b cb             	cmp    %bx,%cx
48ac26:	77 0d                	ja     0x48ac35
48ac28:	83 c7 02             	add    $0x2,%edi
48ac2b:	0f b7 07             	movzwl (%edi),%eax
48ac2e:	8b c8                	mov    %eax,%ecx
48ac30:	66 3b c2             	cmp    %dx,%ax
48ac33:	73 ee                	jae    0x48ac23
48ac35:	8b 5d f0             	mov    -0x10(%ebp),%ebx
48ac38:	6a 2d                	push   $0x2d
48ac3a:	58                   	pop    %eax
48ac3b:	66 39 45 e4          	cmp    %ax,-0x1c(%ebp)
48ac3f:	75 05                	jne    0x48ac46
48ac41:	f7 de                	neg    %esi
48ac43:	89 75 fc             	mov    %esi,-0x4(%ebp)
48ac46:	0f b7 0f             	movzwl (%edi),%ecx
48ac49:	33 c0                	xor    %eax,%eax
48ac4b:	66 85 c9             	test   %cx,%cx
48ac4e:	0f 95 c0             	setne  %al
48ac51:	89 45 f8             	mov    %eax,-0x8(%ebp)
48ac54:	66 85 c9             	test   %cx,%cx
48ac57:	74 17                	je     0x48ac70
48ac59:	8b 45 ec             	mov    -0x14(%ebp),%eax
48ac5c:	6a 03                	push   $0x3
48ac5e:	ff 73 04             	push   0x4(%ebx)
48ac61:	ff 70 04             	push   0x4(%eax)
48ac64:	57                   	push   %edi
48ac65:	e8 50 fd ff ff       	call   0x48a9ba
48ac6a:	8b 75 fc             	mov    -0x4(%ebp),%esi
48ac6d:	83 c4 10             	add    $0x10,%esp
48ac70:	e8 9c f8 ff ff       	call   0x48a511
48ac75:	89 30                	mov    %esi,(%eax)
48ac77:	8b 75 f8             	mov    -0x8(%ebp),%esi
48ac7a:	e8 86 f8 ff ff       	call   0x48a505
48ac7f:	89 30                	mov    %esi,(%eax)
48ac81:	e9 2c fe ff ff       	jmp    0x48aab2
48ac86:	33 f6                	xor    %esi,%esi
48ac88:	56                   	push   %esi
48ac89:	56                   	push   %esi
48ac8a:	56                   	push   %esi
48ac8b:	56                   	push   %esi
48ac8c:	56                   	push   %esi
48ac8d:	e8 bc e9 fe ff       	call   0x47964e
48ac92:	cc                   	int3
48ac93:	8b ff                	mov    %edi,%edi
48ac95:	55                   	push   %ebp
48ac96:	8b ec                	mov    %esp,%ebp
48ac98:	83 ec 0c             	sub    $0xc,%esp
48ac9b:	53                   	push   %ebx
48ac9c:	56                   	push   %esi
48ac9d:	57                   	push   %edi
48ac9e:	e8 74 f8 ff ff       	call   0x48a517
48aca3:	8b f8                	mov    %eax,%edi
48aca5:	e8 73 f8 ff ff       	call   0x48a51d
48acaa:	8b d8                	mov    %eax,%ebx
48acac:	33 f6                	xor    %esi,%esi
48acae:	8d 45 fc             	lea    -0x4(%ebp),%eax
48acb1:	89 75 fc             	mov    %esi,-0x4(%ebp)
48acb4:	50                   	push   %eax
48acb5:	89 75 f8             	mov    %esi,-0x8(%ebp)
48acb8:	89 75 f4             	mov    %esi,-0xc(%ebp)
48acbb:	e8 bb f8 ff ff       	call   0x48a57b
48acc0:	59                   	pop    %ecx
48acc1:	85 c0                	test   %eax,%eax
48acc3:	0f 85 19 01 00 00    	jne    0x48ade2
48acc9:	8d 45 f8             	lea    -0x8(%ebp),%eax
48accc:	50                   	push   %eax
48accd:	e8 51 f8 ff ff       	call   0x48a523
48acd2:	59                   	pop    %ecx
48acd3:	85 c0                	test   %eax,%eax
48acd5:	0f 85 07 01 00 00    	jne    0x48ade2
48acdb:	8d 45 f4             	lea    -0xc(%ebp),%eax
48acde:	50                   	push   %eax
48acdf:	e8 6b f8 ff ff       	call   0x48a54f
48ace4:	59                   	pop    %ecx
48ace5:	85 c0                	test   %eax,%eax
48ace7:	0f 85 f5 00 00 00    	jne    0x48ade2
48aced:	ff 35 04 8b 4c 00    	push   0x4c8b04
48acf3:	e8 00 ab ff ff       	call   0x4857f8
48acf8:	89 35 04 8b 4c 00    	mov    %esi,0x4c8b04
48acfe:	c7 04 24 10 8b 4c 00 	movl   $0x4c8b10,(%esp)
48ad05:	ff 15 24 e1 49 00    	call   *0x49e124
48ad0b:	83 f8 ff             	cmp    $0xffffffff,%eax
48ad0e:	0f 84 ab 00 00 00    	je     0x48adbf
48ad14:	6b 15 10 8b 4c 00 3c 	imul   $0x3c,0x4c8b10,%edx
48ad1b:	33 c9                	xor    %ecx,%ecx
48ad1d:	41                   	inc    %ecx
48ad1e:	66 39 35 56 8b 4c 00 	cmp    %si,0x4c8b56
48ad25:	8b 35 64 8b 4c 00    	mov    0x4c8b64,%esi
48ad2b:	89 0d 08 8b 4c 00    	mov    %ecx,0x4c8b08
48ad31:	89 55 fc             	mov    %edx,-0x4(%ebp)
48ad34:	74 08                	je     0x48ad3e
48ad36:	6b c6 3c             	imul   $0x3c,%esi,%eax
48ad39:	03 c2                	add    %edx,%eax
48ad3b:	89 45 fc             	mov    %eax,-0x4(%ebp)
48ad3e:	66 83 3d aa 8b 4c 00 	cmpw   $0x0,0x4c8baa
48ad45:	00
48ad46:	74 10                	je     0x48ad58
48ad48:	a1 b8 8b 4c 00       	mov    0x4c8bb8,%eax
48ad4d:	85 c0                	test   %eax,%eax
48ad4f:	74 07                	je     0x48ad58
48ad51:	2b c6                	sub    %esi,%eax
48ad53:	6b c0 3c             	imul   $0x3c,%eax,%eax
48ad56:	eb 04                	jmp    0x48ad5c
48ad58:	33 c0                	xor    %eax,%eax
48ad5a:	33 c9                	xor    %ecx,%ecx
48ad5c:	be 80 00 00 00       	mov    $0x80,%esi
48ad61:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48ad64:	56                   	push   %esi
48ad65:	89 45 f4             	mov    %eax,-0xc(%ebp)
48ad68:	6a 00                	push   $0x0
48ad6a:	ff 33                	push   (%ebx)
48ad6c:	e8 3f 0e fe ff       	call   0x46bbb0
48ad71:	56                   	push   %esi
48ad72:	33 f6                	xor    %esi,%esi
48ad74:	56                   	push   %esi
48ad75:	ff 73 04             	push   0x4(%ebx)
48ad78:	e8 33 0e fe ff       	call   0x46bbb0
48ad7d:	6a 40                	push   $0x40
48ad7f:	56                   	push   %esi
48ad80:	ff 37                	push   (%edi)
48ad82:	e8 29 0e fe ff       	call   0x46bbb0
48ad87:	6a 40                	push   $0x40
48ad89:	56                   	push   %esi
48ad8a:	ff 77 04             	push   0x4(%edi)
48ad8d:	e8 1e 0e fe ff       	call   0x46bbb0
48ad92:	e8 7d 74 ff ff       	call   0x482214
48ad97:	8b f0                	mov    %eax,%esi
48ad99:	56                   	push   %esi
48ad9a:	ff 37                	push   (%edi)
48ad9c:	ff 33                	push   (%ebx)
48ad9e:	68 14 8b 4c 00       	push   $0x4c8b14
48ada3:	e8 bb 00 00 00       	call   0x48ae63
48ada8:	83 c4 40             	add    $0x40,%esp
48adab:	56                   	push   %esi
48adac:	ff 77 04             	push   0x4(%edi)
48adaf:	ff 73 04             	push   0x4(%ebx)
48adb2:	68 68 8b 4c 00       	push   $0x4c8b68
48adb7:	e8 a7 00 00 00       	call   0x48ae63
48adbc:	83 c4 10             	add    $0x10,%esp
48adbf:	8b 75 fc             	mov    -0x4(%ebp),%esi
48adc2:	e8 4a f7 ff ff       	call   0x48a511
48adc7:	89 30                	mov    %esi,(%eax)
48adc9:	8b 75 f8             	mov    -0x8(%ebp),%esi
48adcc:	e8 34 f7 ff ff       	call   0x48a505
48add1:	89 30                	mov    %esi,(%eax)
48add3:	8b 75 f4             	mov    -0xc(%ebp),%esi
48add6:	e8 30 f7 ff ff       	call   0x48a50b
48addb:	5f                   	pop    %edi
48addc:	89 30                	mov    %esi,(%eax)
48adde:	5e                   	pop    %esi
48addf:	5b                   	pop    %ebx
48ade0:	c9                   	leave
48ade1:	c3                   	ret
48ade2:	56                   	push   %esi
48ade3:	56                   	push   %esi
48ade4:	56                   	push   %esi
48ade5:	56                   	push   %esi
48ade6:	56                   	push   %esi
48ade7:	e8 62 e8 fe ff       	call   0x47964e
48adec:	cc                   	int3
48aded:	8b ff                	mov    %edi,%edi
48adef:	55                   	push   %ebp
48adf0:	8b ec                	mov    %esp,%ebp
48adf2:	81 ec 04 02 00 00    	sub    $0x204,%esp
48adf8:	a1 14 40 4c 00       	mov    0x4c4014,%eax
48adfd:	33 c5                	xor    %ebp,%eax
48adff:	89 45 fc             	mov    %eax,-0x4(%ebp)
48ae02:	83 0d 74 45 4c 00 ff 	orl    $0xffffffff,0x4c4574
48ae09:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
48ae0f:	83 0d 68 45 4c 00 ff 	orl    $0xffffffff,0x4c4568
48ae16:	56                   	push   %esi
48ae17:	57                   	push   %edi
48ae18:	33 ff                	xor    %edi,%edi
48ae1a:	50                   	push   %eax
48ae1b:	89 3d 08 8b 4c 00    	mov    %edi,0x4c8b08
48ae21:	e8 1d fb ff ff       	call   0x48a943
48ae26:	59                   	pop    %ecx
48ae27:	8d 8d fc fd ff ff    	lea    -0x204(%ebp),%ecx
48ae2d:	8b f0                	mov    %eax,%esi
48ae2f:	2b f1                	sub    %ecx,%esi
48ae31:	f7 de                	neg    %esi
48ae33:	1b f6                	sbb    %esi,%esi
48ae35:	23 f0                	and    %eax,%esi
48ae37:	85 c0                	test   %eax,%eax
48ae39:	74 0e                	je     0x48ae49
48ae3b:	66 39 38             	cmp    %di,(%eax)
48ae3e:	74 09                	je     0x48ae49
48ae40:	50                   	push   %eax
48ae41:	e8 bb fb ff ff       	call   0x48aa01
48ae46:	59                   	pop    %ecx
48ae47:	eb 05                	jmp    0x48ae4e
48ae49:	e8 45 fe ff ff       	call   0x48ac93
48ae4e:	56                   	push   %esi
48ae4f:	e8 a4 a9 ff ff       	call   0x4857f8
48ae54:	59                   	pop    %ecx
48ae55:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48ae58:	5f                   	pop    %edi
48ae59:	33 cd                	xor    %ebp,%ecx
48ae5b:	5e                   	pop    %esi
48ae5c:	e8 69 eb fd ff       	call   0x4699ca
48ae61:	c9                   	leave
48ae62:	c3                   	ret
48ae63:	8b ff                	mov    %edi,%edi
48ae65:	55                   	push   %ebp
48ae66:	8b ec                	mov    %esp,%ebp
48ae68:	6a 20                	push   $0x20
48ae6a:	ff 75 08             	push   0x8(%ebp)
48ae6d:	6a 40                	push   $0x40
48ae6f:	ff 75 0c             	push   0xc(%ebp)
48ae72:	e8 97 50 ff ff       	call   0x47ff0e
48ae77:	83 c4 10             	add    $0x10,%esp
48ae7a:	85 c0                	test   %eax,%eax
48ae7c:	75 1a                	jne    0x48ae98
48ae7e:	50                   	push   %eax
48ae7f:	50                   	push   %eax
48ae80:	6a 40                	push   $0x40
48ae82:	ff 75 10             	push   0x10(%ebp)
48ae85:	6a ff                	push   $0xffffffff
48ae87:	ff 75 08             	push   0x8(%ebp)
48ae8a:	50                   	push   %eax
48ae8b:	ff 75 14             	push   0x14(%ebp)
48ae8e:	e8 77 3e 00 00       	call   0x48ed0a
48ae93:	83 c4 20             	add    $0x20,%esp
48ae96:	5d                   	pop    %ebp
48ae97:	c3                   	ret
48ae98:	33 c0                	xor    %eax,%eax
48ae9a:	50                   	push   %eax
48ae9b:	50                   	push   %eax
48ae9c:	50                   	push   %eax
48ae9d:	50                   	push   %eax
48ae9e:	50                   	push   %eax
48ae9f:	e8 aa e7 fe ff       	call   0x47964e
48aea4:	cc                   	int3
48aea5:	6a 08                	push   $0x8
48aea7:	68 d0 1a 4c 00       	push   $0x4c1ad0
48aeac:	e8 8f f8 fd ff       	call   0x46a740
48aeb1:	a1 0c 8b 4c 00       	mov    0x4c8b0c,%eax
48aeb6:	90                   	nop
48aeb7:	85 c0                	test   %eax,%eax
48aeb9:	75 2e                	jne    0x48aee9
48aebb:	6a 06                	push   $0x6
48aebd:	e8 9f 6f ff ff       	call   0x481e61
48aec2:	59                   	pop    %ecx
48aec3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
48aec7:	a1 0c 8b 4c 00       	mov    0x4c8b0c,%eax
48aecc:	90                   	nop
48aecd:	85 c0                	test   %eax,%eax
48aecf:	75 0c                	jne    0x48aedd
48aed1:	e8 17 ff ff ff       	call   0x48aded
48aed6:	f0 ff 05 0c 8b 4c 00 	lock incl 0x4c8b0c
48aedd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
48aee4:	e8 10 00 00 00       	call   0x48aef9
48aee9:	8b 4d f0             	mov    -0x10(%ebp),%ecx