438b80:	8b 8d d0 fa ff ff    	mov    -0x530(%ebp),%ecx
438b86:	ff d6                	call   *%esi
438b88:	85 c0                	test   %eax,%eax
438b8a:	79 1a                	jns    0x438ba6
438b8c:	51                   	push   %ecx
438b8d:	57                   	push   %edi
438b8e:	51                   	push   %ecx
438b8f:	ba 04 01 00 00       	mov    $0x104,%edx
438b94:	8d 8d e8 fa ff ff    	lea    -0x518(%ebp),%ecx
438b9a:	e8 11 c7 fd ff       	call   0x4152b0
438b9f:	8b c8                	mov    %eax,%ecx
438ba1:	e8 3a 01 ff ff       	call   0x428ce0
438ba6:	53                   	push   %ebx
438ba7:	53                   	push   %ebx
438ba8:	68 18 27 41 00       	push   $0x412718
438bad:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
438bb3:	68 80 00 00 00       	push   $0x80
438bb8:	50                   	push   %eax
438bb9:	e8 e2 02 ff ff       	call   0x428ea0
438bbe:	8b 75 14             	mov    0x14(%ebp),%esi
438bc1:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
438bc7:	83 c4 14             	add    $0x14,%esp
438bca:	56                   	push   %esi
438bcb:	56                   	push   %esi
438bcc:	68 e4 19 41 00       	push   $0x4119e4
438bd1:	68 80 00 00 00       	push   $0x80
438bd6:	50                   	push   %eax
438bd7:	e8 c4 02 ff ff       	call   0x428ea0
438bdc:	83 c4 14             	add    $0x14,%esp
438bdf:	8d 85 cc fa ff ff    	lea    -0x534(%ebp),%eax
438be5:	6a 00                	push   $0x0
438be7:	6a 00                	push   $0x0
438be9:	50                   	push   %eax
438bea:	6a 00                	push   $0x0
438bec:	56                   	push   %esi
438bed:	6a 00                	push   $0x0
438bef:	68 ff 11 00 00       	push   $0x11ff
438bf4:	ff 15 74 21 45 00    	call   *0x452174
438bfa:	8b 8d cc fa ff ff    	mov    -0x534(%ebp),%ecx
438c00:	51                   	push   %ecx
438c01:	ff 15 34 21 45 00    	call   *0x452134
438c07:	8b d6                	mov    %esi,%edx
438c09:	8b cb                	mov    %ebx,%ecx
438c0b:	e8 10 68 00 00       	call   0x43f420
438c10:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438c13:	5f                   	pop    %edi
438c14:	5e                   	pop    %esi
438c15:	33 cd                	xor    %ebp,%ecx
438c17:	5b                   	pop    %ebx
438c18:	e8 33 43 01 00       	call   0x44cf50
438c1d:	8b e5                	mov    %ebp,%esp
438c1f:	5d                   	pop    %ebp
438c20:	c2 10 00             	ret    $0x10
438c23:	cc                   	int3
438c24:	cc                   	int3
438c25:	cc                   	int3
438c26:	cc                   	int3
438c27:	cc                   	int3
438c28:	cc                   	int3
438c29:	cc                   	int3
438c2a:	cc                   	int3
438c2b:	cc                   	int3
438c2c:	cc                   	int3
438c2d:	cc                   	int3
438c2e:	cc                   	int3
438c2f:	cc                   	int3
438c30:	8b ff                	mov    %edi,%edi
438c32:	55                   	push   %ebp
438c33:	8b ec                	mov    %esp,%ebp
438c35:	81 ec 24 03 00 00    	sub    $0x324,%esp
438c3b:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
438c40:	33 c5                	xor    %ebp,%eax
438c42:	89 45 fc             	mov    %eax,-0x4(%ebp)
438c45:	53                   	push   %ebx
438c46:	56                   	push   %esi
438c47:	8b d1                	mov    %ecx,%edx
438c49:	c7 85 e8 fc ff ff 02 	movl   $0x2,-0x318(%ebp)
438c50:	00 00 00
438c53:	8b 4d 08             	mov    0x8(%ebp),%ecx
438c56:	33 c0                	xor    %eax,%eax
438c58:	57                   	push   %edi
438c59:	8b 7d 14             	mov    0x14(%ebp),%edi
438c5c:	89 95 e4 fc ff ff    	mov    %edx,-0x31c(%ebp)
438c62:	89 8d e0 fc ff ff    	mov    %ecx,-0x320(%ebp)
438c68:	c7 85 ec fc ff ff 03 	movl   $0x3,-0x314(%ebp)
438c6f:	00 00 00
438c72:	3b bc 85 e8 fc ff ff 	cmp    -0x318(%ebp,%eax,4),%edi
438c79:	0f 84 c1 00 00 00    	je     0x438d40
438c7f:	40                   	inc    %eax
438c80:	83 f8 02             	cmp    $0x2,%eax
438c83:	72 ed                	jb     0x438c72
438c85:	8b 5d 10             	mov    0x10(%ebp),%ebx
438c88:	85 db                	test   %ebx,%ebx
438c8a:	0f 89 b0 00 00 00    	jns    0x438d40
438c90:	8b 02                	mov    (%edx),%eax
438c92:	8d 95 f0 fc ff ff    	lea    -0x310(%ebp),%edx
438c98:	52                   	push   %edx
438c99:	51                   	push   %ecx
438c9a:	c7 85 ec fc ff ff 00 	movl   $0x0,-0x314(%ebp)
438ca1:	00 00 00
438ca4:	8b 70 1c             	mov    0x1c(%eax),%esi
438ca7:	8b ce                	mov    %esi,%ecx
438ca9:	ff 15 84 23 45 00    	call   *0x452384
438caf:	8b 8d e4 fc ff ff    	mov    -0x31c(%ebp),%ecx
438cb5:	ff d6                	call   *%esi
438cb7:	85 c0                	test   %eax,%eax
438cb9:	79 1f                	jns    0x438cda
438cbb:	51                   	push   %ecx
438cbc:	ff b5 e0 fc ff ff    	push   -0x320(%ebp)
438cc2:	ba 04 01 00 00       	mov    $0x104,%edx
438cc7:	51                   	push   %ecx
438cc8:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
438cce:	e8 dd c5 fd ff       	call   0x4152b0
438cd3:	8b c8                	mov    %eax,%ecx
438cd5:	e8 06 00 ff ff       	call   0x428ce0
438cda:	53                   	push   %ebx
438cdb:	53                   	push   %ebx
438cdc:	68 18 27 41 00       	push   $0x412718
438ce1:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
438ce7:	68 80 00 00 00       	push   $0x80
438cec:	50                   	push   %eax
438ced:	e8 ae 01 ff ff       	call   0x428ea0
438cf2:	83 c4 14             	add    $0x14,%esp
438cf5:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
438cfb:	57                   	push   %edi
438cfc:	57                   	push   %edi
438cfd:	68 e4 19 41 00       	push   $0x4119e4
438d02:	68 80 00 00 00       	push   $0x80
438d07:	50                   	push   %eax
438d08:	e8 93 01 ff ff       	call   0x428ea0
438d0d:	83 c4 14             	add    $0x14,%esp
438d10:	8d 85 ec fc ff ff    	lea    -0x314(%ebp),%eax
438d16:	6a 00                	push   $0x0
438d18:	6a 00                	push   $0x0
438d1a:	50                   	push   %eax
438d1b:	6a 00                	push   $0x0
438d1d:	57                   	push   %edi
438d1e:	6a 00                	push   $0x0
438d20:	68 ff 11 00 00       	push   $0x11ff
438d25:	ff 15 74 21 45 00    	call   *0x452174
438d2b:	ff b5 ec fc ff ff    	push   -0x314(%ebp)
438d31:	ff 15 34 21 45 00    	call   *0x452134
438d37:	8b d7                	mov    %edi,%edx
438d39:	8b cb                	mov    %ebx,%ecx
438d3b:	e8 e0 66 00 00       	call   0x43f420
438d40:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438d43:	5f                   	pop    %edi
438d44:	5e                   	pop    %esi
438d45:	33 cd                	xor    %ebp,%ecx
438d47:	5b                   	pop    %ebx
438d48:	e8 03 42 01 00       	call   0x44cf50
438d4d:	8b e5                	mov    %ebp,%esp
438d4f:	5d                   	pop    %ebp
438d50:	c2 10 00             	ret    $0x10
438d53:	cc                   	int3
438d54:	cc                   	int3
438d55:	cc                   	int3
438d56:	cc                   	int3
438d57:	cc                   	int3
438d58:	cc                   	int3
438d59:	cc                   	int3
438d5a:	cc                   	int3
438d5b:	cc                   	int3
438d5c:	cc                   	int3
438d5d:	cc                   	int3
438d5e:	cc                   	int3
438d5f:	cc                   	int3
438d60:	8b ff                	mov    %edi,%edi
438d62:	55                   	push   %ebp
438d63:	8b ec                	mov    %esp,%ebp
438d65:	56                   	push   %esi
438d66:	8b f1                	mov    %ecx,%esi
438d68:	57                   	push   %edi
438d69:	8d 4e 08             	lea    0x8(%esi),%ecx
438d6c:	c7 06 ec 11 40 00    	movl   $0x4011ec,(%esi)
438d72:	e8 19 ba fe ff       	call   0x424790
438d77:	85 c0                	test   %eax,%eax
438d79:	75 0a                	jne    0x438d85
438d7b:	6a ff                	push   $0xffffffff
438d7d:	8d 4e 08             	lea    0x8(%esi),%ecx
438d80:	e8 5b bd fe ff       	call   0x424ae0
438d85:	8b 46 0c             	mov    0xc(%esi),%eax
438d88:	85 c0                	test   %eax,%eax
438d8a:	74 52                	je     0x438dde
438d8c:	8d 64 24 00          	lea    0x0(%esp),%esp
438d90:	8b 50 04             	mov    0x4(%eax),%edx
438d93:	8b 08                	mov    (%eax),%ecx
438d95:	85 d2                	test   %edx,%edx
438d97:	74 04                	je     0x438d9d
438d99:	89 0a                	mov    %ecx,(%edx)
438d9b:	eb 03                	jmp    0x438da0
438d9d:	89 4e 10             	mov    %ecx,0x10(%esi)
438da0:	8b 10                	mov    (%eax),%edx
438da2:	8b 48 04             	mov    0x4(%eax),%ecx
438da5:	85 d2                	test   %edx,%edx
438da7:	74 05                	je     0x438dae
438da9:	89 4a 04             	mov    %ecx,0x4(%edx)
438dac:	eb 03                	jmp    0x438db1
438dae:	89 4e 0c             	mov    %ecx,0xc(%esi)
438db1:	50                   	push   %eax
438db2:	6a 00                	push   $0x0
438db4:	ff 35 00 12 45 00    	push   0x451200
438dba:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
438dc0:	c7 40 04 ff ff ff ff 	movl   $0xffffffff,0x4(%eax)
438dc7:	ff 15 18 21 45 00    	call   *0x452118
438dcd:	85 c0                	test   %eax,%eax
438dcf:	75 06                	jne    0x438dd7
438dd1:	ff 15 6c 20 45 00    	call   *0x45206c
438dd7:	8b 46 0c             	mov    0xc(%esi),%eax
438dda:	85 c0                	test   %eax,%eax
438ddc:	75 b2                	jne    0x438d90
438dde:	6a 01                	push   $0x1
438de0:	8d 4e 08             	lea    0x8(%esi),%ecx
438de3:	e8 58 c0 fd ff       	call   0x414e40
438de8:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
438dec:	c7 06 54 12 40 00    	movl   $0x401254,(%esi)
438df2:	74 19                	je     0x438e0d
438df4:	56                   	push   %esi
438df5:	6a 00                	push   $0x0
438df7:	ff 35 00 12 45 00    	push   0x451200
438dfd:	ff 15 18 21 45 00    	call   *0x452118
438e03:	85 c0                	test   %eax,%eax
438e05:	75 06                	jne    0x438e0d
438e07:	ff 15 6c 20 45 00    	call   *0x45206c
438e0d:	5f                   	pop    %edi
438e0e:	8b c6                	mov    %esi,%eax
438e10:	5e                   	pop    %esi
438e11:	5d                   	pop    %ebp
438e12:	c2 04 00             	ret    $0x4
438e15:	cc                   	int3
438e16:	cc                   	int3
438e17:	cc                   	int3
438e18:	cc                   	int3
438e19:	cc                   	int3
438e1a:	cc                   	int3
438e1b:	cc                   	int3
438e1c:	cc                   	int3
438e1d:	cc                   	int3
438e1e:	cc                   	int3
438e1f:	cc                   	int3
438e20:	8b ff                	mov    %edi,%edi
438e22:	55                   	push   %ebp
438e23:	8b ec                	mov    %esp,%ebp
438e25:	8b 4d 08             	mov    0x8(%ebp),%ecx
438e28:	ba 02 fc ff ff       	mov    $0xfffffc02,%edx
438e2d:	e8 ee f9 fe ff       	call   0x428820
438e32:	5d                   	pop    %ebp
438e33:	c2 04 00             	ret    $0x4
438e36:	cc                   	int3
438e37:	cc                   	int3
438e38:	cc                   	int3
438e39:	cc                   	int3
438e3a:	cc                   	int3
438e3b:	cc                   	int3
438e3c:	cc                   	int3
438e3d:	cc                   	int3
438e3e:	cc                   	int3
438e3f:	cc                   	int3
438e40:	8b ff                	mov    %edi,%edi
438e42:	55                   	push   %ebp
438e43:	8b ec                	mov    %esp,%ebp
438e45:	53                   	push   %ebx
438e46:	8b 59 0c             	mov    0xc(%ecx),%ebx
438e49:	56                   	push   %esi
438e4a:	57                   	push   %edi
438e4b:	85 db                	test   %ebx,%ebx
438e4d:	74 75                	je     0x438ec4
438e4f:	8b 4d 08             	mov    0x8(%ebp),%ecx
438e52:	8d 7b 08             	lea    0x8(%ebx),%edi
438e55:	85 ff                	test   %edi,%edi
438e57:	75 04                	jne    0x438e5d
438e59:	33 c0                	xor    %eax,%eax
438e5b:	eb 17                	jmp    0x438e74
438e5d:	8b c7                	mov    %edi,%eax
438e5f:	8d 50 02             	lea    0x2(%eax),%edx
438e62:	66 8b 08             	mov    (%eax),%cx
438e65:	83 c0 02             	add    $0x2,%eax
438e68:	66 85 c9             	test   %cx,%cx
438e6b:	75 f5                	jne    0x438e62
438e6d:	8b 4d 08             	mov    0x8(%ebp),%ecx
438e70:	2b c2                	sub    %edx,%eax
438e72:	d1 f8                	sar    $1,%eax
438e74:	85 c9                	test   %ecx,%ecx
438e76:	75 04                	jne    0x438e7c
438e78:	33 d2                	xor    %edx,%edx
438e7a:	eb 1b                	jmp    0x438e97
438e7c:	8b d1                	mov    %ecx,%edx
438e7e:	8d 72 02             	lea    0x2(%edx),%esi
438e81:	66 8b 0a             	mov    (%edx),%cx
438e84:	83 c2 02             	add    $0x2,%edx
438e87:	66 85 c9             	test   %cx,%cx
438e8a:	75 f5                	jne    0x438e81
438e8c:	2b d6                	sub    %esi,%edx
438e8e:	d1 fa                	sar    $1,%edx
438e90:	3b c2                	cmp    %edx,%eax
438e92:	72 2b                	jb     0x438ebf
438e94:	8b 4d 08             	mov    0x8(%ebp),%ecx
438e97:	3b c2                	cmp    %edx,%eax
438e99:	77 24                	ja     0x438ebf
438e9b:	33 f6                	xor    %esi,%esi
438e9d:	85 c0                	test   %eax,%eax
438e9f:	74 15                	je     0x438eb6
438ea1:	8b d1                	mov    %ecx,%edx
438ea3:	2b f9                	sub    %ecx,%edi
438ea5:	66 8b 0c 17          	mov    (%edi,%edx,1),%cx
438ea9:	66 3b 0a             	cmp    (%edx),%cx
438eac:	75 11                	jne    0x438ebf
438eae:	46                   	inc    %esi
438eaf:	83 c2 02             	add    $0x2,%edx
438eb2:	3b f0                	cmp    %eax,%esi
438eb4:	72 ef                	jb     0x438ea5
438eb6:	5f                   	pop    %edi
438eb7:	5e                   	pop    %esi
438eb8:	8b c3                	mov    %ebx,%eax
438eba:	5b                   	pop    %ebx
438ebb:	5d                   	pop    %ebp
438ebc:	c2 04 00             	ret    $0x4
438ebf:	8b 5b 04             	mov    0x4(%ebx),%ebx
438ec2:	eb 87                	jmp    0x438e4b
438ec4:	5f                   	pop    %edi
438ec5:	5e                   	pop    %esi
438ec6:	33 c0                	xor    %eax,%eax
438ec8:	5b                   	pop    %ebx
438ec9:	5d                   	pop    %ebp
438eca:	c2 04 00             	ret    $0x4
438ecd:	cc                   	int3
438ece:	cc                   	int3
438ecf:	cc                   	int3
438ed0:	8b ff                	mov    %edi,%edi
438ed2:	55                   	push   %ebp
438ed3:	8b ec                	mov    %esp,%ebp
438ed5:	81 ec 38 0a 00 00    	sub    $0xa38,%esp
438edb:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
438ee0:	33 c5                	xor    %ebp,%eax
438ee2:	89 45 fc             	mov    %eax,-0x4(%ebp)
438ee5:	8b 45 0c             	mov    0xc(%ebp),%eax
438ee8:	8b 55 08             	mov    0x8(%ebp),%edx
438eeb:	53                   	push   %ebx
438eec:	8b d9                	mov    %ecx,%ebx
438eee:	89 85 d0 f5 ff ff    	mov    %eax,-0xa30(%ebp)
438ef4:	56                   	push   %esi
438ef5:	57                   	push   %edi
438ef6:	8d 8d ec fb ff ff    	lea    -0x414(%ebp),%ecx
438efc:	8b 03                	mov    (%ebx),%eax
438efe:	51                   	push   %ecx
438eff:	52                   	push   %edx
438f00:	8b 70 1c             	mov    0x1c(%eax),%esi
438f03:	8b ce                	mov    %esi,%ecx
438f05:	ff 15 84 23 45 00    	call   *0x452384
438f0b:	8b cb                	mov    %ebx,%ecx