43adef:	5f                   	pop    %edi
43adf0:	6a 01                	push   $0x1
43adf2:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43adf5:	50                   	push   %eax
43adf6:	8b c7                	mov    %edi,%eax
43adf8:	e8 b3 6a 00 00       	call   0x4418b0
43adfd:	50                   	push   %eax
43adfe:	6a 00                	push   $0x0
43ae00:	e8 b3 c2 fc ff       	call   0x4070b8
43ae05:	8b 45 e8             	mov    -0x18(%ebp),%eax
43ae08:	50                   	push   %eax
43ae09:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
43ae0c:	8b 55 f4             	mov    -0xc(%ebp),%edx
43ae0f:	8b c7                	mov    %edi,%eax
43ae11:	66 be b5 ff          	mov    $0xffb5,%si
43ae15:	e8 d6 8c fc ff       	call   0x403af0
43ae1a:	33 c0                	xor    %eax,%eax
43ae1c:	5a                   	pop    %edx
43ae1d:	59                   	pop    %ecx
43ae1e:	59                   	pop    %ecx
43ae1f:	64 89 10             	mov    %edx,%fs:(%eax)
43ae22:	68 37 ae 43 00       	push   $0x43ae37
43ae27:	8b 45 f4             	mov    -0xc(%ebp),%eax
43ae2a:	e8 c5 8a fc ff       	call   0x4038f4
43ae2f:	c3                   	ret
43ae30:	e9 53 92 fc ff       	jmp    0x404088
43ae35:	eb f0                	jmp    0x43ae27
43ae37:	0f b6 45 fb          	movzbl -0x5(%ebp),%eax
43ae3b:	5f                   	pop    %edi
43ae3c:	5e                   	pop    %esi
43ae3d:	5b                   	pop    %ebx
43ae3e:	8b e5                	mov    %ebp,%esp
43ae40:	5d                   	pop    %ebp
43ae41:	c2 04 00             	ret    $0x4
43ae44:	53                   	push   %ebx
43ae45:	56                   	push   %esi
43ae46:	57                   	push   %edi
43ae47:	83 c4 e0             	add    $0xffffffe0,%esp
43ae4a:	8b f2                	mov    %edx,%esi
43ae4c:	8d 3c 24             	lea    (%esp),%edi
43ae4f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43ae50:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43ae51:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43ae52:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43ae53:	8b f8                	mov    %eax,%edi
43ae55:	8b 9f 94 00 00 00    	mov    0x94(%edi),%ebx
43ae5b:	85 db                	test   %ebx,%ebx
43ae5d:	74 17                	je     0x43ae76
43ae5f:	8b cf                	mov    %edi,%ecx
43ae61:	33 d2                	xor    %edx,%edx
43ae63:	8b c3                	mov    %ebx,%eax
43ae65:	66 be bd ff          	mov    $0xffbd,%si
43ae69:	e8 82 8c fc ff       	call   0x403af0
43ae6e:	84 c0                	test   %al,%al
43ae70:	75 04                	jne    0x43ae76
43ae72:	33 c0                	xor    %eax,%eax
43ae74:	eb 02                	jmp    0x43ae78
43ae76:	b0 01                	mov    $0x1,%al
43ae78:	8b d8                	mov    %eax,%ebx
43ae7a:	84 db                	test   %bl,%bl
43ae7c:	74 50                	je     0x43aece
43ae7e:	8b d4                	mov    %esp,%edx
43ae80:	8b c7                	mov    %edi,%eax
43ae82:	e8 a1 13 00 00       	call   0x43c228
43ae87:	8b f0                	mov    %eax,%esi
43ae89:	85 f6                	test   %esi,%esi
43ae8b:	74 32                	je     0x43aebf
43ae8d:	8b c6                	mov    %esi,%eax
43ae8f:	e8 c8 e9 ff ff       	call   0x43985c
43ae94:	50                   	push   %eax
43ae95:	8d 44 24 14          	lea    0x14(%esp),%eax
43ae99:	50                   	push   %eax
43ae9a:	8b c6                	mov    %esi,%eax
43ae9c:	e8 77 e9 ff ff       	call   0x439818
43aea1:	8b c8                	mov    %eax,%ecx
43aea3:	33 d2                	xor    %edx,%edx
43aea5:	33 c0                	xor    %eax,%eax
43aea7:	e8 6c b8 fd ff       	call   0x416718
43aeac:	8d 4c 24 10          	lea    0x10(%esp),%ecx
43aeb0:	8b d6                	mov    %esi,%edx
43aeb2:	8b c7                	mov    %edi,%eax
43aeb4:	66 be cc ff          	mov    $0xffcc,%si
43aeb8:	e8 33 8c fc ff       	call   0x403af0
43aebd:	eb 0f                	jmp    0x43aece
43aebf:	8b cc                	mov    %esp,%ecx
43aec1:	8b d6                	mov    %esi,%edx
43aec3:	8b c7                	mov    %edi,%eax
43aec5:	66 be cc ff          	mov    $0xffcc,%si
43aec9:	e8 22 8c fc ff       	call   0x403af0
43aece:	8b c3                	mov    %ebx,%eax
43aed0:	83 c4 20             	add    $0x20,%esp
43aed3:	5f                   	pop    %edi
43aed4:	5e                   	pop    %esi
43aed5:	5b                   	pop    %ebx
43aed6:	c3                   	ret
43aed7:	90                   	nop
43aed8:	56                   	push   %esi
43aed9:	8b f0                	mov    %eax,%esi
43aedb:	8b c6                	mov    %esi,%eax
43aedd:	66 be ee ff          	mov    $0xffee,%si
43aee1:	e8 0a 8c fc ff       	call   0x403af0
43aee6:	5e                   	pop    %esi
43aee7:	c3                   	ret
43aee8:	b0 01                	mov    $0x1,%al
43aeea:	c3                   	ret
43aeeb:	90                   	nop
43aeec:	53                   	push   %ebx
43aeed:	51                   	push   %ecx
43aeee:	c6 04 24 01          	movb   $0x1,(%esp)
43aef2:	66 83 b8 b2 00 00 00 	cmpw   $0x0,0xb2(%eax)
43aef9:	00
43aefa:	74 18                	je     0x43af14
43aefc:	51                   	push   %ecx
43aefd:	8d 4c 24 04          	lea    0x4(%esp),%ecx
43af01:	51                   	push   %ecx
43af02:	8b ca                	mov    %edx,%ecx
43af04:	8b d8                	mov    %eax,%ebx
43af06:	8b d0                	mov    %eax,%edx
43af08:	8b 83 b4 00 00 00    	mov    0xb4(%ebx),%eax
43af0e:	ff 93 b0 00 00 00    	call   *0xb0(%ebx)
43af14:	0f b6 04 24          	movzbl (%esp),%eax
43af18:	5a                   	pop    %edx
43af19:	5b                   	pop    %ebx
43af1a:	c3                   	ret
43af1b:	90                   	nop
43af1c:	53                   	push   %ebx
43af1d:	56                   	push   %esi
43af1e:	83 c4 f0             	add    $0xfffffff0,%esp
43af21:	89 4c 24 04          	mov    %ecx,0x4(%esp)
43af25:	89 14 24             	mov    %edx,(%esp)
43af28:	8b f0                	mov    %eax,%esi
43af2a:	80 7e 5b 05          	cmpb   $0x5,0x5b(%esi)
43af2e:	74 4e                	je     0x43af7e
43af30:	8b 04 24             	mov    (%esp),%eax
43af33:	8b 00                	mov    (%eax),%eax
43af35:	89 44 24 08          	mov    %eax,0x8(%esp)
43af39:	8b 44 24 04          	mov    0x4(%esp),%eax
43af3d:	8b 00                	mov    (%eax),%eax
43af3f:	89 44 24 0c          	mov    %eax,0xc(%esp)
43af43:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
43af47:	8d 54 24 08          	lea    0x8(%esp),%edx
43af4b:	8b c6                	mov    %esi,%eax
43af4d:	8b 18                	mov    (%eax),%ebx
43af4f:	ff 53 34             	call   *0x34(%ebx)
43af52:	0f b6 56 5b          	movzbl 0x5b(%esi),%edx
43af56:	8b ca                	mov    %edx,%ecx
43af58:	84 c9                	test   %cl,%cl
43af5a:	74 08                	je     0x43af64
43af5c:	80 c1 fd             	add    $0xfd,%cl
43af5f:	80 e9 02             	sub    $0x2,%cl
43af62:	73 09                	jae    0x43af6d
43af64:	8b 0c 24             	mov    (%esp),%ecx
43af67:	8b 5c 24 08          	mov    0x8(%esp),%ebx
43af6b:	89 19                	mov    %ebx,(%ecx)
43af6d:	80 ea 03             	sub    $0x3,%dl
43af70:	73 0e                	jae    0x43af80
43af72:	8b 54 24 04          	mov    0x4(%esp),%edx
43af76:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
43af7a:	89 0a                	mov    %ecx,(%edx)
43af7c:	eb 02                	jmp    0x43af80
43af7e:	b0 01                	mov    $0x1,%al
43af80:	83 c4 10             	add    $0x10,%esp
43af83:	5e                   	pop    %esi
43af84:	5b                   	pop    %ebx
43af85:	c3                   	ret
43af86:	8b c0                	mov    %eax,%eax
43af88:	53                   	push   %ebx
43af89:	56                   	push   %esi
43af8a:	57                   	push   %edi
43af8b:	51                   	push   %ecx
43af8c:	89 0c 24             	mov    %ecx,(%esp)
43af8f:	8b fa                	mov    %edx,%edi
43af91:	8b f0                	mov    %eax,%esi
43af93:	8b 0c 24             	mov    (%esp),%ecx
43af96:	8b d7                	mov    %edi,%edx
43af98:	8b c6                	mov    %esi,%eax
43af9a:	8b 18                	mov    (%eax),%ebx
43af9c:	ff 53 30             	call   *0x30(%ebx)
43af9f:	8b d8                	mov    %eax,%ebx
43afa1:	84 db                	test   %bl,%bl
43afa3:	74 0c                	je     0x43afb1
43afa5:	8b 0c 24             	mov    (%esp),%ecx
43afa8:	8b d7                	mov    %edi,%edx
43afaa:	8b c6                	mov    %esi,%eax
43afac:	e8 97 00 00 00       	call   0x43b048
43afb1:	8b c3                	mov    %ebx,%eax
43afb3:	5a                   	pop    %edx
43afb4:	5f                   	pop    %edi
43afb5:	5e                   	pop    %esi
43afb6:	5b                   	pop    %ebx
43afb7:	c3                   	ret
43afb8:	55                   	push   %ebp
43afb9:	8b ec                	mov    %esp,%ebp
43afbb:	53                   	push   %ebx
43afbc:	66 83 b8 ba 00 00 00 	cmpw   $0x0,0xba(%eax)
43afc3:	00
43afc4:	74 1b                	je     0x43afe1
43afc6:	51                   	push   %ecx
43afc7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43afca:	51                   	push   %ecx
43afcb:	8b 4d 08             	mov    0x8(%ebp),%ecx
43afce:	51                   	push   %ecx
43afcf:	8b ca                	mov    %edx,%ecx
43afd1:	8b d8                	mov    %eax,%ebx
43afd3:	8b d0                	mov    %eax,%edx
43afd5:	8b 83 bc 00 00 00    	mov    0xbc(%ebx),%eax
43afdb:	ff 93 b8 00 00 00    	call   *0xb8(%ebx)
43afe1:	5b                   	pop    %ebx
43afe2:	5d                   	pop    %ebp
43afe3:	c2 08 00             	ret    $0x8
43afe6:	8b c0                	mov    %eax,%eax
43afe8:	53                   	push   %ebx
43afe9:	56                   	push   %esi
43afea:	83 c4 f8             	add    $0xfffffff8,%esp
43afed:	8b da                	mov    %edx,%ebx
43afef:	8b f0                	mov    %eax,%esi
43aff1:	53                   	push   %ebx
43aff2:	e8 b9 be fc ff       	call   0x406eb0
43aff7:	8b cc                	mov    %esp,%ecx
43aff9:	8b d3                	mov    %ebx,%edx
43affb:	8b c6                	mov    %esi,%eax
43affd:	e8 da e9 ff ff       	call   0x4399dc
43b002:	8b 04 24             	mov    (%esp),%eax
43b005:	89 03                	mov    %eax,(%ebx)
43b007:	8b 44 24 04          	mov    0x4(%esp),%eax
43b00b:	89 43 04             	mov    %eax,0x4(%ebx)
43b00e:	59                   	pop    %ecx
43b00f:	5a                   	pop    %edx
43b010:	5e                   	pop    %esi
43b011:	5b                   	pop    %ebx
43b012:	c3                   	ret
43b013:	90                   	nop
43b014:	56                   	push   %esi
43b015:	f6 40 50 04          	testb  $0x4,0x50(%eax)
43b019:	74 22                	je     0x43b03d
43b01b:	8b 32                	mov    (%edx),%esi
43b01d:	81 fe 04 02 00 00    	cmp    $0x204,%esi
43b023:	74 1c                	je     0x43b041
43b025:	81 fe 05 02 00 00    	cmp    $0x205,%esi
43b02b:	74 14                	je     0x43b041
43b02d:	81 fe 00 02 00 00    	cmp    $0x200,%esi
43b033:	74 0c                	je     0x43b041
43b035:	81 fe 06 02 00 00    	cmp    $0x206,%esi
43b03b:	74 04                	je     0x43b041
43b03d:	33 c0                	xor    %eax,%eax
43b03f:	5e                   	pop    %esi
43b040:	c3                   	ret
43b041:	b0 01                	mov    $0x1,%al
43b043:	5e                   	pop    %esi
43b044:	c3                   	ret
43b045:	8d 40 00             	lea    0x0(%eax),%eax
43b048:	53                   	push   %ebx
43b049:	56                   	push   %esi
43b04a:	57                   	push   %edi
43b04b:	83 c4 f0             	add    $0xfffffff0,%esp
43b04e:	8b f1                	mov    %ecx,%esi
43b050:	8b da                	mov    %edx,%ebx
43b052:	8b 50 74             	mov    0x74(%eax),%edx
43b055:	8b 52 14             	mov    0x14(%edx),%edx
43b058:	85 d2                	test   %edx,%edx
43b05a:	76 05                	jbe    0x43b061
43b05c:	89 14 24             	mov    %edx,(%esp)
43b05f:	eb 05                	jmp    0x43b066
43b061:	33 d2                	xor    %edx,%edx
43b063:	89 14 24             	mov    %edx,(%esp)
43b066:	8b 50 74             	mov    0x74(%eax),%edx
43b069:	8b 52 10             	mov    0x10(%edx),%edx
43b06c:	85 d2                	test   %edx,%edx
43b06e:	76 06                	jbe    0x43b076
43b070:	89 54 24 04          	mov    %edx,0x4(%esp)
43b074:	eb 06                	jmp    0x43b07c
43b076:	33 d2                	xor    %edx,%edx
43b078:	89 54 24 04          	mov    %edx,0x4(%esp)
43b07c:	8b 50 74             	mov    0x74(%eax),%edx
43b07f:	8b 52 0c             	mov    0xc(%edx),%edx
43b082:	85 d2                	test   %edx,%edx
43b084:	76 06                	jbe    0x43b08c
43b086:	89 54 24 08          	mov    %edx,0x8(%esp)
43b08a:	eb 06                	jmp    0x43b092
43b08c:	33 d2                	xor    %edx,%edx
43b08e:	89 54 24 08          	mov    %edx,0x8(%esp)
43b092:	8b 50 74             	mov    0x74(%eax),%edx
43b095:	8b 52 08             	mov    0x8(%edx),%edx
43b098:	85 d2                	test   %edx,%edx
43b09a:	76 06                	jbe    0x43b0a2
43b09c:	89 54 24 0c          	mov    %edx,0xc(%esp)
43b0a0:	eb 06                	jmp    0x43b0a8
43b0a2:	33 d2                	xor    %edx,%edx
43b0a4:	89 54 24 0c          	mov    %edx,0xc(%esp)
43b0a8:	8d 54 24 08          	lea    0x8(%esp),%edx
43b0ac:	52                   	push   %edx
43b0ad:	8d 54 24 10          	lea    0x10(%esp),%edx
43b0b1:	52                   	push   %edx
43b0b2:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
43b0b6:	8d 54 24 08          	lea    0x8(%esp),%edx
43b0ba:	8b 38                	mov    (%eax),%edi
43b0bc:	ff 57 38             	call   *0x38(%edi)
43b0bf:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
43b0c4:	7e 10                	jle    0x43b0d6
43b0c6:	8b 03                	mov    (%ebx),%eax
43b0c8:	3b 44 24 08          	cmp    0x8(%esp),%eax
43b0cc:	7e 08                	jle    0x43b0d6
43b0ce:	8b 44 24 08          	mov    0x8(%esp),%eax
43b0d2:	89 03                	mov    %eax,(%ebx)
43b0d4:	eb 12                	jmp    0x43b0e8
43b0d6:	83 3c 24 00          	cmpl   $0x0,(%esp)
43b0da:	7e 0c                	jle    0x43b0e8
43b0dc:	8b 03                	mov    (%ebx),%eax
43b0de:	3b 04 24             	cmp    (%esp),%eax
43b0e1:	7d 05                	jge    0x43b0e8
43b0e3:	8b 04 24             	mov    (%esp),%eax
43b0e6:	89 03                	mov    %eax,(%ebx)
43b0e8:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
43b0ed:	7e 10                	jle    0x43b0ff
43b0ef:	8b 06                	mov    (%esi),%eax
43b0f1:	3b 44 24 0c          	cmp    0xc(%esp),%eax
43b0f5:	7e 08                	jle    0x43b0ff
43b0f7:	8b 44 24 0c          	mov    0xc(%esp),%eax
43b0fb:	89 06                	mov    %eax,(%esi)
43b0fd:	eb 15                	jmp    0x43b114
43b0ff:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
43b104:	7e 0e                	jle    0x43b114
43b106:	8b 06                	mov    (%esi),%eax
43b108:	3b 44 24 04          	cmp    0x4(%esp),%eax
43b10c:	7d 06                	jge    0x43b114
43b10e:	8b 44 24 04          	mov    0x4(%esp),%eax
43b112:	89 06                	mov    %eax,(%esi)
43b114:	83 c4 10             	add    $0x10,%esp
43b117:	5f                   	pop    %edi
43b118:	5e                   	pop    %esi
43b119:	5b                   	pop    %ebx
43b11a:	c3                   	ret
43b11b:	90                   	nop
43b11c:	55                   	push   %ebp
43b11d:	8b ec                	mov    %esp,%ebp
43b11f:	83 c4 f0             	add    $0xfffffff0,%esp
43b122:	53                   	push   %ebx
43b123:	89 55 f0             	mov    %edx,-0x10(%ebp)
43b126:	89 4d f4             	mov    %ecx,-0xc(%ebp)
43b129:	8b 55 08             	mov    0x8(%ebp),%edx
43b12c:	89 55 f8             	mov    %edx,-0x8(%ebp)
43b12f:	33 d2                	xor    %edx,%edx
43b131:	89 55 fc             	mov    %edx,-0x4(%ebp)
43b134:	85 c0                	test   %eax,%eax
43b136:	74 0b                	je     0x43b143
43b138:	8d 55 f0             	lea    -0x10(%ebp),%edx
43b13b:	8b d8                	mov    %eax,%ebx
43b13d:	8b 43 3c             	mov    0x3c(%ebx),%eax
43b140:	ff 53 38             	call   *0x38(%ebx)
43b143:	8b 45 fc             	mov    -0x4(%ebp),%eax