4299b8:	8b c8                	mov    %eax,%ecx
4299ba:	e8 88 34 00 00       	call   0x42ce47
4299bf:	8b f8                	mov    %eax,%edi
4299c1:	85 ff                	test   %edi,%edi
4299c3:	0f 84 82 00 00 00    	je     0x429a4b
4299c9:	8b cf                	mov    %edi,%ecx
4299cb:	2b 0b                	sub    (%ebx),%ecx
4299cd:	d1 f9                	sar    $1,%ecx
4299cf:	83 f9 1f             	cmp    $0x1f,%ecx
4299d2:	7f 70                	jg     0x429a44
4299d4:	51                   	push   %ecx
4299d5:	ff 33                	push   (%ebx)
4299d7:	8d 45 b0             	lea    -0x50(%ebp),%eax
4299da:	6a 20                	push   $0x20
4299dc:	50                   	push   %eax
4299dd:	ff 15 d4 a4 43 00    	call   *0x43a4d4
4299e3:	83 c4 10             	add    $0x10,%esp
4299e6:	8b c8                	mov    %eax,%ecx
4299e8:	e8 6d d7 ff ff       	call   0x42715a
4299ed:	8b 4b 04             	mov    0x4(%ebx),%ecx
4299f0:	8d 45 b0             	lea    -0x50(%ebp),%eax
4299f3:	50                   	push   %eax
4299f4:	e8 8a 34 00 00       	call   0x42ce83
4299f9:	85 c0                	test   %eax,%eax
4299fb:	74 4e                	je     0x429a4b
4299fd:	50                   	push   %eax
4299fe:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
429a01:	e8 e5 d0 ff ff       	call   0x426aeb
429a06:	85 c0                	test   %eax,%eax
429a08:	0f 84 6e ff ff ff    	je     0x42997c
429a0e:	39 3b                	cmp    %edi,(%ebx)
429a10:	74 23                	je     0x429a35
429a12:	ff 33                	push   (%ebx)
429a14:	ff 15 70 a2 43 00    	call   *0x43a270
429a1a:	89 03                	mov    %eax,(%ebx)
429a1c:	3b c7                	cmp    %edi,%eax
429a1e:	75 f2                	jne    0x429a12
429a20:	eb 13                	jmp    0x429a35
429a22:	6a 01                	push   $0x1
429a24:	57                   	push   %edi
429a25:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
429a28:	e8 12 d6 ff ff       	call   0x42703f
429a2d:	85 c0                	test   %eax,%eax
429a2f:	0f 84 47 ff ff ff    	je     0x42997c
429a35:	ff 33                	push   (%ebx)
429a37:	ff 15 70 a2 43 00    	call   *0x43a270
429a3d:	8b f8                	mov    %eax,%edi
429a3f:	e9 42 ff ff ff       	jmp    0x429986
429a44:	be 05 40 00 80       	mov    $0x80004005,%esi
429a49:	eb 12                	jmp    0x429a5d
429a4b:	be 09 00 02 80       	mov    $0x80020009,%esi
429a50:	eb 0b                	jmp    0x429a5d
429a52:	8b 45 a0             	mov    -0x60(%ebp),%eax
429a55:	8b 4d ac             	mov    -0x54(%ebp),%ecx
429a58:	89 75 ac             	mov    %esi,-0x54(%ebp)
429a5b:	89 08                	mov    %ecx,(%eax)
429a5d:	ff 75 ac             	push   -0x54(%ebp)
429a60:	ff 15 64 a0 43 00    	call   *0x43a064
429a66:	8b c6                	mov    %esi,%eax
429a68:	eb 05                	jmp    0x429a6f
429a6a:	b8 03 40 00 80       	mov    $0x80004003,%eax
429a6f:	e8 7c 13 ff ff       	call   0x41adf0
429a74:	c2 08 00             	ret    $0x8
429a77:	6a 1c                	push   $0x1c
429a79:	b8 73 f2 41 00       	mov    $0x41f273,%eax
429a7e:	e8 8b 13 ff ff       	call   0x41ae0e
429a83:	89 55 d8             	mov    %edx,-0x28(%ebp)
429a86:	33 db                	xor    %ebx,%ebx
429a88:	89 5d f0             	mov    %ebx,-0x10(%ebp)
429a8b:	8d 45 f0             	lea    -0x10(%ebp),%eax
429a8e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
429a91:	50                   	push   %eax
429a92:	68 d8 78 40 00       	push   $0x4078d8
429a97:	51                   	push   %ecx
429a98:	ff 15 04 d0 43 00    	call   *0x43d004
429a9e:	8b f0                	mov    %eax,%esi
429aa0:	85 f6                	test   %esi,%esi
429aa2:	0f 88 dd 00 00 00    	js     0x429b85
429aa8:	6a 04                	push   $0x4
429aaa:	8d 45 dc             	lea    -0x24(%ebp),%eax
429aad:	50                   	push   %eax
429aae:	ff 75 f0             	push   -0x10(%ebp)
429ab1:	ff 15 20 d0 43 00    	call   *0x43d020
429ab7:	8b f0                	mov    %eax,%esi
429ab9:	85 f6                	test   %esi,%esi
429abb:	0f 88 c4 00 00 00    	js     0x429b85
429ac1:	8d 45 ec             	lea    -0x14(%ebp),%eax
429ac4:	50                   	push   %eax
429ac5:	ff 75 f0             	push   -0x10(%ebp)
429ac8:	ff 15 1c a0 43 00    	call   *0x43a01c
429ace:	8b f0                	mov    %eax,%esi
429ad0:	85 f6                	test   %esi,%esi
429ad2:	0f 88 ad 00 00 00    	js     0x429b85
429ad8:	8b 7d ec             	mov    -0x14(%ebp),%edi
429adb:	8d 4f 02             	lea    0x2(%edi),%ecx
429ade:	66 8b 07             	mov    (%edi),%ax
429ae1:	83 c7 02             	add    $0x2,%edi
429ae4:	66 3b c3             	cmp    %bx,%ax
429ae7:	75 f5                	jne    0x429ade
429ae9:	2b f9                	sub    %ecx,%edi
429aeb:	d1 ff                	sar    $1,%edi
429aed:	81 fe 09 12 04 00    	cmp    $0x41209,%esi
429af3:	0f 84 83 00 00 00    	je     0x429b7c
429af9:	3b 5d dc             	cmp    -0x24(%ebp),%ebx
429afc:	73 7e                	jae    0x429b7c
429afe:	6a 04                	push   $0x4
429b00:	8d 45 e4             	lea    -0x1c(%ebp),%eax
429b03:	50                   	push   %eax
429b04:	ff 75 f0             	push   -0x10(%ebp)
429b07:	ff 15 20 d0 43 00    	call   *0x43d020
429b0d:	8b f0                	mov    %eax,%esi
429b0f:	85 f6                	test   %esi,%esi
429b11:	78 60                	js     0x429b73
429b13:	6a 04                	push   $0x4
429b15:	8d 45 e8             	lea    -0x18(%ebp),%eax
429b18:	50                   	push   %eax
429b19:	ff 75 f0             	push   -0x10(%ebp)
429b1c:	ff 15 20 d0 43 00    	call   *0x43d020
429b22:	8b f0                	mov    %eax,%esi
429b24:	85 f6                	test   %esi,%esi
429b26:	78 4b                	js     0x429b73
429b28:	8b 45 e8             	mov    -0x18(%ebp),%eax
429b2b:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
429b2e:	76 3e                	jbe    0x429b6e
429b30:	3b c7                	cmp    %edi,%eax
429b32:	77 3a                	ja     0x429b6e
429b34:	8d 45 e0             	lea    -0x20(%ebp),%eax
429b37:	50                   	push   %eax
429b38:	ff 75 f0             	push   -0x10(%ebp)
429b3b:	ff 15 24 d0 43 00    	call   *0x43d024
429b41:	8b f0                	mov    %eax,%esi
429b43:	85 f6                	test   %esi,%esi
429b45:	78 2c                	js     0x429b73
429b47:	ff 75 0c             	push   0xc(%ebp)
429b4a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
429b4d:	ff 75 08             	push   0x8(%ebp)
429b50:	8b 4d ec             	mov    -0x14(%ebp),%ecx
429b53:	ff 75 d8             	push   -0x28(%ebp)
429b56:	ff 75 e0             	push   -0x20(%ebp)
429b59:	ff 75 e8             	push   -0x18(%ebp)
429b5c:	e8 cc de ff ff       	call   0x427a2d
429b61:	ff 75 e0             	push   -0x20(%ebp)
429b64:	8b f0                	mov    %eax,%esi
429b66:	ff 15 64 a0 43 00    	call   *0x43a064
429b6c:	eb 05                	jmp    0x429b73
429b6e:	be 57 00 07 80       	mov    $0x80070057,%esi
429b73:	43                   	inc    %ebx
429b74:	85 f6                	test   %esi,%esi
429b76:	0f 89 71 ff ff ff    	jns    0x429aed
429b7c:	ff 75 ec             	push   -0x14(%ebp)
429b7f:	ff 15 64 a0 43 00    	call   *0x43a064
429b85:	8d 4d f0             	lea    -0x10(%ebp),%ecx
429b88:	e8 bb 26 fe ff       	call   0x40c248
429b8d:	8b c6                	mov    %esi,%eax
429b8f:	e8 48 12 ff ff       	call   0x41addc
429b94:	c2 08 00             	ret    $0x8
429b97:	6a 6c                	push   $0x6c
429b99:	b8 96 f2 41 00       	mov    $0x41f296,%eax
429b9e:	e8 6b 12 ff ff       	call   0x41ae0e
429ba3:	8b f1                	mov    %ecx,%esi
429ba5:	8d 4d 88             	lea    -0x78(%ebp),%ecx
429ba8:	e8 a1 b2 ff ff       	call   0x424e4e
429bad:	8d 45 88             	lea    -0x78(%ebp),%eax
429bb0:	33 ff                	xor    %edi,%edi
429bb2:	50                   	push   %eax
429bb3:	8b ce                	mov    %esi,%ecx
429bb5:	89 7d fc             	mov    %edi,-0x4(%ebp)
429bb8:	e8 ed 24 00 00       	call   0x42c0aa
429bbd:	8d 4d 88             	lea    -0x78(%ebp),%ecx
429bc0:	e8 ba 07 00 00       	call   0x42a37f
429bc5:	39 7d ec             	cmp    %edi,-0x14(%ebp)
429bc8:	74 11                	je     0x429bdb
429bca:	ff 75 ec             	push   -0x14(%ebp)
429bcd:	57                   	push   %edi
429bce:	ff 15 24 a1 43 00    	call   *0x43a124
429bd4:	50                   	push   %eax
429bd5:	ff 15 20 a1 43 00    	call   *0x43a120
429bdb:	39 7d c8             	cmp    %edi,-0x38(%ebp)
429bde:	74 11                	je     0x429bf1
429be0:	ff 75 c8             	push   -0x38(%ebp)
429be3:	57                   	push   %edi
429be4:	ff 15 24 a1 43 00    	call   *0x43a124
429bea:	50                   	push   %eax
429beb:	ff 15 20 a1 43 00    	call   *0x43a120
429bf1:	39 7d a4             	cmp    %edi,-0x5c(%ebp)
429bf4:	74 11                	je     0x429c07
429bf6:	ff 75 a4             	push   -0x5c(%ebp)
429bf9:	57                   	push   %edi
429bfa:	ff 15 24 a1 43 00    	call   *0x43a124
429c00:	50                   	push   %eax
429c01:	ff 15 20 a1 43 00    	call   *0x43a120
429c07:	e8 d0 11 ff ff       	call   0x41addc
429c0c:	c3                   	ret
429c0d:	8b ff                	mov    %edi,%edi
429c0f:	55                   	push   %ebp
429c10:	8b ec                	mov    %esp,%ebp
429c12:	83 3d a4 8d 43 00 00 	cmpl   $0x0,0x438da4
429c19:	76 45                	jbe    0x429c60
429c1b:	56                   	push   %esi
429c1c:	be b0 8d 43 00       	mov    $0x438db0,%esi
429c21:	56                   	push   %esi
429c22:	ff 15 d4 a2 43 00    	call   *0x43a2d4
429c28:	8b 0d a8 8d 43 00    	mov    0x438da8,%ecx
429c2e:	ba 00 04 00 00       	mov    $0x400,%edx
429c33:	ff 75 08             	push   0x8(%ebp)
429c36:	c1 e1 0b             	shl    $0xb,%ecx
429c39:	03 0d ac 8d 43 00    	add    0x438dac,%ecx
429c3f:	e8 d4 32 00 00       	call   0x42cf18
429c44:	a1 a8 8d 43 00       	mov    0x438da8,%eax
429c49:	33 d2                	xor    %edx,%edx
429c4b:	40                   	inc    %eax
429c4c:	f7 35 a4 8d 43 00    	divl   0x438da4
429c52:	56                   	push   %esi
429c53:	89 15 a8 8d 43 00    	mov    %edx,0x438da8
429c59:	ff 15 9c a2 43 00    	call   *0x43a29c
429c5f:	5e                   	pop    %esi
429c60:	5d                   	pop    %ebp
429c61:	c2 04 00             	ret    $0x4
429c64:	8b ff                	mov    %edi,%edi
429c66:	55                   	push   %ebp
429c67:	8b ec                	mov    %esp,%ebp
429c69:	83 e4 f8             	and    $0xfffffff8,%esp
429c6c:	83 ec 6c             	sub    $0x6c,%esp
429c6f:	a1 08 85 43 00       	mov    0x438508,%eax
429c74:	33 c4                	xor    %esp,%eax
429c76:	89 44 24 68          	mov    %eax,0x68(%esp)
429c7a:	53                   	push   %ebx
429c7b:	56                   	push   %esi
429c7c:	57                   	push   %edi
429c7d:	8b da                	mov    %edx,%ebx
429c7f:	8b c1                	mov    %ecx,%eax
429c81:	89 44 24 14          	mov    %eax,0x14(%esp)
429c85:	8d 7c 24 50          	lea    0x50(%esp),%edi
429c89:	6a 02                	push   $0x2
429c8b:	59                   	pop    %ecx
429c8c:	89 4c 24 44          	mov    %ecx,0x44(%esp)
429c90:	33 d2                	xor    %edx,%edx
429c92:	89 4c 24 48          	mov    %ecx,0x48(%esp)
429c96:	89 54 24 40          	mov    %edx,0x40(%esp)
429c9a:	8d 4c 24 34          	lea    0x34(%esp),%ecx
429c9e:	89 54 24 4c          	mov    %edx,0x4c(%esp)
429ca2:	be 10 5f 40 00       	mov    $0x405f10,%esi
429ca7:	89 54 24 68          	mov    %edx,0x68(%esp)
429cab:	89 54 24 6c          	mov    %edx,0x6c(%esp)
429caf:	89 54 24 70          	mov    %edx,0x70(%esp)
429cb3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
429cb4:	51                   	push   %ecx
429cb5:	8d 88 1c 04 00 00    	lea    0x41c(%eax),%ecx
429cbb:	89 54 24 10          	mov    %edx,0x10(%esp)
429cbf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
429cc0:	89 54 24 14          	mov    %edx,0x14(%esp)
429cc4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
429cc5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
429cc6:	c7 44 24 64 01 00 00 	movl   $0x1,0x64(%esp)
429ccd:	00
429cce:	c7 44 24 68 19 00 00 	movl   $0x19,0x68(%esp)
429cd5:	00
429cd6:	e8 5c e7 ff ff       	call   0x428437
429cdb:	8b 33                	mov    (%ebx),%esi
429cdd:	8b 48 08             	mov    0x8(%eax),%ecx
429ce0:	8b 10                	mov    (%eax),%edx
429ce2:	8b 41 04             	mov    0x4(%ecx),%eax
429ce5:	8d 4c 24 10          	lea    0x10(%esp),%ecx
429ce9:	51                   	push   %ecx
429cea:	8d 4c 24 10          	lea    0x10(%esp),%ecx
429cee:	51                   	push   %ecx
429cef:	8b 4e 4c             	mov    0x4c(%esi),%ecx
429cf2:	8d 04 50             	lea    (%eax,%edx,2),%eax
429cf5:	50                   	push   %eax
429cf6:	53                   	push   %ebx
429cf7:	ff 15 20 a5 43 00    	call   *0x43a520
429cfd:	ff 56 4c             	call   *0x4c(%esi)
429d00:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
429d05:	8b d8                	mov    %eax,%ebx
429d07:	75 05                	jne    0x429d0e
429d09:	e8 9c eb ff ff       	call   0x4288aa
429d0e:	33 c0                	xor    %eax,%eax
429d10:	8d 7c 24 20          	lea    0x20(%esp),%edi
429d14:	ab                   	stos   %eax,%es:(%edi)
429d15:	ab                   	stos   %eax,%es:(%edi)
429d16:	ab                   	stos   %eax,%es:(%edi)
429d17:	ab                   	stos   %eax,%es:(%edi)
429d18:	85 db                	test   %ebx,%ebx
429d1a:	78 62                	js     0x429d7e
429d1c:	8b 44 24 0c          	mov    0xc(%esp),%eax
429d20:	c1 e0 04             	shl    $0x4,%eax
429d23:	50                   	push   %eax
429d24:	ff 15 5c a0 43 00    	call   *0x43a05c
429d2a:	8b c8                	mov    %eax,%ecx
429d2c:	85 c9                	test   %ecx,%ecx
429d2e:	75 05                	jne    0x429d35
429d30:	bb 0e 00 07 80       	mov    $0x8007000e,%ebx
429d35:	85 db                	test   %ebx,%ebx
429d37:	78 45                	js     0x429d7e
429d39:	b8 0c 10 00 00       	mov    $0x100c,%eax
429d3e:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
429d42:	66 89 44 24 20       	mov    %ax,0x20(%esp)
429d47:	33 d2                	xor    %edx,%edx
429d49:	8b 44 24 0c          	mov    0xc(%esp),%eax
429d4d:	89 44 24 28          	mov    %eax,0x28(%esp)
429d51:	85 c0                	test   %eax,%eax
429d53:	74 29                	je     0x429d7e
429d55:	33 c9                	xor    %ecx,%ecx
429d57:	8b 44 24 2c          	mov    0x2c(%esp),%eax
429d5b:	6a 41                	push   $0x41
429d5d:	5e                   	pop    %esi
429d5e:	66 89 34 01          	mov    %si,(%ecx,%eax,1)
429d62:	8d 49 10             	lea    0x10(%ecx),%ecx
429d65:	8b 44 24 2c          	mov    0x2c(%esp),%eax
429d69:	83 64 01 f8 00       	andl   $0x0,-0x8(%ecx,%eax,1)
429d6e:	8b 44 24 2c          	mov    0x2c(%esp),%eax
429d72:	83 64 01 fc 00       	andl   $0x0,-0x4(%ecx,%eax,1)
429d77:	42                   	inc    %edx
429d78:	3b 54 24 0c          	cmp    0xc(%esp),%edx
429d7c:	72 d9                	jb     0x429d57
429d7e:	33 f6                	xor    %esi,%esi
429d80:	85 db                	test   %ebx,%ebx
429d82:	0f 88 bd 00 00 00    	js     0x429e45
429d88:	33 ff                	xor    %edi,%edi
429d8a:	3b 74 24 28          	cmp    0x28(%esp),%esi
429d8e:	0f 83 89 00 00 00    	jae    0x429e1d
429d94:	8b 44 24 10          	mov    0x10(%esp),%eax
429d98:	8b 0c f0             	mov    (%eax,%esi,8),%ecx
429d9b:	85 c9                	test   %ecx,%ecx
429d9d:	74 75                	je     0x429e14
429d9f:	8b 44 24 2c          	mov    0x2c(%esp),%eax
429da3:	51                   	push   %ecx
429da4:	89 44 24 20          	mov    %eax,0x20(%esp)
429da8:	ff 15 5c a0 43 00    	call   *0x43a05c
429dae:	8b 54 24 1c          	mov    0x1c(%esp),%edx
429db2:	89 44 24 30          	mov    %eax,0x30(%esp)
429db6:	89 44 17 0c          	mov    %eax,0xc(%edi,%edx,1)
429dba:	85 c0                	test   %eax,%eax
429dbc:	75 05                	jne    0x429dc3
429dbe:	bb 0e 00 07 80       	mov    $0x8007000e,%ebx
429dc3:	85 db                	test   %ebx,%ebx
429dc5:	78 4a                	js     0x429e11
429dc7:	8b 44 24 10          	mov    0x10(%esp),%eax
429dcb:	8b 0c f0             	mov    (%eax,%esi,8),%ecx
429dce:	89 4c 17 08          	mov    %ecx,0x8(%edi,%edx,1)
429dd2:	8b 44 24 10          	mov    0x10(%esp),%eax
429dd6:	ff 74 f0 04          	push   0x4(%eax,%esi,8)
429dda:	ff 74 24 34          	push   0x34(%esp)
429dde:	51                   	push   %ecx
429ddf:	ff 15 ac a3 43 00    	call   *0x43a3ac
429de5:	85 c0                	test   %eax,%eax
429de7:	75 28                	jne    0x429e11
429de9:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
429ded:	ff 74 1f 0c          	push   0xc(%edi,%ebx,1)
429df1:	ff 15 64 a0 43 00    	call   *0x43a064