43ae9c:	8b f0                	mov    %eax,%esi
43ae9e:	eb 2d                	jmp    0x43aecd
43aea0:	ff 77 08             	push   0x8(%edi)
43aea3:	50                   	push   %eax
43aea4:	52                   	push   %edx
43aea5:	50                   	push   %eax
43aea6:	51                   	push   %ecx
43aea7:	68 01 10 00 00       	push   $0x1001
43aeac:	8d 45 f0             	lea    -0x10(%ebp),%eax
43aeaf:	53                   	push   %ebx
43aeb0:	50                   	push   %eax
43aeb1:	e8 d1 02 00 00       	call   0x43b187
43aeb6:	83 c4 20             	add    $0x20,%esp
43aeb9:	85 c0                	test   %eax,%eax
43aebb:	75 0d                	jne    0x43aeca
43aebd:	e8 a6 de fe ff       	call   0x428d68
43aec2:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43aec8:	eb 03                	jmp    0x43aecd
43aeca:	8d 70 fe             	lea    -0x2(%eax),%esi
43aecd:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
43aed1:	74 07                	je     0x43aeda
43aed3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
43aed6:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
43aeda:	5f                   	pop    %edi
43aedb:	8b c6                	mov    %esi,%eax
43aedd:	5e                   	pop    %esi
43aede:	5b                   	pop    %ebx
43aedf:	8b e5                	mov    %ebp,%esp
43aee1:	5d                   	pop    %ebp
43aee2:	c3                   	ret
43aee3:	55                   	push   %ebp
43aee4:	8b ec                	mov    %esp,%ebp
43aee6:	83 ec 2c             	sub    $0x2c,%esp
43aee9:	a1 50 fd 4b 00       	mov    0x4bfd50,%eax
43aeee:	33 c5                	xor    %ebp,%eax
43aef0:	89 45 fc             	mov    %eax,-0x4(%ebp)
43aef3:	8b 45 08             	mov    0x8(%ebp),%eax
43aef6:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
43aef9:	53                   	push   %ebx
43aefa:	89 45 e0             	mov    %eax,-0x20(%ebp)
43aefd:	8b 45 0c             	mov    0xc(%ebp),%eax
43af00:	56                   	push   %esi
43af01:	8b 75 18             	mov    0x18(%ebp),%esi
43af04:	89 45 d4             	mov    %eax,-0x2c(%ebp)
43af07:	8b 45 14             	mov    0x14(%ebp),%eax
43af0a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43af0d:	89 4d dc             	mov    %ecx,-0x24(%ebp)
43af10:	57                   	push   %edi
43af11:	85 f6                	test   %esi,%esi
43af13:	7e 22                	jle    0x43af37
43af15:	56                   	push   %esi
43af16:	50                   	push   %eax
43af17:	e8 4b 02 00 00       	call   0x43b167
43af1c:	59                   	pop    %ecx
43af1d:	59                   	pop    %ecx
43af1e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
43af21:	8b f0                	mov    %eax,%esi
43af23:	8b 7d 20             	mov    0x20(%ebp),%edi
43af26:	85 ff                	test   %edi,%edi
43af28:	7e 19                	jle    0x43af43
43af2a:	57                   	push   %edi
43af2b:	51                   	push   %ecx
43af2c:	e8 36 02 00 00       	call   0x43b167
43af31:	59                   	pop    %ecx
43af32:	59                   	pop    %ecx
43af33:	8b f8                	mov    %eax,%edi
43af35:	eb 11                	jmp    0x43af48
43af37:	83 fe ff             	cmp    $0xffffffff,%esi
43af3a:	7d e7                	jge    0x43af23
43af3c:	33 c0                	xor    %eax,%eax
43af3e:	e9 10 02 00 00       	jmp    0x43b153
43af43:	83 ff ff             	cmp    $0xffffffff,%edi
43af46:	7c f4                	jl     0x43af3c
43af48:	8b 45 24             	mov    0x24(%ebp),%eax
43af4b:	33 db                	xor    %ebx,%ebx
43af4d:	89 5d d8             	mov    %ebx,-0x28(%ebp)
43af50:	85 c0                	test   %eax,%eax
43af52:	75 0b                	jne    0x43af5f
43af54:	8b 45 e0             	mov    -0x20(%ebp),%eax
43af57:	8b 00                	mov    (%eax),%eax
43af59:	8b 40 04             	mov    0x4(%eax),%eax
43af5c:	89 45 24             	mov    %eax,0x24(%ebp)
43af5f:	85 f6                	test   %esi,%esi
43af61:	74 08                	je     0x43af6b
43af63:	85 ff                	test   %edi,%edi
43af65:	0f 85 96 00 00 00    	jne    0x43b001
43af6b:	3b f7                	cmp    %edi,%esi
43af6d:	75 08                	jne    0x43af77
43af6f:	6a 02                	push   $0x2
43af71:	58                   	pop    %eax
43af72:	e9 dc 01 00 00       	jmp    0x43b153
43af77:	83 ff 01             	cmp    $0x1,%edi
43af7a:	7e 08                	jle    0x43af84
43af7c:	33 c0                	xor    %eax,%eax
43af7e:	40                   	inc    %eax
43af7f:	e9 cf 01 00 00       	jmp    0x43b153
43af84:	83 fe 01             	cmp    $0x1,%esi
43af87:	7e 04                	jle    0x43af8d
43af89:	6a 03                	push   $0x3
43af8b:	eb e4                	jmp    0x43af71
43af8d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43af90:	51                   	push   %ecx
43af91:	50                   	push   %eax
43af92:	ff 15 90 f3 48 00    	call   *0x48f390
43af98:	85 c0                	test   %eax,%eax
43af9a:	74 a0                	je     0x43af3c
43af9c:	85 f6                	test   %esi,%esi
43af9e:	7e 2b                	jle    0x43afcb
43afa0:	83 7d e8 02          	cmpl   $0x2,-0x18(%ebp)
43afa4:	72 e3                	jb     0x43af89
43afa6:	8d 45 ee             	lea    -0x12(%ebp),%eax
43afa9:	38 5d ee             	cmp    %bl,-0x12(%ebp)
43afac:	74 db                	je     0x43af89
43afae:	8b 75 e4             	mov    -0x1c(%ebp),%esi
43afb1:	8a 48 01             	mov    0x1(%eax),%cl
43afb4:	84 c9                	test   %cl,%cl
43afb6:	74 d1                	je     0x43af89
43afb8:	8a 16                	mov    (%esi),%dl
43afba:	3a 10                	cmp    (%eax),%dl
43afbc:	72 04                	jb     0x43afc2
43afbe:	3a d1                	cmp    %cl,%dl
43afc0:	76 ad                	jbe    0x43af6f
43afc2:	83 c0 02             	add    $0x2,%eax
43afc5:	38 18                	cmp    %bl,(%eax)
43afc7:	75 e8                	jne    0x43afb1
43afc9:	eb be                	jmp    0x43af89
43afcb:	85 ff                	test   %edi,%edi
43afcd:	7e 32                	jle    0x43b001
43afcf:	83 7d e8 02          	cmpl   $0x2,-0x18(%ebp)
43afd3:	72 a7                	jb     0x43af7c
43afd5:	8d 45 ee             	lea    -0x12(%ebp),%eax
43afd8:	38 5d ee             	cmp    %bl,-0x12(%ebp)
43afdb:	74 9f                	je     0x43af7c
43afdd:	8b 75 dc             	mov    -0x24(%ebp),%esi
43afe0:	8a 48 01             	mov    0x1(%eax),%cl
43afe3:	84 c9                	test   %cl,%cl
43afe5:	74 95                	je     0x43af7c
43afe7:	8a 16                	mov    (%esi),%dl
43afe9:	3a 10                	cmp    (%eax),%dl
43afeb:	72 08                	jb     0x43aff5
43afed:	3a d1                	cmp    %cl,%dl
43afef:	0f 86 7a ff ff ff    	jbe    0x43af6f
43aff5:	83 c0 02             	add    $0x2,%eax
43aff8:	38 18                	cmp    %bl,(%eax)
43affa:	75 e4                	jne    0x43afe0
43affc:	e9 7b ff ff ff       	jmp    0x43af7c
43b001:	53                   	push   %ebx
43b002:	53                   	push   %ebx
43b003:	56                   	push   %esi
43b004:	ff 75 e4             	push   -0x1c(%ebp)
43b007:	6a 09                	push   $0x9
43b009:	ff 75 24             	push   0x24(%ebp)
43b00c:	ff 15 84 f1 48 00    	call   *0x48f184
43b012:	8b c8                	mov    %eax,%ecx
43b014:	89 4d e0             	mov    %ecx,-0x20(%ebp)
43b017:	85 c9                	test   %ecx,%ecx
43b019:	0f 84 1d ff ff ff    	je     0x43af3c
43b01f:	7e 52                	jle    0x43b073
43b021:	6a e0                	push   $0xffffffe0
43b023:	33 d2                	xor    %edx,%edx
43b025:	58                   	pop    %eax
43b026:	f7 f1                	div    %ecx
43b028:	83 f8 02             	cmp    $0x2,%eax
43b02b:	72 46                	jb     0x43b073
43b02d:	03 c9                	add    %ecx,%ecx
43b02f:	8d 41 08             	lea    0x8(%ecx),%eax
43b032:	3b c1                	cmp    %ecx,%eax
43b034:	76 3a                	jbe    0x43b070
43b036:	8b 45 e0             	mov    -0x20(%ebp),%eax
43b039:	8d 04 45 08 00 00 00 	lea    0x8(,%eax,2),%eax
43b040:	3d 00 04 00 00       	cmp    $0x400,%eax
43b045:	77 13                	ja     0x43b05a
43b047:	e8 a4 9c ff ff       	call   0x434cf0
43b04c:	8b dc                	mov    %esp,%ebx
43b04e:	85 db                	test   %ebx,%ebx
43b050:	74 1e                	je     0x43b070
43b052:	c7 03 cc cc 00 00    	movl   $0xcccc,(%ebx)
43b058:	eb 13                	jmp    0x43b06d
43b05a:	50                   	push   %eax
43b05b:	e8 ec a8 fe ff       	call   0x42594c
43b060:	8b d8                	mov    %eax,%ebx
43b062:	59                   	pop    %ecx
43b063:	85 db                	test   %ebx,%ebx
43b065:	74 09                	je     0x43b070
43b067:	c7 03 dd dd 00 00    	movl   $0xdddd,(%ebx)
43b06d:	83 c3 08             	add    $0x8,%ebx
43b070:	8b 4d e0             	mov    -0x20(%ebp),%ecx
43b073:	85 db                	test   %ebx,%ebx
43b075:	0f 84 c1 fe ff ff    	je     0x43af3c
43b07b:	51                   	push   %ecx
43b07c:	53                   	push   %ebx
43b07d:	56                   	push   %esi
43b07e:	ff 75 e4             	push   -0x1c(%ebp)
43b081:	8b 75 24             	mov    0x24(%ebp),%esi
43b084:	6a 01                	push   $0x1
43b086:	56                   	push   %esi
43b087:	ff 15 84 f1 48 00    	call   *0x48f184
43b08d:	85 c0                	test   %eax,%eax
43b08f:	0f 84 b4 00 00 00    	je     0x43b149
43b095:	33 c0                	xor    %eax,%eax
43b097:	50                   	push   %eax
43b098:	50                   	push   %eax
43b099:	57                   	push   %edi
43b09a:	ff 75 dc             	push   -0x24(%ebp)
43b09d:	6a 09                	push   $0x9
43b09f:	56                   	push   %esi
43b0a0:	ff 15 84 f1 48 00    	call   *0x48f184
43b0a6:	8b c8                	mov    %eax,%ecx
43b0a8:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
43b0ab:	85 c9                	test   %ecx,%ecx
43b0ad:	0f 84 96 00 00 00    	je     0x43b149
43b0b3:	7e 57                	jle    0x43b10c
43b0b5:	6a e0                	push   $0xffffffe0
43b0b7:	33 d2                	xor    %edx,%edx
43b0b9:	58                   	pop    %eax
43b0ba:	f7 f1                	div    %ecx
43b0bc:	83 f8 02             	cmp    $0x2,%eax
43b0bf:	72 4b                	jb     0x43b10c
43b0c1:	03 c9                	add    %ecx,%ecx
43b0c3:	8d 41 08             	lea    0x8(%ecx),%eax
43b0c6:	3b c1                	cmp    %ecx,%eax
43b0c8:	76 3f                	jbe    0x43b109
43b0ca:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43b0cd:	8d 04 45 08 00 00 00 	lea    0x8(,%eax,2),%eax
43b0d4:	3d 00 04 00 00       	cmp    $0x400,%eax
43b0d9:	77 13                	ja     0x43b0ee
43b0db:	e8 10 9c ff ff       	call   0x434cf0
43b0e0:	8b f4                	mov    %esp,%esi
43b0e2:	85 f6                	test   %esi,%esi
43b0e4:	74 1e                	je     0x43b104
43b0e6:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
43b0ec:	eb 13                	jmp    0x43b101
43b0ee:	50                   	push   %eax
43b0ef:	e8 58 a8 fe ff       	call   0x42594c
43b0f4:	8b f0                	mov    %eax,%esi
43b0f6:	59                   	pop    %ecx
43b0f7:	85 f6                	test   %esi,%esi
43b0f9:	74 09                	je     0x43b104
43b0fb:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
43b101:	83 c6 08             	add    $0x8,%esi
43b104:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
43b107:	eb 05                	jmp    0x43b10e
43b109:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
43b10c:	33 f6                	xor    %esi,%esi
43b10e:	85 f6                	test   %esi,%esi
43b110:	74 37                	je     0x43b149
43b112:	51                   	push   %ecx
43b113:	56                   	push   %esi
43b114:	57                   	push   %edi
43b115:	ff 75 dc             	push   -0x24(%ebp)
43b118:	6a 01                	push   $0x1
43b11a:	ff 75 24             	push   0x24(%ebp)
43b11d:	ff 15 84 f1 48 00    	call   *0x48f184
43b123:	85 c0                	test   %eax,%eax
43b125:	74 1b                	je     0x43b142
43b127:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43b12a:	50                   	push   %eax
43b12b:	8b 45 e0             	mov    -0x20(%ebp),%eax
43b12e:	56                   	push   %esi
43b12f:	50                   	push   %eax
43b130:	53                   	push   %ebx
43b131:	ff 75 10             	push   0x10(%ebp)
43b134:	ff 75 d4             	push   -0x2c(%ebp)
43b137:	e8 04 9a ff ff       	call   0x434b40
43b13c:	83 c4 18             	add    $0x18,%esp
43b13f:	89 45 d8             	mov    %eax,-0x28(%ebp)
43b142:	56                   	push   %esi
43b143:	e8 ce cc fe ff       	call   0x427e16
43b148:	59                   	pop    %ecx
43b149:	53                   	push   %ebx
43b14a:	e8 c7 cc fe ff       	call   0x427e16
43b14f:	8b 45 d8             	mov    -0x28(%ebp),%eax
43b152:	59                   	pop    %ecx
43b153:	8d 65 c8             	lea    -0x38(%ebp),%esp
43b156:	5f                   	pop    %edi
43b157:	5e                   	pop    %esi
43b158:	5b                   	pop    %ebx
43b159:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43b15c:	33 cd                	xor    %ebp,%ecx
43b15e:	e8 d3 16 ff ff       	call   0x42c836
43b163:	8b e5                	mov    %ebp,%esp
43b165:	5d                   	pop    %ebp
43b166:	c3                   	ret
43b167:	55                   	push   %ebp
43b168:	8b ec                	mov    %esp,%ebp
43b16a:	8b 45 0c             	mov    0xc(%ebp),%eax
43b16d:	8b c8                	mov    %eax,%ecx
43b16f:	8b 55 08             	mov    0x8(%ebp),%edx
43b172:	85 c0                	test   %eax,%eax
43b174:	74 0b                	je     0x43b181
43b176:	49                   	dec    %ecx
43b177:	80 3a 00             	cmpb   $0x0,(%edx)
43b17a:	74 06                	je     0x43b182
43b17c:	42                   	inc    %edx
43b17d:	85 c9                	test   %ecx,%ecx
43b17f:	75 f5                	jne    0x43b176
43b181:	49                   	dec    %ecx
43b182:	2b c1                	sub    %ecx,%eax
43b184:	48                   	dec    %eax
43b185:	5d                   	pop    %ebp
43b186:	c3                   	ret
43b187:	55                   	push   %ebp
43b188:	8b ec                	mov    %esp,%ebp
43b18a:	83 ec 10             	sub    $0x10,%esp
43b18d:	ff 75 08             	push   0x8(%ebp)
43b190:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43b193:	e8 1d 7f fe ff       	call   0x4230b5
43b198:	ff 75 24             	push   0x24(%ebp)
43b19b:	8d 45 f0             	lea    -0x10(%ebp),%eax
43b19e:	ff 75 20             	push   0x20(%ebp)
43b1a1:	ff 75 1c             	push   0x1c(%ebp)
43b1a4:	ff 75 18             	push   0x18(%ebp)
43b1a7:	ff 75 14             	push   0x14(%ebp)
43b1aa:	ff 75 10             	push   0x10(%ebp)
43b1ad:	ff 75 0c             	push   0xc(%ebp)
43b1b0:	50                   	push   %eax
43b1b1:	e8 2d fd ff ff       	call   0x43aee3
43b1b6:	83 c4 20             	add    $0x20,%esp
43b1b9:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
43b1bd:	74 07                	je     0x43b1c6
43b1bf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
43b1c2:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
43b1c6:	8b e5                	mov    %ebp,%esp
43b1c8:	5d                   	pop    %ebp
43b1c9:	c3                   	ret
43b1ca:	55                   	push   %ebp
43b1cb:	8b ec                	mov    %esp,%ebp
43b1cd:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
43b1d1:	75 04                	jne    0x43b1d7
43b1d3:	33 c0                	xor    %eax,%eax
43b1d5:	5d                   	pop    %ebp
43b1d6:	c3                   	ret
43b1d7:	53                   	push   %ebx
43b1d8:	57                   	push   %edi
43b1d9:	ff 75 08             	push   0x8(%ebp)
43b1dc:	e8 9f 87 fe ff       	call   0x423980
43b1e1:	8d 78 01             	lea    0x1(%eax),%edi
43b1e4:	57                   	push   %edi
43b1e5:	e8 62 a7 fe ff       	call   0x42594c
43b1ea:	8b d8                	mov    %eax,%ebx
43b1ec:	59                   	pop    %ecx
43b1ed:	59                   	pop    %ecx
43b1ee:	85 db                	test   %ebx,%ebx
43b1f0:	74 15                	je     0x43b207
43b1f2:	ff 75 08             	push   0x8(%ebp)
43b1f5:	57                   	push   %edi
43b1f6:	53                   	push   %ebx
43b1f7:	e8 06 96 ff ff       	call   0x434802
43b1fc:	83 c4 0c             	add    $0xc,%esp
43b1ff:	85 c0                	test   %eax,%eax