45acbb:	89 44 24 14          	mov    %eax,0x14(%esp)
45acbf:	8d 44 24 10          	lea    0x10(%esp),%eax
45acc3:	50                   	push   %eax
45acc4:	ff 75 08             	push   0x8(%ebp)
45acc7:	ff 15 80 f6 48 00    	call   *0x48f680
45accd:	50                   	push   %eax
45acce:	ff 15 70 f6 48 00    	call   *0x48f670
45acd4:	8b 8f 88 00 00 00    	mov    0x88(%edi),%ecx
45acda:	f6 c1 40             	test   $0x40,%cl
45acdd:	74 0e                	je     0x45aced
45acdf:	8b 87 dc 00 00 00    	mov    0xdc(%edi),%eax
45ace5:	3b 44 24 10          	cmp    0x10(%esp),%eax
45ace9:	75 01                	jne    0x45acec
45aceb:	43                   	inc    %ebx
45acec:	46                   	inc    %esi
45aced:	84 c9                	test   %cl,%cl
45acef:	79 0e                	jns    0x45acff
45acf1:	8b 87 e0 00 00 00    	mov    0xe0(%edi),%eax
45acf7:	3b 44 24 14          	cmp    0x14(%esp),%eax
45acfb:	75 01                	jne    0x45acfe
45acfd:	43                   	inc    %ebx
45acfe:	46                   	inc    %esi
45acff:	f7 c1 00 01 00 00    	test   $0x100,%ecx
45ad05:	74 12                	je     0x45ad19
45ad07:	8b 44 24 20          	mov    0x20(%esp),%eax
45ad0b:	2b 44 24 18          	sub    0x18(%esp),%eax
45ad0f:	39 87 e4 00 00 00    	cmp    %eax,0xe4(%edi)
45ad15:	75 01                	jne    0x45ad18
45ad17:	43                   	inc    %ebx
45ad18:	46                   	inc    %esi
45ad19:	f7 c1 00 02 00 00    	test   $0x200,%ecx
45ad1f:	74 12                	je     0x45ad33
45ad21:	8b 44 24 24          	mov    0x24(%esp),%eax
45ad25:	2b 44 24 1c          	sub    0x1c(%esp),%eax
45ad29:	39 87 e8 00 00 00    	cmp    %eax,0xe8(%edi)
45ad2f:	75 01                	jne    0x45ad32
45ad31:	43                   	inc    %ebx
45ad32:	46                   	inc    %esi
45ad33:	f6 c1 01             	test   $0x1,%cl
45ad36:	74 31                	je     0x45ad69
45ad38:	68 00 01 00 00       	push   $0x100
45ad3d:	8d 84 24 34 02 00 00 	lea    0x234(%esp),%eax
45ad44:	50                   	push   %eax
45ad45:	ff 75 08             	push   0x8(%ebp)
45ad48:	ff 15 48 f7 48 00    	call   *0x48f748
45ad4e:	8d 84 24 30 02 00 00 	lea    0x230(%esp),%eax
45ad55:	50                   	push   %eax
45ad56:	ff b7 8c 00 00 00    	push   0x8c(%edi)
45ad5c:	e8 2b 8a fc ff       	call   0x42378c
45ad61:	59                   	pop    %ecx
45ad62:	59                   	pop    %ecx
45ad63:	85 c0                	test   %eax,%eax
45ad65:	75 01                	jne    0x45ad68
45ad67:	43                   	inc    %ebx
45ad68:	46                   	inc    %esi
45ad69:	f6 87 88 00 00 00 04 	testb  $0x4,0x88(%edi)
45ad70:	74 31                	je     0x45ada3
45ad72:	68 00 04 00 00       	push   $0x400
45ad77:	8d 84 24 34 02 00 00 	lea    0x234(%esp),%eax
45ad7e:	50                   	push   %eax
45ad7f:	ff 75 08             	push   0x8(%ebp)
45ad82:	ff 15 6c f6 48 00    	call   *0x48f66c
45ad88:	8d 84 24 30 02 00 00 	lea    0x230(%esp),%eax
45ad8f:	50                   	push   %eax
45ad90:	ff b7 bc 00 00 00    	push   0xbc(%edi)
45ad96:	e8 f1 89 fc ff       	call   0x42378c
45ad9b:	59                   	pop    %ecx
45ad9c:	59                   	pop    %ecx
45ad9d:	85 c0                	test   %eax,%eax
45ad9f:	75 01                	jne    0x45ada2
45ada1:	43                   	inc    %ebx
45ada2:	46                   	inc    %esi
45ada3:	f6 87 88 00 00 00 02 	testb  $0x2,0x88(%edi)
45adaa:	74 1a                	je     0x45adc6
45adac:	3b de                	cmp    %esi,%ebx
45adae:	75 15                	jne    0x45adc5
45adb0:	ff 87 24 01 00 00    	incl   0x124(%edi)
45adb6:	8b 87 24 01 00 00    	mov    0x124(%edi),%eax
45adbc:	3b 87 d0 00 00 00    	cmp    0xd0(%edi),%eax
45adc2:	75 01                	jne    0x45adc5
45adc4:	43                   	inc    %ebx
45adc5:	46                   	inc    %esi
45adc6:	3b de                	cmp    %esi,%ebx
45adc8:	75 0d                	jne    0x45add7
45adca:	8b 45 08             	mov    0x8(%ebp),%eax
45adcd:	89 87 d8 00 00 00    	mov    %eax,0xd8(%edi)
45add3:	33 c0                	xor    %eax,%eax
45add5:	eb 03                	jmp    0x45adda
45add7:	33 c0                	xor    %eax,%eax
45add9:	40                   	inc    %eax
45adda:	5f                   	pop    %edi
45addb:	5e                   	pop    %esi
45addc:	5b                   	pop    %ebx
45addd:	8b e5                	mov    %ebp,%esp
45addf:	5d                   	pop    %ebp
45ade0:	c2 08 00             	ret    $0x8
45ade3:	55                   	push   %ebp
45ade4:	8b ec                	mov    %esp,%ebp
45ade6:	56                   	push   %esi
45ade7:	8b f1                	mov    %ecx,%esi
45ade9:	83 3e 00             	cmpl   $0x0,(%esi)
45adec:	74 08                	je     0x45adf6
45adee:	ff 36                	push   (%esi)
45adf0:	e8 77 62 fc ff       	call   0x42106c
45adf5:	59                   	pop    %ecx
45adf6:	6a 04                	push   $0x4
45adf8:	e8 f9 61 fc ff       	call   0x420ff6
45adfd:	59                   	pop    %ecx
45adfe:	85 c0                	test   %eax,%eax
45ae00:	74 07                	je     0x45ae09
45ae02:	8b 4d 08             	mov    0x8(%ebp),%ecx
45ae05:	89 08                	mov    %ecx,(%eax)
45ae07:	eb 02                	jmp    0x45ae0b
45ae09:	33 c0                	xor    %eax,%eax
45ae0b:	89 06                	mov    %eax,(%esi)
45ae0d:	b0 01                	mov    $0x1,%al
45ae0f:	5e                   	pop    %esi
45ae10:	5d                   	pop    %ebp
45ae11:	c2 04 00             	ret    $0x4
45ae14:	55                   	push   %ebp
45ae15:	8b ec                	mov    %esp,%ebp
45ae17:	56                   	push   %esi
45ae18:	57                   	push   %edi
45ae19:	ff 75 08             	push   0x8(%ebp)
45ae1c:	8b f9                	mov    %ecx,%edi
45ae1e:	e8 5d 8b fc ff       	call   0x423980
45ae23:	59                   	pop    %ecx
45ae24:	89 47 04             	mov    %eax,0x4(%edi)
45ae27:	8d 70 01             	lea    0x1(%eax),%esi
45ae2a:	56                   	push   %esi
45ae2b:	e8 1b ac fa ff       	call   0x405a4b
45ae30:	50                   	push   %eax
45ae31:	89 47 08             	mov    %eax,0x8(%edi)
45ae34:	e8 bd 61 fc ff       	call   0x420ff6
45ae39:	56                   	push   %esi
45ae3a:	ff 75 08             	push   0x8(%ebp)
45ae3d:	89 07                	mov    %eax,(%edi)
45ae3f:	50                   	push   %eax
45ae40:	e8 3b 62 fc ff       	call   0x421080
45ae45:	83 c4 10             	add    $0x10,%esp
45ae48:	8b cf                	mov    %edi,%ecx
45ae4a:	e8 f4 b5 ff ff       	call   0x456443
45ae4f:	8b c7                	mov    %edi,%eax
45ae51:	5f                   	pop    %edi
45ae52:	5e                   	pop    %esi
45ae53:	5d                   	pop    %ebp
45ae54:	c2 04 00             	ret    $0x4
45ae57:	55                   	push   %ebp
45ae58:	8b ec                	mov    %esp,%ebp
45ae5a:	80 7d 0c 01          	cmpb   $0x1,0xc(%ebp)
45ae5e:	75 10                	jne    0x45ae70
45ae60:	ff 75 08             	push   0x8(%ebp)
45ae63:	e8 32 b3 fb ff       	call   0x41619a
45ae68:	84 c0                	test   %al,%al
45ae6a:	75 1f                	jne    0x45ae8b
45ae6c:	6a 01                	push   $0x1
45ae6e:	eb 02                	jmp    0x45ae72
45ae70:	6a 00                	push   $0x0
45ae72:	6a 00                	push   $0x0
45ae74:	ff 75 08             	push   0x8(%ebp)
45ae77:	ff 15 60 f6 48 00    	call   *0x48f660
45ae7d:	50                   	push   %eax
45ae7e:	ff 15 80 f1 48 00    	call   *0x48f180
45ae84:	50                   	push   %eax
45ae85:	ff 15 64 f6 48 00    	call   *0x48f664
45ae8b:	5d                   	pop    %ebp
45ae8c:	c2 08 00             	ret    $0x8
45ae8f:	55                   	push   %ebp
45ae90:	8b ec                	mov    %esp,%ebp
45ae92:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
45ae96:	74 04                	je     0x45ae9c
45ae98:	6a 01                	push   $0x1
45ae9a:	eb 02                	jmp    0x45ae9e
45ae9c:	6a 00                	push   $0x0
45ae9e:	ff 31                	push   (%ecx)
45aea0:	ff 15 54 f6 48 00    	call   *0x48f654
45aea6:	b0 01                	mov    $0x1,%al
45aea8:	5d                   	pop    %ebp
45aea9:	c2 04 00             	ret    $0x4
45aeac:	55                   	push   %ebp
45aead:	8b ec                	mov    %esp,%ebp
45aeaf:	51                   	push   %ecx
45aeb0:	51                   	push   %ecx
45aeb1:	56                   	push   %esi
45aeb2:	57                   	push   %edi
45aeb3:	8b f9                	mov    %ecx,%edi
45aeb5:	33 f6                	xor    %esi,%esi
45aeb7:	39 77 04             	cmp    %esi,0x4(%edi)
45aeba:	77 05                	ja     0x45aec1
45aebc:	83 c8 ff             	or     $0xffffffff,%eax
45aebf:	eb 4a                	jmp    0x45af0b
45aec1:	53                   	push   %ebx
45aec2:	ff 75 08             	push   0x8(%ebp)
45aec5:	e8 72 7f fc ff       	call   0x422e3c
45aeca:	8b 5f 04             	mov    0x4(%edi),%ebx
45aecd:	89 45 f8             	mov    %eax,-0x8(%ebp)
45aed0:	59                   	pop    %ecx
45aed1:	85 db                	test   %ebx,%ebx
45aed3:	74 32                	je     0x45af07
45aed5:	8b 0f                	mov    (%edi),%ecx
45aed7:	8b 55 08             	mov    0x8(%ebp),%edx
45aeda:	8b f9                	mov    %ecx,%edi
45aedc:	89 45 fc             	mov    %eax,-0x4(%ebp)
45aedf:	85 c0                	test   %eax,%eax
45aee1:	74 13                	je     0x45aef6
45aee3:	66 8b 07             	mov    (%edi),%ax
45aee6:	66 3b 02             	cmp    (%edx),%ax
45aee9:	75 0f                	jne    0x45aefa
45aeeb:	83 c7 02             	add    $0x2,%edi
45aeee:	83 c2 02             	add    $0x2,%edx
45aef1:	ff 4d fc             	decl   -0x4(%ebp)
45aef4:	75 ed                	jne    0x45aee3
45aef6:	8b c6                	mov    %esi,%eax
45aef8:	eb 10                	jmp    0x45af0a
45aefa:	46                   	inc    %esi
45aefb:	83 c1 02             	add    $0x2,%ecx
45aefe:	3b f3                	cmp    %ebx,%esi
45af00:	73 05                	jae    0x45af07
45af02:	8b 45 f8             	mov    -0x8(%ebp),%eax
45af05:	eb d0                	jmp    0x45aed7
45af07:	83 c8 ff             	or     $0xffffffff,%eax
45af0a:	5b                   	pop    %ebx
45af0b:	5f                   	pop    %edi
45af0c:	5e                   	pop    %esi
45af0d:	8b e5                	mov    %ebp,%esp
45af0f:	5d                   	pop    %ebp
45af10:	c2 08 00             	ret    $0x8
45af13:	53                   	push   %ebx
45af14:	56                   	push   %esi
45af15:	8b 31                	mov    (%ecx),%esi
45af17:	6a f0                	push   $0xfffffff0
45af19:	56                   	push   %esi
45af1a:	ff 15 5c f6 48 00    	call   *0x48f65c
45af20:	bb 00 00 00 40       	mov    $0x40000000,%ebx
45af25:	eb 1b                	jmp    0x45af42
45af27:	56                   	push   %esi
45af28:	e8 1e 00 00 00       	call   0x45af4b
45af2d:	85 c0                	test   %eax,%eax
45af2f:	74 15                	je     0x45af46
45af31:	56                   	push   %esi
45af32:	e8 14 00 00 00       	call   0x45af4b
45af37:	8b f0                	mov    %eax,%esi
45af39:	6a f0                	push   $0xfffffff0
45af3b:	56                   	push   %esi
45af3c:	ff 15 5c f6 48 00    	call   *0x48f65c
45af42:	85 c3                	test   %eax,%ebx
45af44:	75 e1                	jne    0x45af27
45af46:	8b c6                	mov    %esi,%eax
45af48:	5e                   	pop    %esi
45af49:	5b                   	pop    %ebx
45af4a:	c3                   	ret
45af4b:	55                   	push   %ebp
45af4c:	8b ec                	mov    %esp,%ebp
45af4e:	6a f0                	push   $0xfffffff0
45af50:	ff 75 08             	push   0x8(%ebp)
45af53:	ff 15 5c f6 48 00    	call   *0x48f65c
45af59:	85 c0                	test   %eax,%eax
45af5b:	79 06                	jns    0x45af63
45af5d:	33 c0                	xor    %eax,%eax
45af5f:	5d                   	pop    %ebp
45af60:	c2 04 00             	ret    $0x4
45af63:	5d                   	pop    %ebp
45af64:	ff 25 80 f6 48 00    	jmp    *0x48f680
45af6a:	55                   	push   %ebp
45af6b:	8b ec                	mov    %esp,%ebp
45af6d:	51                   	push   %ecx
45af6e:	51                   	push   %ecx
45af6f:	53                   	push   %ebx
45af70:	8b 5d 08             	mov    0x8(%ebp),%ebx
45af73:	56                   	push   %esi
45af74:	8b f1                	mov    %ecx,%esi
45af76:	53                   	push   %ebx
45af77:	ff 36                	push   (%esi)
45af79:	ff 15 94 f6 48 00    	call   *0x48f694
45af7f:	85 c0                	test   %eax,%eax
45af81:	74 4f                	je     0x45afd2
45af83:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
45af87:	74 45                	je     0x45afce
45af89:	8b ce                	mov    %esi,%ecx
45af8b:	e8 83 ff ff ff       	call   0x45af13
45af90:	8b c8                	mov    %eax,%ecx
45af92:	85 c9                	test   %ecx,%ecx
45af94:	74 3c                	je     0x45afd2
45af96:	8b 03                	mov    (%ebx),%eax
45af98:	8b 73 0c             	mov    0xc(%ebx),%esi
45af9b:	89 45 f8             	mov    %eax,-0x8(%ebp)
45af9e:	8b 43 04             	mov    0x4(%ebx),%eax
45afa1:	2b f0                	sub    %eax,%esi
45afa3:	57                   	push   %edi
45afa4:	8b 7b 08             	mov    0x8(%ebx),%edi
45afa7:	2b 3b                	sub    (%ebx),%edi
45afa9:	89 45 fc             	mov    %eax,-0x4(%ebp)
45afac:	8d 45 f8             	lea    -0x8(%ebp),%eax
45afaf:	50                   	push   %eax
45afb0:	51                   	push   %ecx
45afb1:	ff 15 70 f6 48 00    	call   *0x48f670
45afb7:	8b 45 f8             	mov    -0x8(%ebp),%eax
45afba:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45afbd:	89 03                	mov    %eax,(%ebx)
45afbf:	03 c7                	add    %edi,%eax
45afc1:	89 43 08             	mov    %eax,0x8(%ebx)
45afc4:	89 4b 04             	mov    %ecx,0x4(%ebx)
45afc7:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
45afca:	89 43 0c             	mov    %eax,0xc(%ebx)
45afcd:	5f                   	pop    %edi
45afce:	b0 01                	mov    $0x1,%al
45afd0:	eb 02                	jmp    0x45afd4
45afd2:	32 c0                	xor    %al,%al
45afd4:	5e                   	pop    %esi
45afd5:	5b                   	pop    %ebx
45afd6:	8b e5                	mov    %ebp,%esp
45afd8:	5d                   	pop    %ebp
45afd9:	c2 08 00             	ret    $0x8
45afdc:	55                   	push   %ebp
45afdd:	8b ec                	mov    %esp,%ebp
45afdf:	83 ec 18             	sub    $0x18,%esp
45afe2:	53                   	push   %ebx
45afe3:	56                   	push   %esi
45afe4:	8b d9                	mov    %ecx,%ebx
45afe6:	8b 4d 08             	mov    0x8(%ebp),%ecx
45afe9:	57                   	push   %edi
45afea:	89 5d f8             	mov    %ebx,-0x8(%ebp)
45afed:	e8 fa ce fa ff       	call   0x407eec
45aff2:	ff 33                	push   (%ebx)
45aff4:	e8 a1 b1 fb ff       	call   0x41619a
45aff9:	84 c0                	test   %al,%al
45affb:	74 07                	je     0x45b004
45affd:	32 c0                	xor    %al,%al
45afff:	e9 95 00 00 00       	jmp    0x45b099
45b004:	8b cb                	mov    %ebx,%ecx
45b006:	e8 97 00 00 00       	call   0x45b0a2
45b00b:	8b d8                	mov    %eax,%ebx
45b00d:	85 db                	test   %ebx,%ebx
45b00f:	75 05                	jne    0x45b016
45b011:	bb ff 7f 00 00       	mov    $0x7fff,%ebx
45b016:	33 c9                	xor    %ecx,%ecx
45b018:	8d 73 01             	lea    0x1(%ebx),%esi
45b01b:	6a 02                	push   $0x2
45b01d:	5a                   	pop    %edx
45b01e:	8b c6                	mov    %esi,%eax
45b020:	f7 e2                	mul    %edx
45b022:	0f 90 c1             	seto   %cl
45b025:	f7 d9                	neg    %ecx
45b027:	0b c8                	or     %eax,%ecx
45b029:	51                   	push   %ecx
45b02a:	e8 c7 5f fc ff       	call   0x420ff6
45b02f:	59                   	pop    %ecx
45b030:	8b f8                	mov    %eax,%edi
45b032:	8b 45 f8             	mov    -0x8(%ebp),%eax
45b035:	57                   	push   %edi