43b951:	6a 00                	push   $0x0
43b953:	53                   	push   %ebx
43b954:	56                   	push   %esi
43b955:	8b f1                	mov    %ecx,%esi
43b957:	66 89 55 fe          	mov    %dx,-0x2(%ebp)
43b95b:	33 d2                	xor    %edx,%edx
43b95d:	55                   	push   %ebp
43b95e:	68 1d ba 43 00       	push   $0x43ba1d
43b963:	64 ff 32             	push   %fs:(%edx)
43b966:	64 89 22             	mov    %esp,%fs:(%edx)
43b969:	f6 45 fe 10          	testb  $0x10,-0x2(%ebp)
43b96d:	74 19                	je     0x43b988
43b96f:	56                   	push   %esi
43b970:	50                   	push   %eax
43b971:	e8 96 b2 fc ff       	call   0x406c0c
43b976:	8b 55 0c             	mov    0xc(%ebp),%edx
43b979:	8b 52 fc             	mov    -0x4(%edx),%edx
43b97c:	b1 01                	mov    $0x1,%cl
43b97e:	92                   	xchg   %eax,%edx
43b97f:	e8 7c f7 ff ff       	call   0x43b100
43b984:	8b d8                	mov    %eax,%ebx
43b986:	eb 2a                	jmp    0x43b9b2
43b988:	8b 55 0c             	mov    0xc(%ebp),%edx
43b98b:	8b 52 fc             	mov    -0x4(%edx),%edx
43b98e:	b1 01                	mov    $0x1,%cl
43b990:	92                   	xchg   %eax,%edx
43b991:	e8 6a f7 ff ff       	call   0x43b100
43b996:	8b d8                	mov    %eax,%ebx
43b998:	85 db                	test   %ebx,%ebx
43b99a:	74 16                	je     0x43b9b2
43b99c:	8b c3                	mov    %ebx,%eax
43b99e:	e8 09 e3 ff ff       	call   0x439cac
43b9a3:	3b f0                	cmp    %eax,%esi
43b9a5:	7d 0b                	jge    0x43b9b2
43b9a7:	8b d6                	mov    %esi,%edx
43b9a9:	8b c3                	mov    %ebx,%eax
43b9ab:	e8 0c e3 ff ff       	call   0x439cbc
43b9b0:	8b d8                	mov    %eax,%ebx
43b9b2:	85 db                	test   %ebx,%ebx
43b9b4:	74 4a                	je     0x43ba00
43b9b6:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
43b9ba:	74 44                	je     0x43ba00
43b9bc:	8d 45 f8             	lea    -0x8(%ebp),%eax
43b9bf:	8a 55 08             	mov    0x8(%ebp),%dl
43b9c2:	e8 91 8d fc ff       	call   0x404758
43b9c7:	8b 45 f8             	mov    -0x8(%ebp),%eax
43b9ca:	50                   	push   %eax
43b9cb:	8d 45 f4             	lea    -0xc(%ebp),%eax
43b9ce:	8b 53 30             	mov    0x30(%ebx),%edx
43b9d1:	8a 12                	mov    (%edx),%dl
43b9d3:	e8 80 8d fc ff       	call   0x404758
43b9d8:	8b 45 f4             	mov    -0xc(%ebp),%eax
43b9db:	5a                   	pop    %edx
43b9dc:	e8 eb c8 fc ff       	call   0x4082cc
43b9e1:	85 c0                	test   %eax,%eax
43b9e3:	75 11                	jne    0x43b9f6
43b9e5:	8d 55 f0             	lea    -0x10(%ebp),%edx
43b9e8:	8b 43 30             	mov    0x30(%ebx),%eax
43b9eb:	e8 a8 0d 00 00       	call   0x43c798
43b9f0:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
43b9f4:	74 04                	je     0x43b9fa
43b9f6:	33 c0                	xor    %eax,%eax
43b9f8:	eb 02                	jmp    0x43b9fc
43b9fa:	b0 01                	mov    $0x1,%al
43b9fc:	8b d8                	mov    %eax,%ebx
43b9fe:	eb 02                	jmp    0x43ba02
43ba00:	33 db                	xor    %ebx,%ebx
43ba02:	33 c0                	xor    %eax,%eax
43ba04:	5a                   	pop    %edx
43ba05:	59                   	pop    %ecx
43ba06:	59                   	pop    %ecx
43ba07:	64 89 10             	mov    %edx,%fs:(%eax)
43ba0a:	68 24 ba 43 00       	push   $0x43ba24
43ba0f:	8d 45 f0             	lea    -0x10(%ebp),%eax
43ba12:	ba 03 00 00 00       	mov    $0x3,%edx
43ba17:	e8 78 8b fc ff       	call   0x404594
43ba1c:	c3                   	ret
43ba1d:	e9 2a 85 fc ff       	jmp    0x403f4c
43ba22:	eb eb                	jmp    0x43ba0f
43ba24:	8b c3                	mov    %ebx,%eax
43ba26:	5e                   	pop    %esi
43ba27:	5b                   	pop    %ebx
43ba28:	8b e5                	mov    %ebp,%esp
43ba2a:	5d                   	pop    %ebp
43ba2b:	c2 04 00             	ret    $0x4
43ba2e:	8b c0                	mov    %eax,%eax
43ba30:	55                   	push   %ebp
43ba31:	8b ec                	mov    %esp,%ebp
43ba33:	83 c4 e8             	add    $0xffffffe8,%esp
43ba36:	53                   	push   %ebx
43ba37:	56                   	push   %esi
43ba38:	57                   	push   %edi
43ba39:	8b da                	mov    %edx,%ebx
43ba3b:	89 45 fc             	mov    %eax,-0x4(%ebp)
43ba3e:	33 c0                	xor    %eax,%eax
43ba40:	89 43 0c             	mov    %eax,0xc(%ebx)
43ba43:	c7 45 f4 ff ff ff ff 	movl   $0xffffffff,-0xc(%ebp)
43ba4a:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
43ba51:	c7 45 ec ff ff ff ff 	movl   $0xffffffff,-0x14(%ebp)
43ba58:	8b 43 08             	mov    0x8(%ebx),%eax
43ba5b:	50                   	push   %eax
43ba5c:	e8 53 b1 fc ff       	call   0x406bb4
43ba61:	89 45 f8             	mov    %eax,-0x8(%ebp)
43ba64:	8b 45 f8             	mov    -0x8(%ebp),%eax
43ba67:	48                   	dec    %eax
43ba68:	85 c0                	test   %eax,%eax
43ba6a:	7c 77                	jl     0x43bae3
43ba6c:	40                   	inc    %eax
43ba6d:	89 45 e8             	mov    %eax,-0x18(%ebp)
43ba70:	33 f6                	xor    %esi,%esi
43ba72:	68 00 04 00 00       	push   $0x400
43ba77:	56                   	push   %esi
43ba78:	8b 43 08             	mov    0x8(%ebx),%eax
43ba7b:	50                   	push   %eax
43ba7c:	e8 4b b1 fc ff       	call   0x406bcc
43ba81:	8b f8                	mov    %eax,%edi
43ba83:	55                   	push   %ebp
43ba84:	8a 43 04             	mov    0x4(%ebx),%al
43ba87:	50                   	push   %eax
43ba88:	8b 43 08             	mov    0x8(%ebx),%eax
43ba8b:	8b ce                	mov    %esi,%ecx
43ba8d:	8b d7                	mov    %edi,%edx
43ba8f:	e8 58 fe ff ff       	call   0x43b8ec
43ba94:	59                   	pop    %ecx
43ba95:	84 c0                	test   %al,%al
43ba97:	74 44                	je     0x43badd
43ba99:	66 f7 c7 02 00       	test   $0x2,%di
43ba9e:	74 0f                	je     0x43baaf
43baa0:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
43baa4:	7d 37                	jge    0x43badd
43baa6:	c7 45 f4 fe ff ff ff 	movl   $0xfffffffe,-0xc(%ebp)
43baad:	eb 2e                	jmp    0x43badd
43baaf:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
43bab3:	7d 0c                	jge    0x43bac1
43bab5:	89 75 f4             	mov    %esi,-0xc(%ebp)
43bab8:	c7 43 0c 02 00 00 00 	movl   $0x2,0xc(%ebx)
43babf:	eb 07                	jmp    0x43bac8
43bac1:	c7 43 0c 03 00 00 00 	movl   $0x3,0xc(%ebx)
43bac8:	66 f7 c7 80 00       	test   $0x80,%di
43bacd:	74 05                	je     0x43bad4
43bacf:	89 75 f0             	mov    %esi,-0x10(%ebp)
43bad2:	eb 09                	jmp    0x43badd
43bad4:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
43bad8:	7c 03                	jl     0x43badd
43bada:	89 75 ec             	mov    %esi,-0x14(%ebp)
43badd:	46                   	inc    %esi
43bade:	ff 4d e8             	decl   -0x18(%ebp)
43bae1:	75 8f                	jne    0x43ba72
43bae3:	83 7d f4 ff          	cmpl   $0xffffffff,-0xc(%ebp)
43bae7:	7d 0c                	jge    0x43baf5
43bae9:	c7 43 0c 00 00 01 00 	movl   $0x10000,0xc(%ebx)
43baf0:	e9 ac 00 00 00       	jmp    0x43bba1
43baf5:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
43baf9:	7d 79                	jge    0x43bb74
43bafb:	8b 45 f8             	mov    -0x8(%ebp),%eax
43bafe:	48                   	dec    %eax
43baff:	85 c0                	test   %eax,%eax
43bb01:	7c 71                	jl     0x43bb74
43bb03:	40                   	inc    %eax
43bb04:	89 45 e8             	mov    %eax,-0x18(%ebp)
43bb07:	33 f6                	xor    %esi,%esi
43bb09:	68 00 04 00 00       	push   $0x400
43bb0e:	56                   	push   %esi
43bb0f:	8b 43 08             	mov    0x8(%ebx),%eax
43bb12:	50                   	push   %eax
43bb13:	e8 b4 b0 fc ff       	call   0x406bcc
43bb18:	8b f8                	mov    %eax,%edi
43bb1a:	55                   	push   %ebp
43bb1b:	8a 43 04             	mov    0x4(%ebx),%al
43bb1e:	50                   	push   %eax
43bb1f:	8b 43 08             	mov    0x8(%ebx),%eax
43bb22:	8b ce                	mov    %esi,%ecx
43bb24:	8b d7                	mov    %edi,%edx
43bb26:	e8 1d fe ff ff       	call   0x43b948
43bb2b:	59                   	pop    %ecx
43bb2c:	84 c0                	test   %al,%al
43bb2e:	74 3e                	je     0x43bb6e
43bb30:	66 f7 c7 02 00       	test   $0x2,%di
43bb35:	74 09                	je     0x43bb40
43bb37:	c7 43 0c 00 00 01 00 	movl   $0x10000,0xc(%ebx)
43bb3e:	eb 61                	jmp    0x43bba1
43bb40:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
43bb44:	7d 0c                	jge    0x43bb52
43bb46:	89 75 f4             	mov    %esi,-0xc(%ebp)
43bb49:	c7 43 0c 02 00 00 00 	movl   $0x2,0xc(%ebx)
43bb50:	eb 07                	jmp    0x43bb59
43bb52:	c7 43 0c 03 00 00 00 	movl   $0x3,0xc(%ebx)
43bb59:	66 f7 c7 80 00       	test   $0x80,%di
43bb5e:	74 05                	je     0x43bb65
43bb60:	89 75 f0             	mov    %esi,-0x10(%ebp)
43bb63:	eb 09                	jmp    0x43bb6e
43bb65:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
43bb69:	7c 03                	jl     0x43bb6e
43bb6b:	89 75 ec             	mov    %esi,-0x14(%ebp)
43bb6e:	46                   	inc    %esi
43bb6f:	ff 4d e8             	decl   -0x18(%ebp)
43bb72:	75 95                	jne    0x43bb09
43bb74:	8b 43 0c             	mov    0xc(%ebx),%eax
43bb77:	83 f8 02             	cmp    $0x2,%eax
43bb7a:	75 0b                	jne    0x43bb87
43bb7c:	c1 e0 10             	shl    $0x10,%eax
43bb7f:	0b 45 f4             	or     -0xc(%ebp),%eax
43bb82:	89 43 0c             	mov    %eax,0xc(%ebx)
43bb85:	eb 1a                	jmp    0x43bba1
43bb87:	83 f8 03             	cmp    $0x3,%eax
43bb8a:	75 15                	jne    0x43bba1
43bb8c:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
43bb90:	7d 06                	jge    0x43bb98
43bb92:	8b 55 f4             	mov    -0xc(%ebp),%edx
43bb95:	89 55 ec             	mov    %edx,-0x14(%ebp)
43bb98:	c1 e0 10             	shl    $0x10,%eax
43bb9b:	0b 45 ec             	or     -0x14(%ebp),%eax
43bb9e:	89 43 0c             	mov    %eax,0xc(%ebx)
43bba1:	5f                   	pop    %edi
43bba2:	5e                   	pop    %esi
43bba3:	5b                   	pop    %ebx
43bba4:	8b e5                	mov    %ebp,%esp
43bba6:	5d                   	pop    %ebp
43bba7:	c3                   	ret
43bba8:	55                   	push   %ebp
43bba9:	8b ec                	mov    %esp,%ebp
43bbab:	51                   	push   %ecx
43bbac:	53                   	push   %ebx
43bbad:	56                   	push   %esi
43bbae:	57                   	push   %edi
43bbaf:	8b f1                	mov    %ecx,%esi
43bbb1:	8b fa                	mov    %edx,%edi
43bbb3:	8b d8                	mov    %eax,%ebx
43bbb5:	8b c3                	mov    %ebx,%eax
43bbb7:	e8 c8 f6 ff ff       	call   0x43b284
43bbbc:	84 c0                	test   %al,%al
43bbbe:	74 74                	je     0x43bc34
43bbc0:	33 c0                	xor    %eax,%eax
43bbc2:	89 45 fc             	mov    %eax,-0x4(%ebp)
43bbc5:	8b 45 08             	mov    0x8(%ebp),%eax
43bbc8:	50                   	push   %eax
43bbc9:	56                   	push   %esi
43bbca:	57                   	push   %edi
43bbcb:	e8 fc af fc ff       	call   0x406bcc
43bbd0:	a8 10                	test   $0x10,%al
43bbd2:	74 19                	je     0x43bbed
43bbd4:	56                   	push   %esi
43bbd5:	57                   	push   %edi
43bbd6:	e8 31 b0 fc ff       	call   0x406c0c
43bbdb:	8b f8                	mov    %eax,%edi
43bbdd:	b1 01                	mov    $0x1,%cl
43bbdf:	8b d7                	mov    %edi,%edx
43bbe1:	8b c3                	mov    %ebx,%eax
43bbe3:	e8 18 f5 ff ff       	call   0x43b100
43bbe8:	89 45 fc             	mov    %eax,-0x4(%ebp)
43bbeb:	eb 1c                	jmp    0x43bc09
43bbed:	56                   	push   %esi
43bbee:	57                   	push   %edi
43bbef:	e8 c8 af fc ff       	call   0x406bbc
43bbf4:	8b f0                	mov    %eax,%esi
43bbf6:	83 fe ff             	cmp    $0xffffffff,%esi
43bbf9:	74 0e                	je     0x43bc09
43bbfb:	33 c9                	xor    %ecx,%ecx
43bbfd:	8b d6                	mov    %esi,%edx
43bbff:	8b c3                	mov    %ebx,%eax
43bc01:	e8 fa f4 ff ff       	call   0x43b100
43bc06:	89 45 fc             	mov    %eax,-0x4(%ebp)
43bc09:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
43bc0d:	74 21                	je     0x43bc30
43bc0f:	8b 45 10             	mov    0x10(%ebp),%eax
43bc12:	c6 00 00             	movb   $0x0,(%eax)
43bc15:	8b 45 fc             	mov    -0x4(%ebp),%eax
43bc18:	8b 50 30             	mov    0x30(%eax),%edx
43bc1b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43bc1e:	8b 45 10             	mov    0x10(%ebp),%eax
43bc21:	e8 d6 ce fc ff       	call   0x408afc
43bc26:	8b 45 10             	mov    0x10(%ebp),%eax
43bc29:	e8 0a ce fc ff       	call   0x408a38
43bc2e:	eb 17                	jmp    0x43bc47
43bc30:	33 c0                	xor    %eax,%eax
43bc32:	eb 13                	jmp    0x43bc47
43bc34:	8b 45 08             	mov    0x8(%ebp),%eax
43bc37:	50                   	push   %eax
43bc38:	8b 45 0c             	mov    0xc(%ebp),%eax
43bc3b:	50                   	push   %eax
43bc3c:	8b 45 10             	mov    0x10(%ebp),%eax
43bc3f:	50                   	push   %eax
43bc40:	56                   	push   %esi
43bc41:	57                   	push   %edi
43bc42:	e8 8d af fc ff       	call   0x406bd4
43bc47:	5f                   	pop    %edi
43bc48:	5e                   	pop    %esi
43bc49:	5b                   	pop    %ebx
43bc4a:	59                   	pop    %ecx
43bc4b:	5d                   	pop    %ebp
43bc4c:	c2 0c 00             	ret    $0xc
43bc4f:	90                   	nop
43bc50:	3a 50 30             	cmp    0x30(%eax),%dl
43bc53:	74 0c                	je     0x43bc61
43bc55:	88 50 30             	mov    %dl,0x30(%eax)
43bc58:	c6 40 41 00          	movb   $0x0,0x41(%eax)
43bc5c:	e8 bf f8 ff ff       	call   0x43b520
43bc61:	c3                   	ret
43bc62:	8b c0                	mov    %eax,%eax
43bc64:	3a 50 41             	cmp    0x41(%eax),%dl
43bc67:	74 08                	je     0x43bc71
43bc69:	88 50 41             	mov    %dl,0x41(%eax)
43bc6c:	e8 03 00 00 00       	call   0x43bc74
43bc71:	c3                   	ret
43bc72:	8b c0                	mov    %eax,%eax
43bc74:	53                   	push   %ebx
43bc75:	8b d8                	mov    %eax,%ebx
43bc77:	80 7b 41 00          	cmpb   $0x0,0x41(%ebx)
43bc7b:	74 1a                	je     0x43bc97
43bc7d:	8b 43 38             	mov    0x38(%ebx),%eax
43bc80:	e8 47 2c 00 00       	call   0x43e8cc
43bc85:	85 c0                	test   %eax,%eax
43bc87:	74 0e                	je     0x43bc97
43bc89:	8a 50 5f             	mov    0x5f(%eax),%dl
43bc8c:	8b c3                	mov    %ebx,%eax
43bc8e:	e8 bd ff ff ff       	call   0x43bc50
43bc93:	c6 43 41 01          	movb   $0x1,0x41(%ebx)
43bc97:	5b                   	pop    %ebx
43bc98:	c3                   	ret
43bc99:	8d 40 00             	lea    0x0(%eax),%eax
43bc9c:	53                   	push   %ebx
43bc9d:	56                   	push   %esi
43bc9e:	8b f2                	mov    %edx,%esi
43bca0:	8b d8                	mov    %eax,%ebx
43bca2:	80 7b 41 00          	cmpb   $0x0,0x41(%ebx)
43bca6:	74 1b                	je     0x43bcc3
43bca8:	8b c6                	mov    %esi,%eax
43bcaa:	8b 15 b8 d9 43 00    	mov    0x43d9b8,%edx
43bcb0:	e8 03 7d fc ff       	call   0x4039b8
43bcb5:	8a 50 5f             	mov    0x5f(%eax),%dl
43bcb8:	8b c3                	mov    %ebx,%eax
43bcba:	e8 91 ff ff ff       	call   0x43bc50
43bcbf:	c6 43 41 01          	movb   $0x1,0x41(%ebx)
43bcc3:	5e                   	pop    %esi
43bcc4:	5b                   	pop    %ebx
43bcc5:	c3                   	ret
43bcc6:	8b c0                	mov    %eax,%eax
43bcc8:	8b 40 34             	mov    0x34(%eax),%eax
43bccb:	0f b6 40 3b          	movzbl 0x3b(%eax),%eax
43bccf:	8a 80 e4 5a 45 00    	mov    0x455ae4(%eax),%al
43bcd5:	c3                   	ret
43bcd6:	8b c0                	mov    %eax,%eax
43bcd8:	83 e2 7f             	and    $0x7f,%edx
43bcdb:	8a 92 e0 5a 45 00    	mov    0x455ae0(%edx),%dl
43bce1:	8b 40 34             	mov    0x34(%eax),%eax
43bce4:	88 50 3b             	mov    %dl,0x3b(%eax)
43bce7:	c3                   	ret
43bce8:	8b 40 34             	mov    0x34(%eax),%eax
43bceb:	0f b6 40 3c          	movzbl 0x3c(%eax),%eax
43bcef:	8a 80 e4 5a 45 00    	mov    0x455ae4(%eax),%al